❶ java8 官方支持到期时间
2020年12月。
Java8又称为jdk1.8,是Java语言开发的一个主要版本。Oracle公司于2014年3月18日发布Java 8版本,它支持函数式编程,新的JavaScript引擎,新的日期API等。
Java8 新增了非常多的特性,我们主要讨论以下几个:Lambda 表达式 _ Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。
方法引用 _ 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
默认方法 _ 默认方法就是一个在接口里面有了一个实现的方法。
新工具 _ 新的编译工具,如:Nashorn引擎 jjs、类依赖分析器jdeps。
Stream API _新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
Date Time API_加强对日期与时间的处理。
Optional类_Optional类已经成为 Java 8 类库的一部分,用来解决空指针异常。
Nashorn, JavaScript引擎 _ Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。
❷ JVM中常量池存放在哪里
java8之前:
java8之后:元数据区 Metaspace
由于 PermGen 内存管理的效果远没有达到预期,所以JCP已经着手去除PermGen的工作。在JDK7中,字符串常量已经从永局裤久代移除。现今 JDK8 中 PermGen 已经被彻底移除,取而代之的是metaspace数据区,使用native内存,申请和释放由虚拟机负责管理。
那么,JVM中常量池到底存放在哪里?
Java6和6之前,常量唤腊樱池是存放在方法和丛区(永久代)中的。
Java7,将常量池是存放到了堆中。
Java8之后,取消了整个永久代区域,取而代之的是元空间。 运行时常量池和静态常量池存放在元空间中,而字符串常量池依然存放在堆中。
❸ 在Java8中,元数据被放到本地内存中,不再受JVM限制了。但是这样还是会有什么弊端吗
你说的应该是java调用jni操作本地内存,这个其实很多时候是必要的,缺点的话:
1、主要是开发难度上的问题,网上罗列过很多,比如食用过多的本地引用而没有告诉jvm,运行时间久一点就崩了;
2、其次是移植到其他系统就不可能了,所谓本地就是指的当前系统环境下的开发,既然本地化了就不存在跨平台优势了。