javaSE的发展历史以及openjdk和oracleJdk

1 JavaSE 的发展历史

1.1 Java 语言的介绍

  • SUN 公司在 1991 年成立了一个称为绿色计划(Green Project)的项目,由 James Gosling(高斯林)博士领导,绿色计划的目的是开发一种能够在各种消费性电子产品(机顶盒、冰箱、收音机等)上运行的程序架构。这个项目的产品就是 Java 语言的前身:Oak(橡树)。Oak 当时在消费品市场上并不算成功,但是随着 1995 年互联网潮流的兴起,Oak 迅速找到了最适合自己发展的市场定位。

1.2 JDK 的发展历史

  • JDK Beta - 1995。

  • JDK 1.0 - 1996年1月 (真正第一个稳定的版本JDK 1.0.2,被称为Java1)

  • JDK 1.1 - 1997年2月。

  • J2SE 1.2 - 1998年12月。

    • J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境。
    • J2ME(Java 2 Micro Edition,Java 2平台的微型版),应用于移动、无线及有限资源的环境。
    • J2EE(Java 2 Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。
  • J2SE 1.3 - 2000年5月。

  • J2SE 1.4 - 2002年2月。

  • J2SE 5.0 - 2004年9月。

  • Java SE 6 - 2006年12月。

  • Java SE 7 - 2011年7月。

  • Java SE 8 (LTS) - 2014年3月。

  • Java SE 9 - 2017年9月。

  • Java SE 10 (18.3) - 2018年3月。

  • Java SE 11 (18.9 LTS) - 2018年9月。

  • Java SE 13 (19.9) - 2019年9月。

2. 了解 Open JDK 和 Oracle JDK

2.1 Open JDK 的来源

  • Java 是由 SUN 公司发明,Open JDK 是 SUN 在 2006 年末把 Java 开源而形成的项目。也就是说 Open JDK 是Java SE 平台版的开源和免费实现,它是由 SUN 和 Java 社区提供支持,2009 年 Oracle 收购了 SUN 公司,自此 Java 的维护方之一的 SUN 也变成了 Oracle 。

###2.2 Open JDK 和 Oracle JDK 的关系

  • 大多数的 JDK 都是在 Open JDK 的基础上进一步编写实现的,比如 IBM J9、Oracle JDK 等。
  • Oracle JDK 完全是由 Oracle 公司开发,Oracle JDK 是基于 Open JDK 源代码的商业版本。此外,它包含闭源组件。
  • Oracle JDK 根据二进制代码许可协议获取许可,在没有商业许可的情况下,在 2019 年 1 月之后发布的 Oracle JDK 的公开更新将无法用于商业或生产用途。
  • Open JDK 是完全开源的,可以自由使用。
    在这里插入图片描述

2.3 Open JDK 官网介绍

  • Open JDK官网。
  • JDK Enhancement Proposals(JDK 增强建议)。通俗的讲 JEP 就是 JDK 的新特性。

2.4 总结

  • Oracle JDK 是基于 Open JDK 源代码的商业版本。
  • 我们要学习 Java 新技术可以去 Open JDK官网 学习。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕设 推荐系统设计与实现 协同过滤推荐算法

文章目录 0 前言简介常见推荐算法协同过滤分解矩阵聚类深度学习 协同过滤原理系统设计示例代码(py) 系统展示系统界面推荐效果 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕…

Mybatis框架——mybatis是什么

第一,mybatis是一个持久层的框架,它支持自定义SQL,存储过程以及高级映射。 mybatis几乎代替了所有的JDBC代码以及设置参数和获取结果集的工作,可以通过简单的XML或者注解来配置和映射原始类型、接口和Java POJO(Plain…

成都爱尔林江提醒孩子注意力不集中?可能是看不清的“弱视”!

婴儿时期的孩子,注意力不集中是常态,因为总是容易被身边事物吸引,玩一会儿这个,爬一爬又玩玩那个。这个过程其实也是建立认知的过程,注意力在发展建立,产生对事物的探索也是神经系统和头脑在发育。 随着孩子…

Spring整合redis的key时出现\xac\xed\x00\x05t\前缀问题

AutowiredRedisTemplate redisTemplate;User usernew User(5,"tomhs","tttt");ValueOperations opsForValue redisTemplate.opsForValue();//存放key,opsForValue.set("user"user.getId(),user);//读取数据;System.out.println(opsForValue.get…

java DataSize存储容量单位规范化设置

之前的文章 java Duration格式规范化 自定义时间单位类型我们讲述了 Duration 这种jdk单位规范 其实我们还有一个单位 DataSize 我们这里属性类中 加入这个 DataSize的一个属性 然后设置他的 get set函数 然后 toString中加上他的输出 方便我们去看 这个类型是用来设置存储容…

预后模型+实验生信思路,新颖可重复发文空间大

今天给同学们分享一篇生信文章“Novel Implication of the Basement Membrane for Breast Cancer Outcome and Immune Infiltration”,这篇文章发表在Int J Biol Sci期刊上,影响因子为3.5。 结果解读: 建立骨髓评分的预后骨髓基因选择策略 …

Linux Mint 21.3 将搭载 Cinnamon 6.0 和实验性 Wayland 支持

导读Wayland 会话可能在 Linux Mint 23 系列中成为默认选项,预计将在 2026 年实现。 Linux Mint 项目今天在他们的每月新闻通讯中 宣布,他们已经开始着手在未来的 Linux Mint 发行版中实施 Wayland 会话,最初将在 Linux Mint 21.3 中提供。 …

C++11『基础新特性』

✨个人主页: 北 海 🎉所属专栏: C修行之路 🎃操作环境: Visual Studio 2022 版本 17.6.5 文章目录 🌇前言🏙️正文1.C11 简介1.1.起源1.2.主要更新 2.列表初始化2.1.对于内置类型2.2.对于自定义…

从替代走向引领,永洪科技迈向全球化

对于数据分析领域而言,这是一个最好的时代。 《全球数字经济白皮书(2023年)》介绍,2016年-2022年,中国数字经济年均复合增长率为14.2%,数字经济发展增速和规模兼具。随着数字基础实施持续夯实、数字应用不…

接口开放太麻烦?试试阿里云API网关吧

前言 我在多方合作时,系统间的交互是怎么做的?这篇文章中写过一些多方合作时接口的调用规则和例子,然而,接口开放所涉及的安全、权限、监控、流量控制等问题,可不是简简单单就可以解决的,这一般需要专业的…

红队系列-shellcode AV evasion免杀合集

shellcode免杀 一些概念shellcode EDR 了解国内360全家桶360核晶引擎 火绒腾讯电脑管家安全狗金山毒霸瑞星 国外Windwos DefenerKaspersky 卡巴斯基ESET Nod32NortonMcAfeeAVASTAVG科摩多火眼诺顿Symantec小红伞 AV检测方式分类静态扫描引擎特征码扫描识别文件效验和法静态免杀…

媒体软文投放的流程与媒体平台的选择

海内外媒体软文:助力信息传播与品牌建设 在当今数字化时代,企业如何在庞大的信息海洋中脱颖而出,成为品牌建设的领军者?媒体软文投放无疑是一项强大的策略,通过选择合适的平台,精准投放,可以实…

大洋钻探系列之二IODP 342航次是干什么的?(上)

本文简单介绍一下大洋钻探IODP 342航次,从中,我们一窥大洋钻探航次的风采。 IODP342的航次报告在网络上可以下载,英文名字叫《Integrated Ocean Drilling ProgramExpedition 342 Preliminary Report》,航次研究的主要内容是纽芬兰…

学习c#的第九天

C# 可空类型&#xff08;Nullable&#xff09; C# 可空类型&#xff08;Nullable&#xff09; 可空类型允许我们在值类型中包含 null 值&#xff0c;这在处理数据库查询结果或需要表示缺失值的情况时非常有用。 声明一个可空类型的语法如下&#xff1a; < data_type>…

【Python Opencv】图片与视频的操作

文章目录 前言一、opencv图片1.1 读取图像1.2 显示图像1.3 写入图像1.4 示例代码 二、Opencv视频2.1 从相机捕获视频获取摄像头一帧一帧读取显示图片VideoCapture 中的get和set函数示例代码 2.2 从文件播放视频示例代码 2.3 保存视频示例代码 总结 前言 在计算机视觉和图像处理…

蓝桥杯 选择排序

选择排序的思想 选择排序的思想和冒泡排序类似&#xff0c;是每次找出最大的然后直接放到右边对应位置&#xff0c;然后将最 右边这个确定下来&#xff08;而不是一个一个地交换过去&#xff09;。 再来确定第二大的&#xff0c;再确定第三大的… 对于数组a[]&#xff0c;具体…

50个值得关注的生成式AI初创企业【2023】

在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 生成式AI初创公司已成为科技界最新、最强大的参与者&#xff0c;它们利用自然语言处理、机器学习和其他形式的人工智能为各种业务用例生成…

总结MYSQL中VHARCHAR和TEXT

前几天在设计表结构时&#xff0c;针对表中的一个字段使用text还是使用varchar是受到了开发同学的挑战。本篇文章对text和varchar的区别做个总结。 VHARCHAR和TEXT对比 char(n)varchar(n)中括号中n代表字符的个数&#xff0c;并不代表字节个数&#xff0c;所以当使用了中文的…

实战 | 基于卷积神经网络的蘑菇识别微信小程序

一个不知名大学生&#xff0c;江湖人称菜狗 original author: Jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2023.11.13 Last edited: 2023.11.13 导读&#xff1a;其实没啥难的&#xff0c;主要是随手搞了就发出来把&#xff0c;太久没有水过帖子了&…

LCA

定义 最近公共祖先简称 LCA&#xff08;Lowest Common Ancestor&#xff09;。两个节点的最近公共祖先&#xff0c;就是这两个点的公共祖先里面&#xff0c;离根最远的那个。 性质 如果 不为 的祖先并且 不为 的祖先&#xff0c;那么 分别处于 的两棵不同子树中&#…