Java 7的最新特性更新、代码示例及性能测试

发表于:2010-9-06 11:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:阿风 编译    来源:51Testing软件测试网采编

  通用实例创建来改进类型推断(diamond)

  当你把对象的接口申明指定成范型后,你在对象实例化时不得不再指定一次。现在,你不必如此了,因为你可以这样:

Map> map = new HashMap<>(); 

  数值文字的加强

  我不敢肯定这个对大多数人都有用。你可以这样做:

int billion = 1_000_000_000;

  允许在switch中使用字符串

  这个无需解释,其意思很明确。

String availability = "available"; 
switch(availability)
{
   case "available": 
    //code 
    break; 

   case "unavailable": 
    //code 
    break; 

   case "merged": 
    //code 

   default: 
    //code 
    break; 
}

  二进制文字

  你可以使用前缀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个)中。把条目写进恰巧并行的不同文件中。

43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号