JDK8之新特性扩展篇

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

BASE64

base64编码解码已经被加入到了jdk8中了。
  1. import java.nio.charset.StandardCharsets;
  2. import java.util.Base64;
  3. publicclassBase64Test{
  4.    publicstaticvoid 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 =newString(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 =newScriptEngineManager();
  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。
还有一些别的新特性,个人觉得某些新特性用处不是很大。

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » JDK8之新特性扩展篇

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多