美团面试:你了解JDK版本相关特性吗?结果令人尴尬!

程序员书单

共 2093字,需浏览 5分钟

 · 2021-11-04

JDK版本变更历史

下面我呢来整体预览一下JDK版本变更情况:

JDK版本发布时间
1.01996-01-23
1.11997-02-19
1.21998-12-04
1.32000-05-08
1.4.02002-02-13
Java SE 5.0 / 1.52004-09-30
Java SE 6.0 / 1.62006-04
Java SE 7.0 / 1.72011-07-28
Java SE 8.0 2014-03-18
Java SE 9.02017-09-21
Java SE 10.02018-03-21
Java SE 11.02018-09-25
Java SE 12.02019-02-07
Java SE 13.02019-09-26
Java SE 14.02020-03-17
Java SE 15.02020-09-15

Java 8发布于2014年3月14号,从Java 8开始开发代号已经弃用了,所以从Java 8之后已经没有官方的开发代号了。Java 8u201/202是最后一个免费的 Oracle JDK 8版本,Oracle于 2019-01-15 停止免费商用更新。

很多人,你的是不是年龄还没有JDK大?羡慕

JDK版本功能增强

  • JDK1.0:初代版本,纯解释运行,使用外挂JIT,性能比较差,运行速度慢。
  • JDK1.1JDBC(Java DataBase Connectivity)、支持内部类、RMI、反射、Java Bean。
  • JDK1.2:集合框架 、JITJFC、Java插件 、JDBC中引入可滚动结果集 、Applet中添加声音支持。
  • JDK1.3Java Sound API、jar文件索引、对Java的各个方面都做了大量优化和增强 。
  • JDK1.4 :正则表达式,异常链,NIO,日志类,XML解析器,XLST转换器。
  • JDK1.5:自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环。
  • JDK1.6:提供动态语言支持、提供编译API和卫星HTTP服务器API,改进JVM的锁,同步垃圾回收,类加载。
  • JDK1.7:提供GI收集器、加强对非Java语言的调用支持(JSR-292,升级类加载架构)。
  • JDK8Lambda 表达式、方法引用、默认方法、新工具、Stream APIDate Time APIOptional类、Nashorn,JavaScript 引擎。
  • JDK9:1、集合加强;2、私有接口方法;3、垃圾收集机制;4、I/O流加强;5、JShell工具。
  • JDK10:1、局部变量类型推断;2、线程本地握手;3、GC改进和内存管理。
  • JDK11:1、字符串加强;2、HttClient Api;3、用于 Lambda 参数的局部变量语法;4、ZGC
  • JDK12:1、Switch Expressions;2、Shenandoah GC
  • JDK13:1、switch优化更新;2、文本块升级;3、重新实现旧版套接字API;4、核心库/java.util中:I18N;5、取消使用未使用的内存。
  • JDK14:1、switch优化变更为最终版;2、垃圾回收相关;3、instanceof的模式匹配(预览版);4、删除了安全库java.security.acl API;5、货币格式(优化)。
  • JDK15:将RMI标记为Deprecate,还有Hidden Classes 、Pattern Matching  、Text Blocks 等特性。

尽管JDK版本已经更新到15了,但,据统计目前在开发和线上环境中,使用最多的是JDK8

在此,想问问大家,你用的是哪个版本?


帮忙转发起来,看看到底哪个JDK版本最受欢迎!

两类问题

关于JDK版本的问题,可以归纳为两类:

在开发中,其实遇到的也不算多,主要问题出现大部分在于本地开发环境的JDK版本和线上版本存在着差异,或者就是别人编译使用的JDK版本和咱们的不同导致的。

在面试中,一般都是重点考察范围:JDK5/6/7/8/9这5个版本。另外,JDK版本不同,在JVM中也有一些细微调整。比如:方法区由之前的永久代转变成元空间,常量、字面量等存放位置变化,这些都得有所了解,不然只是背上面的,不然会显得很肤浅。


部分参考:blog.csdn.net/qq_26264237/

好了,今天就分享到这里了。

— 【 THE END 】—
本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取!

最近面试BAT,整理一份面试资料Java面试BATJ通关手册,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

获取方式:点“在看”,关注公众号并回复 PDF 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报