jdk1.7与1.8的区别,有哪些区别?

jdk1.7的新特性

  1. 自动资源管理 Java中某些资源是需要手动关闭的,如 InputStream,Writes,Sockets,Sql classes 等。这 个新的语言特性允许try语句本身申请更多的资源,这些资源作用于try代码块,并自动关闭。
  2. 新增一些取环境信息的工具方法
    System.getJavaHomeDir() // JRE的安装目录
    File System.getUserHomeDir() // 当前用户目录
    File System.getUserDir() // 启动java进程时所在的目录
  3. 两个char间的equals
  4. switch中使用string

Jdk1.8新特性

  1. 函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西)。简单来说,函数式 接口是只包含一个方法的接口。比如Java标准库中的java.lang.Runnablejava.util.Comparator 都是典型的函数式接口。 java 8提供 @FunctionalInterface作为注 解,这个注解是非必须的,只要接口符合函数式接口的标准(即只包含一个方法的接口),虚拟机会自 动判断,但 好在接口上使用注解==@FunctionalInterface==进行声明,以免团队的其他人员错误地 往接口中添加新的方法。
  2. Lambda语法 包含三个部分 1.一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数 2.一个箭头符号:-> 3.方法 体,可以是表达式和代码块,方法体函数式接口里面方法的实现,如果是代码块,则必须用{} 来包裹起来,且需要一个return 返回值,但有个例外,若函数式接口里面方法返回值是void,则无 需{} (parameters) -> expression 或者 (parameters) -> { statements; } lambda表达式语法代码简洁,能简化集合上数据的多 线程或者多核的处理,提供更快的集合处理速度
  3. 两个char间的equals
  4. switch中使用string

你可能感兴趣的:(面试宝典)