美文网首页Java高级技术
JDK8之新特性扩展篇

JDK8之新特性扩展篇

作者: Java技术栈 | 来源:发表于2017-10-09 09:00 被阅读0次

    之前分篇章讲了一些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.541Z
    1504682778593
    

    可以代替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.NashornScriptEngine
    Result:240.0
    

    JVM内存取消永久代

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

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


    更多干货推荐

    1.史上最强 Java 中高级面试题整理

    2.史上最强 Spring Boot & Cloud 教程整理

    3.史上最强架构设计分布式技术干货整理

    给大家送福利了,扫码关注Java技术栈微信公众号,在后台回复:666,可免费获取我最新整理的架构师学习资料,都是个人收藏学习的。

    扫码关注Java技术栈微信公众号

    相关文章

      网友评论

        本文标题:JDK8之新特性扩展篇

        本文链接:https://www.haomeiwen.com/subject/dzggextx.html