前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDK8之新特性扩展篇

JDK8之新特性扩展篇

作者头像
Java技术栈
发布2018-03-30 15:04:30
5720
发布2018-03-30 15:04:30
举报
文章被收录于专栏:Java技术栈Java技术栈

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

BASE64

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

代码语言:javascript
复制
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)

新的时间、日期。

代码语言:javascript
复制
Clock clock = Clock.systemUTC();
System.out.println(clock.instant());
System.out.println(clock.millis());

输出:

代码语言:javascript
复制
2017-09-06T07:26:18.541Z
1504682778593

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

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

Nashorn JavaScript引擎

可以运行js代码的引擎。

代码语言:javascript
复制
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;"));

输出:

代码语言:javascript
复制
jdk.nashorn.api.scripting.NashornScriptEngine
Result:240.0

JVM内存取消永久代

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • BASE64
  • Date/Time API(JSR 310)
  • Nashorn JavaScript引擎
  • JVM内存取消永久代
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档