Java 7 的新特性一览表

2011年07月27日

官方说是 7月28日 正式发布 Java 7 ,正常的话我们应该在 7月29日 看到这个版本。很快了,就两天时间。

发布之前让我们先来看看 Java 7 都有什么新特性吧。

Java 7 的架构图:

新特性一览表:

Swing

网络

集合

RIA/发布

XML

java.lang 包

Java 虚拟机

Java I/O

java.nio.file 包以及相关的包 java.nio.file.attribute 提供对文件 I/O 以及访问文件系统的全面支持,请看 File I/O (featuring NIO.2).

  • 目录 <Java home>/sample/nio/chatserver/ 包含使用 java.nio.file 包的演示程序
  • 目录 <Java home>/demo/nio/zipfs/ 包含 NIO.2 NFS 文件系统的演示程序

安全性

并发

  • fork/join 框架,基于 ForkJoinPool 类,是 Executor 接口的实现,设计它用来进行高效的运行大量任务;使用 work-stealing 技术用来保证大量的 worker 线程工作,特别适合多处理器环境,详情请看 Fork/Join
    • 目录<Java home>/sample/forkjoin/ 包含了 fork/join 框架的演示程序
  • ThreadLocalRandom 类class 消除了使用伪随机码线程的竞争,请看 Concurrent Random Numbers.
  • Phaser 类是一个新的同步的屏障,与 CyclicBarrier 类似.

Java 2D

国际化

  • 支持 Unicode 6.0.0 
    • 目录 <Java home>/demo/jfc/Font2DTest/ 包含 Unicode 6.0 的演示程序
    • Java SE 7 可容纳在 ISO 4217 中新的货币,详情请看 Currency 类.

Java 编程语言特性

JDBC 4.1

  • 支持使用 try-with-resources 语句进行自动的资源释放,包括连接、语句和结果集
  • 支持 RowSet 1.1
展开阅读全文
97 收藏
分享
加载中
最新评论 (83)
终于把评论看完了,各位咬得很开心啊
深入使用java3年,感情深厚
自己写小东西玩用python,快速、方便、内存占用少,不过遇到过几次进程无缘无故挂了的情况,不敢用于生产环境
正将工作从java迁往scala
2013-03-28 17:33
0
回复
举报

引用来自“guopeihui”的评论

引用来自“zantesu”的评论

我觉得Java的几个无法忍受的缺陷
不是纯面向对象的
不支持泛型
不支持属性
不支持匿名方法
不支持方法对象传递
不支持yield机制
不支持lambda表达式
不支持类型推断
还有就是上面提到的Checked Exception

-----

为什么Java的lambda表达式迟迟不能实装,估计就是因为Checked Exception的缘故
为什么总是有人说建议学习Python/Ruby,就是相比落后的Java,Python/Ruby的编程思维,生产力能得到极大的解放

我就用java泛型啊,你是用C#的吧?

java的泛型只是语法糖,编译之后仍是传统代码
2013-01-01 11:25
0
回复
举报

引用来自“zantesu”的评论

我觉得Java的几个无法忍受的缺陷
不是纯面向对象的
不支持泛型
不支持属性
不支持匿名方法
不支持方法对象传递
不支持yield机制
不支持lambda表达式
不支持类型推断
还有就是上面提到的Checked Exception

-----

为什么Java的lambda表达式迟迟不能实装,估计就是因为Checked Exception的缘故
为什么总是有人说建议学习Python/Ruby,就是相比落后的Java,Python/Ruby的编程思维,生产力能得到极大的解放

我就用java泛型啊,你是用C#的吧?
2013-01-01 09:28
0
回复
举报
又要全面,又要高性能,两难啊,希望龟壳不要把java带往死路
2012-09-11 02:10
0
回复
举报

引用来自“BoXuan”的评论

引用来自“zantesu”的评论

我觉得Java的几个无法忍受的缺陷
不是纯面向对象的
不支持泛型
不支持属性
不支持匿名方法
不支持方法对象传递
不支持yield机制
不支持lambda表达式
不支持类型推断
还有就是上面提到的Checked Exception

-----

为什么Java的lambda表达式迟迟不能实装,估计就是因为Checked Exception的缘故
为什么总是有人说建议学习Python/Ruby,就是相比落后的Java,Python/Ruby的编程思维,生产力能得到极大的解放

你上面说的好几点只能说java不是动态语言,其实js、as3在某些方面就是动态语言,都支持函数对象化创建和匿名化,类型推断对那些不喜欢对变量明确化类型的程序员最有用,具体化数据类型是有利于程序运行效率的,不管有没有类型推断都应该尽量规避模糊化数据类型的。

你错咯,上面的基本特性C#都支持,而且像Scala也都支持这些特性吧,但他们都不是动态语言
2012-09-04 19:04
0
回复
举报

引用来自“zantesu”的评论

我觉得Java的几个无法忍受的缺陷
不是纯面向对象的
不支持泛型
不支持属性
不支持匿名方法
不支持方法对象传递
不支持yield机制
不支持lambda表达式
不支持类型推断
还有就是上面提到的Checked Exception

-----

为什么Java的lambda表达式迟迟不能实装,估计就是因为Checked Exception的缘故
为什么总是有人说建议学习Python/Ruby,就是相比落后的Java,Python/Ruby的编程思维,生产力能得到极大的解放

你上面说的好几点只能说java不是动态语言,其实js、as3在某些方面就是动态语言,都支持函数对象化创建和匿名化,类型推断对那些不喜欢对变量明确化类型的程序员最有用,具体化数据类型是有利于程序运行效率的,不管有没有类型推断都应该尽量规避模糊化数据类型的。
2012-09-04 18:02
0
回复
举报

引用来自“CheckStyle”的评论

引用来自“Java行者”的评论

引用来自“heronote”的评论

2000年以前Java走在其他语言之前(虚拟执行的概念以及隔离底层变化的机制)
2005年以前Java和追上来的语言一起前行
2005年以后Java......

2005年以前做过几个Java的项目,包括B/S和桌面应用,从语言机制上说Exception机制很烦人,从类库上说太一般了,尤其是UI库和IO库:So Stupid,从打包机制来说浪费了大量的时间,从配置来说.....

哥们,貌似你Java很厉害阿,不过看到你最后一段的评论,我还是感觉你太肤浅了,你说的Exception很烦人,我想问你哪种主流编程语言没有这一项?你说UI的设计一般,你也做个跨平台的UI类库,你说I/O库一般,正说明你连Java还不入门,I/O库是Java实现的接近完美的一个类库!打包机制浪费了时间,别跟我说这些没用的,那还不是为了方便程序员阿?

你的水平不如被你拍的人. I/O完美么? Windows平台的Java,连NIO都没真正实现, 你敢说完美?

完美不完美是相对现在的技术的,nio底层实现我也不清楚,不过在我使用第三方现有类库(mina、xSocket)的时候没发现什么问题,如果有请告知一下,也好让我等不了解的少走弯路
2012-09-04 17:55
0
回复
举报

引用来自“CheckStyle”的评论

引用来自“Java行者”的评论

引用来自“heronote”的评论

2000年以前Java走在其他语言之前(虚拟执行的概念以及隔离底层变化的机制)
2005年以前Java和追上来的语言一起前行
2005年以后Java......

2005年以前做过几个Java的项目,包括B/S和桌面应用,从语言机制上说Exception机制很烦人,从类库上说太一般了,尤其是UI库和IO库:So Stupid,从打包机制来说浪费了大量的时间,从配置来说.....

哥们,貌似你Java很厉害阿,不过看到你最后一段的评论,我还是感觉你太肤浅了,你说的Exception很烦人,我想问你哪种主流编程语言没有这一项?你说UI的设计一般,你也做个跨平台的UI类库,你说I/O库一般,正说明你连Java还不入门,I/O库是Java实现的接近完美的一个类库!打包机制浪费了时间,别跟我说这些没用的,那还不是为了方便程序员阿?

人家是指Checked Exception很烦人.
Checked Exception目前我所知道,Java是唯一使用的语言.而那些后续更先进的语言,都没加入这个feature. 我也认为这是Java的败笔.

异常机制是程序错误推断及处理的良好帮手,因为java首先就考虑到没有完美的程序,这也是编程严谨性的表现。再说目前java ide的强大,在编程时已对异常做了代码自动补全的处理,也没什么烦的地方
2012-09-04 17:52
0
回复
举报
更多评论
83 评论
97 收藏
分享
返回顶部
顶部