我刚才正在阅读一个代码教程,发现了一些有趣的东西-- JDK 5中引入的import static特性:
import static org.junit.Assert.assertEquals;
public class AdditionTest {
private int x = 1;
private int y = 1;
@Test public void addition() {
int z = x + y;
assertEquals(2, z);
/* ^ this is a static method, normally called by Assert.assertEquals */
}
}这让我想知道,在JDK 5和6中引入了哪些我不知道的其他特性?还有其他像这样的新关键字用法吗?有什么值得注意的新库类或函数吗?
我知道释放的笔记或变化是在那里,我不是在寻找一个"RTFM“的答案。我想知道一个简短的列表,在您看来,在JDK 5或6中,您认为哪些功能最能改变游戏。
发布于 2010-03-04 05:25:07
Java 5有很多语法变化:最重要的(我记得)是:
(当然,正如问题中所指出的,静态导入和注释。)
正如Zwei的回答所提到的,java.util.concurrent也是Java5的一个主要特性,JSR-133和它的内存模型也发生了变化(这允许volatile以一种正常的方式工作,这样如果您愿意的话,可以安全地实现双重检查锁定)。
Java6没有任何语法更改(我记得);它的许多高影响更改是业绩相关。在库方面,我最喜欢的“Java6”库是脚本支持(javax.script)。
发布于 2010-03-04 05:28:35
当然,java.util.concurrent!
在Java6中,ConcurrentSkipListMap作为一个新的数据结构添加到这个包中,它实际上保存了我们的项目:)
发布于 2010-03-04 05:22:23
我将继续介绍其中一个:Java支持。
我喜欢玩JOGL,而且能够只使用一个简短的jnlp文件,而不必编写类加载器、下载本机库代码的代码等等来处理通过浏览器获取JOGL的问题,这真是太好了。(是的,我知道JOGL的appletloader的事情)
只需我的JNLP文件中的一个行就可以加载JOGL、它的依赖项(gluegen、nativewindow、newt)以及当前系统的适当本机库。
<extension name="JOGL"
href="http://download.java.net/media/jogl/builds/archive/jsr-231-2.0-beta10/webstart/jogl-all-awt.jnlp" />我的jnlp文件的其余部分仅用于我的应用程序的标题和JAR文件的URL,这就是它。
顺便说一下,这是在JDK 6u10中介绍的。
https://stackoverflow.com/questions/2377054
复制相似问题