Java 小记
本文内容来源于互联网,并稍作整理。
1995 — Java诞生。
1996 — JDK 1发布
主要包括运行环境和开发工具。
1997 — JDK 1.1发布
推出JIT(Just-In-Time)编译器,改进AWT 1.1。
1998-1999 — JDK 1.2发布
JAVA2企业平台J2EE发布。将JDK 1.2改名为J2SDK,将Java改名为Java 2。Java 2平台分为三大块:J2SE,J2EE,J2ME。API标准和制定。Swing库、Thread类修改。
2000 — JDK 1.3发布
1、java.lang.StrictMath数字运算
2、Timer API修改
3、Collections扩展
4、Virtual Machine Shutdown Hooks
5、DNS服务:在JNDI接口方面,加入了一个DNS服务的实现
6、Jini实现:可以方便地把诸如打印机、摄像机和磁盘驱动设备插入现有网络中,并且能自动搜索已在网上的设备可以提供的服务并享用这些服务
7、XML支持
8、引入HotSpot虚拟机
9、推出SCSL(Sun社区源代码许可)许可协议
2002 — JDK 1.4发布
1、HotSpot虚拟机:HotSpot虚拟机能够很大程度上提高性
能,所以J2SE 1.4已经不支持传统的虚拟机。现在,启动应用程序应该通过-client或者-server选项来启动。
2、锁机制:由于旧版的HotSpot虚拟机的锁机制会导制严重的性能和功能问题,J2SE 1.4已经改写了该锁机制。
3、安全API:JCE、JSSE和JAAS这三大安全API从optional API移到了core API中。这样,J2SE 1.4的安全域(SecureRandom)实现可以利用操作系统提供的安全机制,以便缩短应用程序的启动时间。
4、RandomAccess标记接口:加入了RandomAccess标记接口,如果一个List实现了该接口,则表示它支持快速的随机访问,这样可以提高List访问的速度。
5、LinkedHashMap:加入了LinkedHashMap,这是一个插入排序的Map实现,但它的运行速度和HashMap一样快。
6、反射:很多产品中都要使用反射(Reflection)机制,但大家知道,反射是相当耗时的,所以,J2SE 1.4中重写了java.lang.reflect.Field、java.lang.reflect.Method.invoke()、java.lang.reflect.Constructor.newInstance()和Class.newInstance()等方法,使得我们利用反射也能写出高性能的应用程序。
7、64位计算:J2SE 1.4支持64位计算。
8、新的I/O API:J2SE 1.4在API层面最大的变动,就是它更新了原有的java.io包,以及加入了一组更有效率更多功能的New I/O API。
9、断言和日志处理:J2SE 1.4版本在Java语言层面上加入了断言(assert关键字),在API层面上加入日志处理API,这些为程序的调试提供了强有力的支持。
2004 — JDK5.0(JDK 1.5)发布
1、泛型。
2、For-Each。
3、自动装包/拆包(int Integer)。
4、枚举
5、可变参数。
6、静态导入(out.println())
2009 — JDK1.6 发布
1、Desktop类和SystemTray类(前者用来打开系统默认浏览器指定的URL,打开默认邮箱。后者在系统托盘创建托盘程序)。
2、使用JAXB2来实现对象与XML之间的映射。
3、STAX
4、Compiler API
5、轻量级HttpServer API
6、插入式注释处理API(Pluggable Annotation Processing API)
7、用Console开发控制台程序
8、对脚本语言的支持
9、Common Annotations
分享到:
相关推荐
在准备提新车时,有很多细节需要注意,以确保你所购买的车辆是全新的,并且没有任何问题。以下是一些关键的提车前注意事项: 1. **漆面检查**:漆面是车辆外观的重要组成部分,新车应该没有刮痕或修补痕迹。...
这份"java小记.rar"压缩包很可能包含了作者多年从事Java Web开发的经验总结,可能包括代码示例、笔记、最佳实践等内容。 在Java Web开发中,Servlet是核心部分,它是一个Java类,用于扩展服务器的功能,处理HTTP...
在Java编程语言中,`transient`关键字是一个非常重要的概念,它与对象的序列化过程紧密相关。序列化是将一个对象的状态转换为字节流,以便存储或在网络中传输。当一个类实现了`Serializable`接口,该类的对象就可以...
时间和日期中常用到的几个类: java.util.Date, java.util.Calendar, java.util.GregorainCalendar, java.text.DateFormat, java.text.SimpleDateFormat
标题 "myeclipse试用小记----Hibernate多对一单向关联(1)" 提到的是在MyEclipse集成开发环境中使用Hibernate框架实现多对一单向关联的实践记录。这个主题涉及到Java后端开发中的数据库关系映射和对象持久化技术。 ...
标题中的“myeclipse试用小记----Hibernate多对一自身关联(3)”表明了这篇内容是关于MyEclipse IDE的使用体验,特别聚焦在Hibernate框架中的多对一自身关联关系的实践与理解。Hibernate是Java开发中常用的一个对象...
本文将详述“liferay开发小记——开发环境的搭建”这一主题,旨在帮助开发者们快速有效地设置自己的开发环境,从而顺利进行Liferay插件或portlet的开发。 首先,我们需要了解Liferay开发的基础。Liferay提供了多种...
在本篇【myeclipse试用小记----Hibernate多对一双向关联(2)】中,博主主要探讨了使用MyEclipse集成开发环境与Hibernate框架进行多对一双向关联的配置与实现。MyEclipse是Eclipse的一个强大扩展,特别适合Java Web...
在本项目中,我们将探索如何利用Linux操作系统,Java编程语言,Python3,NumPy库以及STL文件格式来实现3D打印技术。这是一个跨学科的综合应用,涉及到计算机科学、软件开发以及制造技术。 首先,Linux是开源的操作...
《Xstream使用小记》 Xstream是一款Java库,它提供了简单且强大的方式来序列化和反序列化Java对象到XML,以及从XML回转换为Java对象。在本文中,我们将深入探讨Xstream的核心概念、使用场景以及如何通过实例进行...
本文将围绕"Hessian的字段序列化小记"这一主题,深入探讨Hessian的工作原理、序列化过程以及其在实际应用中的价值。 Hessian的目标是通过减少数据传输的体积来提高网络通信的效率。相比于XML和JSON等文本格式,...
踩坑小记 java heap size 现象:项目创建完成sync插件Sdk报 java heap size 解决步骤:gradle.properties 添加org.gradle.jvmargs=-Xmx2048M 结果:7m32s693后同步成功 代码无联想,异常 ,ClassNotFound 现象:创建...
这个版本是基于《JDK安装小记》中所使用的,因此对于学习和实践Java 8编程来说非常重要。 **1. Java 8的关键特性** Java 8是Java历史上的一个重大更新,引入了许多新特性,旨在提高开发效率和代码可读性: - **...
这篇小记主要关注了几个关键领域:持久层、MVC框架、视图层、JavaScript库以及缓存技术。下面将详细阐述这些知识点。 1. **持久层**: - **Hibernate**:是一个流行的ORM(对象关系映射)框架,允许开发者以面向...
这篇小记将深入探讨Spring的主要组件和关键特性,带你一步步走进Spring的世界。 首先,我们要理解Spring的核心——依赖注入。在传统的Java程序中,对象之间的依赖关系通常是硬编码的,这使得代码难以测试和维护。...
本项目是一款基于Java和SpringBoot框架的微信小程序开源记账账本设计源码,包含705个文件,涵盖128个JavaScript文件、111个Java源文件、110个wxss样式文件、107个json配置文件、103个wxml模板文件、68个TypeScript...
【标题】"Flex整合J2EE开发小记+源码下载"揭示了本文将探讨如何在Java企业级环境中(J2EE)集成Adobe Flex技术,用于构建富互联网应用程序(RIA)。Flex是一种强大的客户端开发框架,它允许开发人员创建交互性强、...
```java @Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(MessageEvent event) { // 处理事件逻辑 } ``` 在这个例子中,`onMessageEvent` 方法会接收到 `MessageEvent` 类型的事件,并在主线...