通用实例创建来改进类型推断(diamond)
当你把对象的接口申明指定成范型后,你在对象实例化时不得不再指定一次。现在,你不必如此了,因为你可以这样:
Map> map = new HashMap<>(); |
数值文字的加强
我不敢肯定这个对大多数人都有用。你可以这样做:
int billion = 1_000_000_000; |
允许在switch中使用字符串
这个无需解释,其意思很明确。
String availability = "available"; case "unavailable": case "merged": default: |
二进制文字
你可以使用前缀0b创建二进制文字
int binary = 0b1001_1001; |
以上这些就是Java1.7的代码实例。如果有人能给我指出还有哪些没有包含进去,那就更好了。我敢肯定,已经有其他的开发人员对此进行了关注。
Java 1.7的性能表现
Java 7的性能有多大的提升?这里我们来针对Java 7做一个测试,内容如下。在一台装有ArchLinux系统的Macbook Pro电脑上(因特尔Duo CPU T7700,主频2.40GHz,有两年的使用时间)运行了这些测试。内存是2Gb的,把Heap Size设置成了728m(-Xms728m -Xmx728m)。
◆测试1 为一个List添加100万个字符串值(String字符串是一个UUID,是用UUID.randomUUID()产生的)。
◆测试2 带有100万键、值对的HashMap。每个键、值对通过并行线程进行计算。键是一个UUID,值int是用Math.random()产生的。
◆测试3 把100万个ArrayList条目打印到一定数量的文件(1000个)中。把条目写进恰巧并行的不同文件中。