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.rhkb.cn/news/482295.html

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

相关文章

【Python爬虫五十个小案例】爬取猫眼电影Top100

博客主页:小馒头学python 本文专栏: Python爬虫五十个小案例 专栏简介:分享五十个Python爬虫小案例 🐍引言 猫眼电影是国内知名的电影票务与资讯平台,其中Top100榜单是影迷和电影产业观察者关注的重点。通过爬取猫眼电影Top10…

Doge东哥wordpress主题

Doge东哥wordpress主题是一款专为中小型企业设计的WordPress外贸网站模板,它以其现代、专业且用户友好的界面,为企业提供了一个展示产品和服务的理想平台。以下是对该模板的详细描述: 首页设计概览 首页的设计简洁而不失大气,顶…

【力扣】541.反转字符串2

问题描述 思路解析 每当字符达到2*k的时候,判断,同时若剩余字符>k,只对前k个进行判断(这是重点)因为字符串是不可变变量,所以将其转化为字符串数组,最后才将结果重新转变为字符串 字符串->字符数组 …

C++练级计划-> 《IO流》iostream fstream sstream详解

如果是想全部过一遍就看完,如果想具体的了解某一个请点目录。因为有三种流的使用可能内容多 目录 流是什么? CIO流(iostream) io流的注意事项 cin和cout为什么能直接识别出类型和数据 fstream fstream的使用方法&#xff…

EDA软件研发的DevOps平台

1:什么是DevOps DevOps是十几年前,在互联网比较火的词,实际上就是ci/cd平台的另外一种说法,核心是说打破研发,测试,运维的边界,能够将整个产品开发的流程快速循环起来,随时可发版&a…

自动化是语法,智能化是语义与语用

自动化与智能化可以从语言学的角度来进行类比和探讨。 1. 自动化是语法 自动化可以类比为“语法”的部分,因为它关注的是操作过程的规则、结构和执行方式。语法是语言中关于词汇、句子结构和规则的系统,它提供了语言运作的框架和规范。类似地&#xff0c…

Spring源码-Bean的生命周期和模板方法

Bean的生命周期 之前我们提到过SpringApplication的run方法不光可以启动程序,还会返回一个容器,为了演示Bean的从创建到销毁的整个阶段,我们会关闭掉容器。 接下来我们来看想要加入到容器当中的类,映入眼帘的是这几个方法和其注解…

Mysql数据库基础篇笔记

目录 sql语句 DDL——数据库定义语言(定义库,表,字段) 数据库操作: 表操作: DML 增删改语句 DQL 语法编写顺序: 条件查询 DCL 用户管理: 权限管理: 函数 常见字符串内置函…

算法编程题-煎饼排序 不含AAA或者BBB的字符串

算法编程题-煎饼排序 &&不含AAA或者BBB的字符串 煎饼排序原题描述思路简述代码实现复杂度分析 不含AAA或者BBB的字符串原题描述思路简述代码实现复杂度分析 摘要:本文将对两道LeetCode原题进行介绍,分别是煎饼排序和不含AAA或者BBB的字符串。在陈…

分享一款 Vue 图片编辑插件 (推荐)

💥本篇文章给大家分享一款强大到没朋友的Vue图片编辑插件,可以对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本等,快来试试并收藏吧!💕 这是一款对图片进行旋转、缩放、裁剪、涂鸦、标注、添加文本在线处理的图片处…

MySQL 核心基础 | Pandaer杂货铺

MySQL一个后端开发必须会接触的中间件,也是关系型数据库的代表。如果你希望看下去这篇文章,需要你有使用MySQL或者相关关系型数据库的经验,不然这篇文章在你眼中就会索然无味了。 这篇文章不会讲解如何使用MySQL,例如如何安装&am…

【网络】应用层协议HTTPHTTPcookie与sessionHTTPS协议原理

主页:醋溜马桶圈-CSDN博客 专栏:计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.应用层协议HTTP 2.认识 URL 2.1 urlencode 和 urldecode 3.HTTP 协议请求与响应格式 3.1 HTTP 请求 3.2 HTTP 响应 …

搭建业务的性能优化指南

这是一篇搭建业务优化的心路历程,也是写给搭建业务的性能优化指南。 前言 直到今天,淘内的页面大多都迁移到了 SSR,从我们终端平台 - 搭建研发团队的视角看,业务大致可以分为两类 —— 搭建派 和 源码派。 这两者互不冲突&#xf…

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

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

开源 - Ideal库 - Excel帮助类,TableHelper实现(三)

书接上回,我们今天继续讲解实现对象集合与DataTable的相互转换。 01、把表格转换为对象集合 该方法是将表格的列名称作为类的属性名,将表格的行数据转为类的对象。从而实现表格转换为对象集合。同时我们约定如果类的属性设置了DescriptionAttribute特性…

基于DHCP,ACL的通信

该问题为华为的学习资料 1.首先把所有的PC机全部设置为DHCP 2.配置地址 3.ospf 4.dhcp 5.acl AR1 dhcp en interface GigabitEthernet0/0/0ip address 192.168.1.254 255.255.255.0 dhcp select global interface GigabitEthernet0/0/1ip address 10.1.12.1 255.255.255.…

基于深度学习的卷积神经网络十二生肖图像识别系统(PyQt5界面+数据集+训练代码)

本研究提出了一种基于深度学习的十二生肖图像识别系统,旨在利用卷积神经网络(CNN)进行图像分类,特别是十二生肖图像的自动识别。系统的核心采用了两种经典的深度学习模型:ResNet50和VGG16,进行图像的特征提…

探索温度计的数字化设计:一个可视化温度数据的Web图表案例

随着科技的发展,数据可视化在各个领域中的应用越来越广泛。在温度监控和展示方面,传统的温度计已逐渐被数字化温度计所取代。本文将介绍一个使用Echarts库创建的温度计Web图表,该图表通过动态数据可视化展示了温度值,并通过渐变色…

Attention显存统计与分析

Attention显存估计 简单的Attention函数 import torch import torch.nn as nn import einops class Attention(nn.Module):def __init__(self, dim, num_heads8, qkv_biasFalse, qk_scaleNone, attn_drop0., proj_drop0.):super().__init__()self.num_heads num_headshead_d…

[MacOS] [kubernetes] MacOS玩转虚拟化最佳实践

❓ 为什么不在MacOS本机安装呢?因为M系列芯片是Arm架构,与生产环境或者在本地调试时候,安装虚拟镜像和X86不同,造成不必要的切换环境的额外成本,所以在虚拟化的x86调试 步骤 & 详情 一: 安装OrbStack & 并配置…