`

jdk1.4 和JDK1.5的区别(整理自网络)

    博客分类:
  • Java
阅读更多

从语法层面上讲。
1. 1.5增加并发包(java.util.concurrent)
2. 泛型。
3. 增强的for循环
4. 增加可变参数,例如:public static void main(String[] args)现在可以写成public static void main(String... args) ;

不确定参数到底有几个时倒是可以用这种方式来代替以往传递一个数组的方式。
可变参数同时可以跟固定的参数混合使用。
但同时可变参数有一些限制:一个方法的参数中不能同时拥有2种类型的可变参数,也就是说:
public void foo(String ... str,Integer ... i)这样是不行的
5. 枚举
6. Annotation


性能层面上,
1. 自动选择垃圾收集器,Heap大小和运行时编译器。
2. 高精度的时间测量。以前使用System.currentTimeMillis,现在可使用System.nanoTime,精度更高一些。

 

  System.currentTime(),它的精度是毫秒,返回值 是 从1970.1.1的零点开始到当前时间的毫秒数,理论上这个可以用来算当前的时间,而且可以用这个值来构造一个Date对象。但是 System.nanoTime()却是不同,代码注释上有这么一句: The value returned represents nanoseconds since some fixed but arbitrary time (perhaps in the future, so values may be negative).

这个返回值是一个从确定的值算起的,但是这个值是任意的,可能是一个未来的时间,所以返回值有可能是负数。

所以说这个System.nanoTime()方法只能用来计时,例如:

long s = System.nanoTime();

....

System.out.println(System.nanoTime() - s);


3. 增加了StringBuilder
4. 针对于X86,X64 CPU做的优化。例如System.arrayCopy
5. 在X86和AMD64上支撑大的内存页。
6. 锁粗化。


应用场景层面上,
在jdk1.5之前,java多用于中小企业应用和手机应用。很少用语大型高并发场景。
一方面是基于java本身的性能担心。
另一方面是成功案例也不多。
现在几乎各家互联网网站都在使用java,只是承担的角色可能不同。
比如阿里系的网站,Facebook的hadoop集群,搜狐,ebay这些都是基于java搭建的典型。
也反映了java在大型高并发的应用场景是可行的。

分享到:
评论

相关推荐

    JDK 1.5的泛型實現(Generics in JDK 1.5)

    今天,JDK1.5終於內建泛型特性,不僅編譯器不再需要 任何外力(外掛附件)的幫助,整個 Java標準程式庫也被翻新(retrofit),許多 角落針對泛型做了改寫。 讓我們把帶有「參數化型別」(parameterized types)的 ...

    java 基础的课堂笔记整理

    1.1如何安装jdk 2 1.2检查是否安装成功 2 1.3当编译java程序报错, 2 1.4注意: 3 1.5DOS命令 3 1.6注释 3 1.7 实例演示: 3 1.7.1 HelloWorld程序 3 2.1八种基本类型: 4 2.2If分支语句 里面使用boolean来控制。 4 ...

    Java面试题总结.doc

    3. **JVM版本**:JVM有多个版本,如JDK 1.3、1.4、1.5(J2SE 5.0)、1.6(Java SE 6)、1.7(Java SE 7)、1.8(Java SE 8)、11(Java SE 11)等,每个版本都有性能优化和新特性的引入。 4. **Char与汉字**:`Char...

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm ------------------------------------------------- 本教程由yyc,spirit整理 ------------------------------------------------- “Thinking in Java...

    hadoop-2.7.3+zookeeper-3.4.8+hadoop-2.7.3分布式环境搭建整理(王三旗亲试成功安装)

    本文档指导您搭建了 Hadoop 分布式环境,包括安装和配置 Hadoop、ZooKeeper 和 HBase,同时也介绍了相关的网络配置和 Linux 系统安装。希望本文档能够帮助您更好地理解 Hadoop 分布式环境的搭建和配置。

    张孝祥Java就业培训教程.pdf

    作者从事了多年的软件开发和培训教学,非常清楚那些容易使新手困惑的问题,在学习过程中会碰到的拦路虎,作者结合了多年实际开发与教学经验,收集了众多学员在学习中常提到的问题,对平时讲课的内容进行了精心整理。...

    Thinking in Java(中文版 由yyc,spirit整理).chm

    2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 2.8.1 注释文档 2.8.2 具体语法 2.8.3 嵌入...

    Java的几个重要版本_动力节点Java学院整理

    4. **JDK 5.0**(2004年,原名J2SE 1.5):这是一个里程碑式的版本,引入了泛型、自动装箱/拆箱、增强for循环(foreach)、静态导入以及变长参数等,显著提升了代码的可读性和易用性。泛型的引入允许在编译时进行...

    java学习笔记整理

    ##### 1.3 JDK的安装和使用 JDK(Java Development Kit)不仅包含了运行Java程序所需的Java虚拟机(JVM),还包括了一些开发工具,例如编译器、调试器等。根据不同的操作系统和位数,需要安装不同的JDK版本。 - **...

    仿WebQQ在线桌面版28个html格式帮助文档

    暂时整理了28个常用的帮助手册,列表如下: 1、jquery 1.5帮助手册 2、jquery 1.6帮助手册 3、jquery 1.7帮助手册 4、jquery 1.8帮助手册 5、SeajS中文帮助手册 6、XMLHttp中文帮助手册 7、Struts2 API 8、JDK1.6 ...

    MyEclipse.6.Java.开发中文教程

    提供了如何整理和优化import语句的方法。 - **3.2.6 添加、修改、删除JRE** 介绍了如何在Eclipse中管理和配置JRE环境。 - **3.2.7 查看类定义、层次和源码** 指导如何查看类的相关信息,包括类定义、继承关系...

    基于JSP酒店管理系统设计软件程序源码+数据库+WORD毕业设计论文文档.zip

    1.4软件和硬件需求 3 1.5本章小结 3 2 .需求分析 4 2.1需求调研 4 2.2可行性分析 4 2.2.1技术的可行性 4 2.2.2经济的可行性 4 2.2.3操作可行性 4 2.2.4法律的可行性 4 2.3系统用户用例图 5 2.3.1管理员用例图 5 2.4...

    MyEclipse 6 Java EE 开发中文手册.pdf

    #### 1.5 MySQL 5 数据库服务器下载、安装和运行 - **MySQL 5 官方版本的下载和安装**:从 MySQL 官网下载 MySQL 5 并进行安装。 - **MySQL 5 绿色版的下载安装和运行**: - 下载 MySQL 5 的绿色版本。 - 解压...

    Java虚拟机

    第2版在第1版的基础上做了很大的改进:根据最新的JDK1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的...

Global site tag (gtag.js) - Google Analytics