JDK9新特性

  1. 模块系统

module com.mycompany.sample { exports com.mycompany.sample; requires com.mycompany.common; provides com.mycompany.common.DemoService with com.mycompany.sample.DemoServiceImpl; }

  1. JShell:交互式Java REPL

在 jshell 中添加方法

jshell> int add(int x, int y) { ...> return x + y; ...> } | created method add(int,int)

在 jshell 中使用创建的方法

jshell> add(1, 2) $19 ==> 3jshell> add(1, 2) $19 ==> 3

  1. 不可变集合类工厂方法(集合加强)

List.of(); List.of("Hello", "World"); List.of(1, 2, 3); Set.of(); Set.of("Hello", "World"); Set.of(1, 2, 3); Map.of(); Map.of("Hello", 1, "World", 2);

  1. 接口中的私有方法

public interface SayHi { private String buildMessage() { return "Hello"; } void sayHi(final String message); default void sayHi() { sayHi(buildMessage()); } }

  1. 进程API改进

增加了 ProcessHandle 接口,可以对原生进程进行管理,尤其适合于管理长时间运行的进程。

final ProcessBuilder processBuilder = new ProcessBuilder("top") .inheritIO(); final ProcessHandle processHandle = processBuilder.start().toHandle(); processHandle.onExit().whenCompleteAsync((handle, throwable) -> { if (throwable == null) { System.out.println(handle.pid()); } else { throwable.printStackTrace(); } });

  1. try-with-resources改进
  1. HTTP2支持
  1. 平台日志API和服务

新增的 System.LoggerFinder 用来管理 JDK 使 用的日志记录器实现。

public class Main { private static final System.Logger LOGGER = System.getLogger("Main"); public static void main(final String[] args) { LOGGER.log(Level.INFO, "Run!"); } }

  1. 垃圾回收器
  1. 增加加密算法

新增了 4 个 SHA- 3 哈希算法,SHA3-224、SHA3-256、SHA3-384 和 S HA3-512。另外也增加了通过 java.security.SecureRandom 生成使用 DRBG 算法的强随机数。

import org.apache.commons.codec.binary.Hex; public class SHA3 { public static void main(final String[] args) throws NoSuchAlgorithmException { final MessageDigest instance = MessageDigest.getInstance("SHA3-224"); final byte[] digest = instance.digest("".getBytes()); System.out.println(Hex.encodeHexString(digest)); } }

[java] JDK9常用特性相关推荐

  1. java高级特性2_Java高级特性 第2节 java中常用的实用类(1)

    一.Java API Java API即Java应用程序编程接口,他是运行库的集合,预先定义了一些接口和类,程序员可以直接调用:此外也特指API的说明文档,也称帮助文档. Java中常用的包: jav ...

  2. [转]Java中常用的集合—初学者的你不可错过的精编整理

    集合一直都是项目中非常常见的,我是一个Android开发者,集合对于我来说,在项目中使用的次数非常之多,因为使用的多,熟能生巧,所以这里呢!就给那些初学者整理一下Java当中常用的集合吧!    因为 ...

  3. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...

  4. Java这个高级特性-泛型,很多人还没用过!

    点击关注公众号,Java干货及时送达 泛型是 Java 的高级特性之一,如果想写出优雅而高扩展性的代码,或是想读得懂一些优秀的源码,泛型是绕不开的槛.本文介绍了什么是泛型.类型擦除的概念及其实现,最后 ...

  5. Java这个高级特性,很多人还没用过!

    点击关注公众号,Java干货及时送达 泛型是 Java 的高级特性之一,如果想写出优雅而高扩展性的代码,或是想读得懂一些优秀的源码,泛型是绕不开的槛.本文介绍了什么是泛型.类型擦除的概念及其实现,最后 ...

  6. Swfit 常用特性(Attribute)关键字

    Swfit 常用特性(Attribute)关键字 Swift中的Attribute相当于Java中的注解,但是可惜的是目前Swift不支持自定义Attribute Swfit的特性关键字一般用于声明或 ...

  7. java学习笔记(一) ----java下常用的包功能

    ***java下常用的包*** java.lang----包含一些java语言的核心类,如String,Math,Integer,System,Thread,提供常用的功能. java.awt---- ...

  8. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)

    写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天,下午我们宿舍聚会,所以时间有点耽误,希望大家见谅 上接: Java程序员从笨鸟到菜鸟之(四)java开发常用类( ...

  9. 动图 + 源码,演示 Java 中常用数据结构执行过程及原理

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

最新文章

  1. 转: jdbc连接数据库需要注意和出错的地方
  2. 映射文件_Hibernate 映射文件
  3. web前端CSS2学习2017.6.22
  4. php 函数有命名空间吗_解析 ThinkPHP 的命名空间
  5. golang利用json.Unmarshal转json为map、slice类型
  6. 关于Oracle中的错误 「SQL*Loader-522: lfiopn failed for file (xxx.log)」
  7. cityengine导出fbx
  8. 【Jmeter测试】03—— post请求测试
  9. 传奇物品在地上显示,红字,自动拾取文件
  10. 无线RTU 数据采集 远程测控
  11. flash 加载外部flash怎么卸载干净
  12. 小程序如何跳转至同服务器app,小程序新功能,app可以直接跳转小程序
  13. 多媒体计算机软件按功能分为,多媒体软件可分为
  14. win的反义词_小学英语常见的英语单词反义词大汇总,一定要让孩子掌握!
  15. 破解“致得E6协同文档管理系统” 3.2.847版
  16. 山东养殖业稳中有升,饲料企业较乐观
  17. 姿态估计相比Mask-RCNN提高8.2%,上海交大卢策吾团队开源AlphaPose
  18. Ubuntu发烧友三部曲
  19. 东莞潇洒老师:分享PROE产品设计塑胶产品结构基本设计
  20. AI编译器XLA调研

热门文章

  1. html数组删除指定元素,JS实现数组删除指定元素功能示例
  2. Xilinx下载器驱动提示“系统找不到指定的路径”的解决办法
  3. 傅里叶变换 高通滤波 低通滤波
  4. 电商轻松走入微信,仿乐享微信源码分享
  5. Bigdecimal运算及注意事项
  6. 修改微信小程序默认返回键,使用onUnload
  7. 香港服务器网站可以用CDN加速吗?
  8. Appium基础 — Chrome Inspect定位工具
  9. java syslog解析_syslog日志格式解析
  10. 利用鼠标实现画图功能 java