查看原文
其他

JDK8之新特性扩展篇

2017-10-08 javastack Java技术栈



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

BASE64

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

  1. import java.nio.charset.StandardCharsets;

  2. import java.util.Base64;

  3. public class Base64Test {

  4.    public static void main(String[] args) {

  5.        String text = "hello javastack";

  6.        String encoded = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));

  7.        System.out.println(encoded);

  8.        String decoded = new String(Base64.getDecoder().decode(encoded), StandardCharsets.UTF_8);

  9.        System.out.println(decoded);

  10.    }

  11. }

Date/Time API(JSR 310)

新的时间、日期。

  1. Clock clock = Clock.systemUTC();

  2. System.out.println(clock.instant());

  3. System.out.println(clock.millis());

输出:

  1. 2017-09-06T07:26:18.541Z

  2. 1504682778593

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

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

Nashorn JavaScript引擎

可以运行js代码的引擎。

  1. ScriptEngineManager manager = new ScriptEngineManager();

  2. ScriptEngine engine = manager.getEngineByName("JavaScript");

  3. System.out.println(engine.getClass().getName());

  4. System.out.println("Result:" + engine.eval("function f() { return 10; }; f() * 24;"));

输出:

  1. jdk.nashorn.api.scripting.NashornScriptEngine

  2. Result: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不同环境配置


看完有没有收获?

分享到朋友圈给更多的人吧。




  Java技术栈  
微信公众号:「Javastack

分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。


 ▼长按二维码关注我们↓↓↓


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存