jdk各个版本介绍

1174fbe464de4dafa34f3976b21cc768.jpgJava Development Kit(JDK)是Java平台的核心组件,它包含了Java编程语言、Java虚拟机(JVM)、Java类库以及用于编译、调试和运行Java应用程序的工具。

 

 

JDK 1.0-1.4(经典时代)

 

  • JDK 1.0:也称为Java 1.0,是Java语言的首次正式发布。它引入了Java平台的基本概念,包括Java虚拟机(JVM)、Java类库和Java编译器(javac)。

 

  • JDK 1.1:增加了对Java Applets的支持,改进了AWT和Swing图形用户界面库,并引入了JDBC API用于数据库连接。

 

  • JDK 1.2:引入了Java 2平台,包括Java 2 Standard Edition(J2SE)、Java 2 Enterprise Edition(J2EE)和Java 2 Micro Edition(J2ME)。此版本还添加了Java集合框架(Java Collections Framework)和JIT(Just-In-Time)编译器。

 

  • JDK 1.3:增强了Java 2平台的性能、稳定性和安全性。引入了Java Sound API和Java Naming and Directory Interface(JNDI)。

 

  • JDK 1.4:引入了正则表达式(Regex)、NIO(New Input/Output)库、XML处理API(如JAXP和DOM)以及断言(Assertions)等特性。

 

JDK 5.0(重大革新)

 

  • 泛型(Generics):允许在类、接口和方法中定义类型参数,提高了代码的重用性和安全性。

 

  • 增强型for循环(for-each loop):简化了数组和集合的遍历。

 

  • 自动装箱和拆箱(Autoboxing and Unboxing):允许基本数据类型与相应的包装类之间自动转换。

 

  • 注解(Annotations):为代码提供了元数据支持,可以用于编译时和运行时处理。

 

  • 可变参数(Varargs):允许在方法声明中使用可变数量的参数。

 

JDK 6.0(稳定与性能优化)

 

  • 脚本引擎(Scripting Engine):引入了Java平台对脚本语言的支持,如JavaScript(通过Nashorn引擎)。

 

  • JDBC 4.0:增强了数据库连接和访问的功能。

 

  • Java Web Start:改进了应用程序的部署和更新机制。

 

  • 并发包(java.util.concurrent):提供了丰富的并发工具和类,简化了多线程编程。

 

JDK 7.0(小步快跑)

 

  • try-with-resources语句:自动管理资源,确保在try语句块结束时资源被正确关闭。

 

  • 二进制字面量(Binary Literals):允许使用二进制数表示整数。

 

  • 字符串切换(String Switch):在switch语句中可以使用字符串作为条件。

 

  • 菱形操作符(Diamond Operator):简化了泛型实例化的语法。

 

JDK 8.0(Lambda与函数式编程)

 

  • Lambda表达式:允许以简洁的方式表示匿名函数,支持函数式编程风格。

 

  • 方法引用(Method References):是Lambda表达式的一种简洁表示,可以直接引用现有方法或构造函数。

 

  • Stream API:提供了对集合(Collection)对象的高级抽象,支持顺序和并行处理。

 

  • 默认方法(Default Methods):允许在接口中添加具有实现的方法。

 

  • 新日期和时间API(java.time包):取代了旧的java.util.Date和java.util.Calendar类,提供了更好的日期和时间处理能力。

 

JDK 9.0及以上(模块化与性能提升)

 

  • Java平台模块系统(JPMS):引入了模块化编程的概念,提高了Java平台的可维护性和可扩展性。

 

  • G1垃圾收集器(G1 GC):作为默认的垃圾收集器,提供了更好的性能和可配置性。

 

  • HTTP/2客户端:提供了对HTTP/2协议的支持。

 

  • JShell:一个交互式编程环境,允许开发者在命令行中直接编写和运行Ja

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 Python 的自动化框架示例

以下是一个基于Python的自动化测试代码框架示例,包含了 app_lib(库模块,用于存放通用功能相关代码)、app_test(测试用例相关模块)、config(配置文件及配置读取相关部分)等模块&#…

二分法篇——于上下边界的扭转压缩间,窥见正解辉映之光(1)

前言 二分法,这一看似简单却又充满哲理的算法,犹如一道精巧的数学之门,带领我们在问题的迷雾中找到清晰的道路。它的名字虽简单,却深藏着智慧的光辉。在科学的浩瀚星空中,二分法如一颗璀璨的星辰,指引着我们…

基于 FFmpeg/Scrcpy 框架构建的一款高性能的安卓设备投屏管理工具-供大家学习研究参考

支持的投屏方式有:USB,WIFIADB,OTG,投屏之前需要开启开发者选项里面的USB调试。 主要功能有: 1.支持单个或多个设备投屏。 2.支持键鼠操控。 3.支持文字输入。 4.支持共享剪切板(可复制粘贴电脑端文字到手机端,也可导出手机剪切板到电脑端)。 5.支持视频图片上传,可单…

【Go底层】time包Ticker定时器原理

目录 1、背景2、go版本3、源码解释【1】Ticker结构【2】NewTicker函数解释 4、代码示例5、总结 1、背景 说到定时器我们一般想到的库是cron,但是对于一些简单的定时任务场景,标准库time包下提供的定时器就足够我们使用,本篇文章我们就来研究…

Docker 部署Nginx 数据卷挂载 配置文件挂载

启动容器 docker run -d --name nginx \-v /etc/local/nginx/dist:/usr/share/nginx/html \-p 80:80 \--restart always \nginx宿主机站点 /etc/local/nginx/dist 容器内html /usr/share/nginx/html 复制配置文件到主机 docker cp nginx:/etc/nginx/nginx.conf /etc/local/n…

【论文笔记】A Token-level Contrastive Framework for Sign Language Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: A Token-level Contrastiv…

ROS2教程 - 3 HelloWorld

更好的阅读体验:https://www.foooor.com 3 HelloWorld 下面从 HelloWorld 开始,讲解 ROS2 的开发。 ROS 开发主要使用 C 或 Python 实现,如果要实现的功能,对性能有要求,可以使用 C 实现,如果对性能没有…

洛谷 B3626 跳跃机器人 C语言 记忆化搜索

题目: https://www.luogu.com.cn/problem/B3626 题目描述 地上有一排格子,共 n 个位置。机器猫站在第一个格子上,需要取第 n 个格子里的东西。 机器猫当然不愿意自己跑过去,所以机器猫从口袋里掏出了一个机器人!这…

【AI】Sklearn

长期更新,建议关注、收藏、点赞。 友情链接: AI中的数学_线代微积分概率论最优化 Python numpy_pandas_matplotlib_spicy 建议路线:机器学习->深度学习->强化学习 目录 预处理模型选择分类实例: 二分类比赛 网格搜索实例&…

⭐️ GitHub Star 数量前十的工作流项目

文章开始前,我们先做个小调查:在日常工作中,你会使用自动化工作流工具吗?🙋 事实上,工作流工具已经变成了提升效率的关键。其实在此之前我们已经写过一篇博客,跟大家分享五个好用的工作流工具。…

Tree搜索二叉树、map和set_数据结构

数据结构专栏 如烟花般绚烂却又稍纵即逝的个人主页 本章讲述数据结构中搜索二叉树与HashMap的学习,感谢大家的支持!欢迎大家踊跃评论,感谢大佬们的支持! 目录 搜索二叉树的概念二叉树搜索模拟实现搜索二叉树查找搜索二叉树插入搜索二叉树删除…

Swift实现高效链表排序:一步步解读

文章目录 前言摘要问题描述题解解题思路Swift 实现代码代码分析示例测试与结果 时间复杂度空间复杂度总结关于我们 前言 本题由于没有合适答案为以往遗留问题,最近有时间将以往遗留问题一一完善。 148. 排序链表 不积跬步,无以至千里;不积小流…

【开篇】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…

qt QAnimationDriver详解

1、概述 QAnimationDriver是Qt框架中提供的一个类,它主要用于自定义动画帧的时间控制和更新。通过继承和实现QAnimationDriver,开发者可以精确控制动画的时间步长和更新逻辑,从而实现丰富和灵活的动画效果。QAnimationDriver与QAbstractAnim…

何时在 SQL 中使用 CHAR、VARCHAR 和 VARCHAR(MAX)

在管理数据库表时,考虑 CHAR、VARCHAR 和 VARCHAR(MAX) 是必不可少的。此外,使用正确的工具(例如dbForge Studio for SQL Server) ,与数据库相关的任务都会变得更加容易。它是针对 SQL Server 专业人员的强大的一体化解…

20241127 给typecho文章编辑附件 添加视频 图片预览

Typecho在写文章时,如果一次性上传太多张图片可能分不清哪张,因为附件没有略缩图,无法实时阅览图片,给文章插入图片时很不方便。 编辑admin/file-upload.php 大约十八行的位置 一个while 循环里面,这是在进行html元素更新操作,在合…

YOLO的框架及版本迭代

YOLO(You Only Look Once)是一种非常流行的实时目标检测算法,其特点是将目标检测任务转换为一个回归问题,通过一次前向传播就可以同时完成目标的分类和定位。以下是YOLO框架的整体架构和工作原理: 一、YOLO的基本框架…

Linux命令系列-常见查看系统资源命令

Linux命令系列-常见查看命令 进程管理内存管理磁盘空间管理网络管理主机系统 摘要:本文将对linux系统上常见的查看系统各种资源的命令进行介绍,包括du,df,netstat等命令。所有这些命令都有相关实验截图,实验平台为ubun…

【Python网络爬虫笔记】6- 网络爬虫中的Requests库

一、概述 Requests 是一个用 Python 语言编写的、简洁且功能强大的 HTTP 库。它允许开发者方便地发送各种 HTTP 请求,如 GET、POST、PUT、DELETE 等,并且可以轻松地处理请求的响应。这个库在 Python 生态系统中被广泛使用,无论是简单的网页数…

SolarCube: 高分辨率太阳辐照预测基准数据集

太阳能作为清洁能源在减缓气候变化中的作用日益凸显,其稳定的供应对电网管理至关重要。然而,太阳辐照受云层和天气变化的影响波动较大,给光伏电力的管理带来挑战,尤其是在调度、储能和备用系统管理方面。因此,精确的太…