JDK8之新特性扩展篇

来源:互联网 发布:linux system函数阻塞 编辑:程序博客网 时间:2024/06/05 00:09

之前分篇章讲了一些JKD8中添加的新特性,还有一些新特性这里也一并讲下。

BASE64

base64编码解码已经被加入到了jdk8中了。

import java.nio.charset.StandardCharsets;import java.util.Base64;public class Base64Test {    public static void main(String[] args) {        String text = "hello javastack";        String encoded = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));        System.out.println(encoded);        String decoded = new String(Base64.getDecoder().decode(encoded), StandardCharsets.UTF_8);        System.out.println(decoded);    }}

Date/Time API(JSR 310)

新的时间、日期。

Clock clock = Clock.systemUTC();System.out.println(clock.instant());System.out.println(clock.millis());

输出:

2017-09-06T07:26:18.541Z1504682778593

可以代替System.currentTimeMillis()方法。

另外,可以看下LocalDate、LocalTime、LocalDateTime、Duration的用法。

Nashorn JavaScript引擎

可以运行js代码的引擎。

ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("JavaScript");System.out.println(engine.getClass().getName());System.out.println("Result:" + engine.eval("function f() { return 10; }; f() * 24;"));

输出:

jdk.nashorn.api.scripting.NashornScriptEngineResult:240.0

JVM内存取消永久代

JDK8使用了Metaspace(JEP 122)替换永久代(PermGen space)。参数使用-XX:MetaSpaceSize和-XX:MaxMetaspaceSize代替原来的-XX:PermSize和-XX:MaxPermSize。

还有一些别的新特性,个人觉得某些新特性用处不是很大。

推荐阅读

什么是Spring Boot?
Spring Boot开启的2种方式
Spring Boot Starters启动器
Spring Boot定制启动图案
Spring Boot核心配置
Spring Boot功能实战
Spring Boot自动配置原理、实战
Spring Boot Runner启动器
Spring Boot - Profile不同环境配置

看完有没有收获?分享到朋友圈给更多的人吧。