`

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_Thinking in Java(中文版 由yyc,spirit整理).chm

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

    张孝祥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 嵌入...

    仿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 ...

    基于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...

    Java虚拟机

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

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 12 1.4.5 64位虚拟机 / 13 1.5 实战:自己编译JDK / 13 1.5.1 获取JDK源码 / 13 1.5.2 系统需求 / 14 1.5.3 构建编译环境 / 15 1.5.4 准备依赖项 / 17 1.5.5 进行编译 / 18 1.6 本章小结 / 21 第二部分 ...

    JAVA核心知识点整理(有效)

    标记整理算法(Mark-Compact).................................................................................................. 28 分代收集算法 ..............................................................

Global site tag (gtag.js) - Google Analytics