1. java9 新特性

  • 模块化的使用

    • 减少内存的开销。
    • 可简化各种类库和大型应用的开发和维护。
    • 安全性,可维护性,提高性能。

  在 module-info.java 文件中,我们可以用新的关键词module来声明一个模块,具体如下:

module 模块名称 {
}
  • 钻石操作符:匿名内部类的使用中使用钻石操作符<>,省略类型
  • 集合工厂:List、Set和Map集合中增加了静态工厂方法of实现不可变实例的创建
    • 不可变体现在无法添加、修改和删除它们的元素。
    • 不允许添加null元素对象
    • 保证线程安全:在并发程序中既保证线程安全性,也大大增强了并发时的效率。
    • 被不可信的类库使用时会很安全
    • 如果一个对象不需要支持修改操作,将会节省空间和时间的开销
    • 可以当作一个常量来对待,并且这个对象在以后也不会被改变
  • InputStream的增强:提供了transferTo方法实现将数据直接传输到OutputStream中,用于文件拷贝

2. java10 新特性

  • 垃圾回收机制的增强
  • 局部变量的声明
    • 使用var作为局部变量类型推断标识符,此符号仅适用于局部变量,增强for循环的索引,以及传统for循环的本地变量
    • 不能使用于方法形式参数,构造函数形式参数,方法返回类型,字段,catch形式参数或任何其他类型变量的声明,不能作为类或则接口的名字

3. java11 新特性

  • 一次编译的命令 java

    • 在Java11中可以使用java命令一次性进行编译和运行操作。
    • 执行源文件中的第一个类必须包含主方法。
    • 不可以使用其它源文件中自定义的类
  • String 类新增方法
方法声明 功能介绍
boolean isBlank() 判断字符串是否为空或只包含空白代码点
Optional map(Function<? super T,? extends U>  mapper) 根据参数指定规则的结果来得到Optional类型的对象
T orElse(T other) 若该值存在就返回,否则返回other的数值。

java基础---java8后新特性的更多相关文章

  1. 【Java基础】Java9 新特性

    Java9 新特性 模块化系统 Java 和相关生态在不断丰富的同时也越来越暴露出一些问题: Java 运行环境的膨胀和臃肿.每次 JVM 启动的时候,至少会 30-60MB 的内存加载,主要原因是 ...

  2. 【Java基础】Java11 新特性

    Java11 新特性 新增字符串处理方法 新增方法: 判断字符串是否为空白 " ".isBlank(); // true 去除首尾空白 " Javastack " ...

  3. 【Java基础】Java10 新特性

    Java10 新特性 局部变量类型推断 局部变量的显示类型声明,常常被认为是不必须的. 场景一:类实例化时.在声明一个变量时,总是习惯了敲打两次变量类型,第一次用于声明变量类型,第二次用于构造器. 场 ...

  4. JAVA JDK1.5-1.9新特性

    1.51.自动装箱与拆箱:2.枚举(常用来设计单例模式)3.静态导入4.可变参数5.内省 1.61.Web服务元数据2.脚本语言支持3.JTable的排序和过滤4.更简单,更强大的JAX-WS5.轻量 ...

  5. java8的新特性以及用法简介

    1. 介绍 2 接口的默认方法 2 lambda表达式 2.1 函数式接口 2.2 方法与构造函数引用 2.3 访问局部变量 2.4 访问对象字段与静态变量 3. 内建函数式接口 3.1 Predic ...

  6. Java基础-面向对象第三大特性之多态(polymorphism )

    Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...

  7. Java8 Stream新特性详解及实战

    Java8 Stream新特性详解及实战 背景介绍 在阅读Spring Boot源代码时,发现Java 8的新特性已经被广泛使用,如果再不学习Java8的新特性并灵活应用,你可能真的要out了.为此, ...

  8. 简单了解JAVA8的新特性

    JAVA8新特性会颠覆整个JAVA程序员的编程习惯 甚至如果您坚守JAVA7之前的编程习惯,今后你看比较年轻的程序员写的JAVA代码都会无法理解 所以为了保证不脱钩,我觉得有必要学习JAVA8的新特性 ...

  9. Java 8 正式发布,新特性全搜罗

    经过2年半的努力.屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本. Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码: ...

随机推荐

  1. 在Visual Studio 中使用git——分支管理-上(八)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  2. python操作kafka

    python操作kafka 一.什么是kafka kafka特性: (1) 通过磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能. (2) 高吞吐量 :即使是 ...

  3. 开发掉坑(一)tar命令解压文件覆盖源文件

    今天在编译机上编译前端代码,报了找不到依赖的异常.检查后发现是node_modules/.bin下少了一些文件. 一开始疑惑为什么本地能成功生成软链在node_modules/.bin,服务器上面却不 ...

  4. JUC 并发编程--10, 阻塞队列之--LinkedBlockingDeque 工作窃取, 代码演示

    直接上代码 class LinkedBlockingDequeDemo { // 循环是否结束的开关 private static volatile boolean flag1 = true; pri ...

  5. C#开发之基于NPOI的操作Excel开发体验

    最近遇到一个数据导入的需求,语言是.net framework 4.7的C#.但是,这次主要探讨NPOI的体验,原则就是向前兼容.所以采用.xls的支持.网上的资料,我稍微整合了一些. #1 单元格下 ...

  6. 实验5、Flask设计模式和Web服务体验

    1. 实验内容 Flask appbuilder包括基本的表单验证,内置管理模块.本节主要学习Flask appbuilder的后台管理模块使用和对Flask设计模式拓展作简要介绍 2. 实验要点 掌 ...

  7. 【NX二次开发】Block UI 文本颜色/字体/宽度

    属性说明 常规     类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical 是否分 ...

  8. Servlet--核心内容汇总

    Servlet汇总 因为看公司代码,有个cookie+jwt.Token登录验证接口,于是回顾下servlet.cookie.session.前后端分离restful.jwt.token相关内容.虽然 ...

  9. 【数学】8.30题解-count数页码

    count 洛谷p1836 题目描述 一本书的页码是从 1-n 编号的连续整数: 1, 2, 3, ... , n.请你求出全部页码中 所有单个数字的和,例如第 123 页,它的和就是 1+2+3=6 ...

  10. 台达PLC开发笔记(一):台达PLC连接介绍,分别使用485、网口与台达PLC建立连接

    前言   台达AS系列,型号为AS322P.     物理设备连接            使用WPL Editor连接PLC 使用RS485口当作RS232口连接PLC             注意: ...