A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

听说Java升级到Java7版本了,Java7有哪些新的特性?

3 个回复

倒序浏览
本帖最后由 郭永岳 于 2012-5-11 20:33 编辑

你好,java7的新特性,一个人也并不能完成了解以及其用法。一般都是用到时方去学,知道就好,也没必要充充学会。由于刚出来,我也并没太多的了解,你可以直接去官网上看看,以下是我在网上找的比较简单明了的,可以参考下。谢谢。

1、对集合的支持:摒弃了 Java 集合接口的实现类,而是直接采用 [] 、 {} 的形式存入对象,采用 [] 的形式按照索引、键值来获取集合中的对象,创建List / Set / Map 时写法更简单了。
2、对资源的自动回收管理
3、泛型实例创建过程中类型引用的简化
4、对字符串进行switch case
5、在数字中使用下划线
6、二进制符号,你可用作二进制字符前加上 0b 来创建一个二进制类型。
7、一个catch里捕捉多个异常类型
8、语法上支持集合,而不一定是数组,如:final List piDigits = [ 1,2,3,4,5,8 ];
9、新增一些取环境信息的工具方法
10、Boolean类型反转,空指针安全,参与位运算
11、两个char间的equals
12、安全的加减乘除

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
对资源的自动回收管理   
比如,关闭流操作

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class MyTest {
public static void main(String[] args) throws IOException {
  InputStream in = new BufferedInputStream(new FileInputStream("abc.jpg"));
  OutputStream out = new BufferedOutputStream(new FileOutputStream("dest.jpg"));
  
  int b;
  while ((b = in.read()) != -1)  
   out.write(b);     
  
  in.close();
  out.close();
}
}
JDK 1.7 后只要实现Closeable接口的流,就可以写成如下形式:

public class MyTest {
public static void main(String[] args) throws IOException {
try(InputStream in = new BufferedInputStream(new FileInputStream("abc.jpg"));
       OutputStream out = new BufferedOutputStream(new FileOutputStream("dest.jpg"));    //不管有无异常抛出,在try() 里的流在最后都会被关闭

     int b;
      while ((b = in.read()) != -1)  
       out.write(b);     
   }
}


类似的还有还有关闭JDBC数据库连接等。

回复 使用道具 举报
现在的Java7也是采用了模块的划分方式来提速,一些不是必须的模块并没有下载和安装,因此在使用全新的Java7的虚拟机的时候会发现真的很快,当虚拟机需要用到某些功能的时候,再下载和启用相应的模块,这样使得最初需要下载的虚拟机大小得到了有效的控制。同时对启动速度也有了很大的改善。如果你对OpenJDK的架构比较熟悉,你甚至可以定制 JDK的模块。
其次是多语言支持,Java7的虚拟机对多种动态程序语言增加了支持,比如:Rubby、Python等等。
然后是Java7通过多种特性来增强开发效率。比如对语言本身做了一些细小的改变来简化程序的编写,在多线程并发与控制方面:轻量级的分离与合并框架,一个支持并发访问的HashMap等等。通过注解增强程序的静态检查。提供了一些新的API用于文件系统的访问、异步的输入输出操作、Socket通道的配置与绑定、多点数据包的传送等等。
后是执行效率的提高,也是给人感觉最真切体验的特性。压缩了64位的对象指针,Java7通过对对象指针由64位压缩到与32位指针相匹配的技术使得内存和内存带块的消耗得到了很大的降低因而提高了执行效率。此外还提供了新的垃圾回收机制(G1)来降低垃圾回收的负载和增强垃圾回收的效果。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马