从语法层面上讲。
1,1.5增加并发包(java.util.concurrent)
2,泛型。
3,增强的for循环
4,增加可变参数,例如:public static void main(String[] args)现在可以写成public static void main(String... args)
5,枚举
6,Annotation
性能层面上,
1,自动选择垃圾收集器,Heap大小和运行时编译器。
2,高精度的时间测量。以前使用System.currentTimeMillis,现在可使用System.nanoTime,精度更高一些。
3,增加了StringBuilder
4,针对于X86,X64 CPU做的优化。例如System.arrayCopy
5,在X86和AMD64上支撑大的内存页。
6,锁粗化。
应用场景层面上,
在jdk1.5之前,java多用于中小企业应用和手机应用。很少用语大型高并发场景。
一方面是基于java本身的性能担心。
另一方面是成功案例也不多。
现在几乎各家互联网网站都在使用java,只是承担的角色可能不同。
比如阿里系的网站,Facebook的hadoop集群,搜狐,ebay这些都是基于java搭建的典型。
也反映了java在大型高并发的应用场景是可行的。
1,1.5增加并发包(java.util.concurrent)
2,泛型。
3,增强的for循环
4,增加可变参数,例如:public static void main(String[] args)现在可以写成public static void main(String... args)
5,枚举
6,Annotation
性能层面上,
1,自动选择垃圾收集器,Heap大小和运行时编译器。
2,高精度的时间测量。以前使用System.currentTimeMillis,现在可使用System.nanoTime,精度更高一些。
3,增加了StringBuilder
4,针对于X86,X64 CPU做的优化。例如System.arrayCopy
5,在X86和AMD64上支撑大的内存页。
6,锁粗化。
应用场景层面上,
在jdk1.5之前,java多用于中小企业应用和手机应用。很少用语大型高并发场景。
一方面是基于java本身的性能担心。
另一方面是成功案例也不多。
现在几乎各家互联网网站都在使用java,只是承担的角色可能不同。
比如阿里系的网站,Facebook的hadoop集群,搜狐,ebay这些都是基于java搭建的典型。
也反映了java在大型高并发的应用场景是可行的。