12.Java语言的发展

news2024/12/23 23:56:03

JAVA语言的诞生是具有一定戏剧性的,可以说是命运多舛,差点凉凉,差点GG,差点嗝屁。

image-20240327153343805

在1990年的时候Sun(Stanford University Network:斯坦福大学网络)公司成立了一个由 James Gosling 领导的Green计划,准备为下一代的职能家电,也就是电视机、微波炉、电话等去编写一个通用的控制器,这个负责人就是James Gosling,它也名为Java语言之父。

在一开始的时候,这个团队是准备用C++来编写的,但是发现C++在很多方面存在一些问题,使用起来十分不方便,导致项目的进展非常的缓慢,但是大神不愧是大神,编程语言不方便,就自己造一个,所以他们就造了一个全新的语言:Oak语言,起这个名字是因为他们项目团队的门前长了一颗橡树,Oak就是橡树的意思。

到了1992年的时候,Green计划已经完成了新平台的部分功能。包括Green的操作系统、Oak的程序设计语言、类库等。简单理解就是,已经用Oak语言已经做了很多很多事情了。

Sun公司看见这个团队这么牛逼,所以就在11月份,成立了由Sun公司全资的子公司,它的名字就叫做 FirstPerson有限公司。因为这家公司大多数都是程序员,不太会管理,所以因为管理不善, FirstPerson有限公司几乎凉凉,Oak语言也差点凉凉。

但是到了1994年,随着互联网行业进入到快速的发展阶段,Java语言之父James Gosling非常有商业眼光,它立马改写了Oak语言。在同年秋天,完成了第一个Oak语言的网页浏览器,它的名字叫做WebRunner,这个浏览器现在已经不用了,但是在当时,它是一个跨时代的产品,Sun公司看到它们这么牛逼,所以就准备去给Oak注册商标了,但是Oak已经被一家投资公司美国橡树资本管理有限公司给注册过了,所以只能改名叫:JAVA。因为外国的程序员都是比较爱喝咖啡,而生产咖啡豆的地方叫做爪哇岛,所以就改名,叫做JAVA。

改完名字之后,在1995年的时候,正式推出了JAVA。

image-20240327160129987

随后又出现了1.0、1.1、1.2、1.3、1.4版本,但是Sun公司发现了,每次更新只改小数点后面一位,太小家子气了,所以从5开始就改成了大版本号更新,称之为 Java5.0。在06年的时候又推出了6.0。到了09年的时候,Sun公司被Oracle甲骨文公司收购了。Oracle公司在全球而言是非常厉害的公司,是仅次于微软的第二大网络公司。所以Java在Oracle手中,市场份额越来越大,语言的版本也在不断更新,到目前为止,最新的就是刚推出来的Java17。通过这么多版本出现的时间可以发现,从Java9开始,基本上都是6个月出一次版本,Java之所以要保持这么快的更新速度,其实就是为了紧贴市场的发展,使得Java自己不会被淘汰。

image-20240327160704529

但是这么快的更新速度会给我们开发者造成学习上的困扰,所以为了解决这些问题,Java会把这些版本分成两种:1、普通版(过渡版本);2、正式版(长期支持版本)(长期支持版本会有LTS后缀)。

在这么多版本当中,其中Java8、Java11、还有我们现在学习用的Java17,就是LTS长期支持版本,所以从这一方面它就降低了开发者的学习成本。在这么多版本当中,其中有三个版本非常的重要:

  • Java5.0:这是Java的第一个大版本更新。
  • Java8.0:这个是目前绝大数公司正在使用的版本。因为这个版本最为稳定。
  • Java17.0:这个是我们课程中学习的版本。

这些版本向下兼容。新的版本只是在原有的基础上添加了一些新的功能而已。

举例:

用8版本开发的代码,用11版本能运行吗?必须可以的。

用11版本开发的代码,用8版本能运行吗?不一定。

如果11版本开发的代码,没有用到9~11的新特性,那么用8是可以运行的。

如果11版本开发的代码,用到了9~11的新特性,那么用8就无法运行了。

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

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

相关文章

2024软件设计师备考讲义——(3)

程序设计语言 一、程序语言基础 1.基本概念 低级语言:机器语言、汇编语言高级语言: Fortran 科学计算,执行效率高Pascal 为教学开发,表达能力强Prolog 逻辑性程序设计语言C语言 指针操作能力强,可以开发系统级软件&a…

【计算机网络】第 9 问:四种信道划分介质访问控制?

目录 正文什么是信道划分介质访问控制?什么是多路复用技术?四种信道划分介质访问控制1. 频分多路复用 FDM2. 时分多路复用 TDM3. 波分多路复用 WDM4. 码分多路复用 CDM 正文 什么是信道划分介质访问控制? 信道划分介质访问控制(…

Go语言学习Day6:数组与切片

名人说:莫愁千里路,自有到来风。 ——钱珝 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1. 数组① 什么是数组② 数组的声明③ 初始化数组的几种方式④ 遍历数组元素⑤ 数组为值类型⑥ 数…

深入理解Vue 3.0中Async/Await 语法

引言 在 JavaScript 中,异步操作一直是一个挑战,因为它们通常涉及回调函数的嵌套和复杂的 Promise 链式调用。为了解决这些问题,ES8 引入了 Async/Await 语法,它提供了一种更简洁、易读的方式来处理异步操作。 Async/Await 主要…

使用mysql官网软件包安装mysql

确定你的操作系统,我的是Centos myqsl 所有安装包的地址:https://repo.mysql.com/yum/ 如果你是使用rpm安装你可以到对应的版本里面找到对应的包。 mysql 发行包的地址:http://repo.mysql.com/ 在这里你可以找到对应的发布包安装。 这里使用y…

【3DsMax+Pt】练习案例

目录 一、在3DsMax中展UV 二、在Substance 3D Painter中绘制贴图 一、在3DsMax中展UV 1. 首先创建如下模型 2. 选中如下三条边线作为接缝 重置剥 发现如下部分还没有展开 再选一条边作为接缝 再次拨开 拨开后的UV如下 二、在Substance 3D Painter中绘制贴图 1. 新建项目&am…

MIPI RFFE接口

1. 概况 MIPI RFFE是一种专门针对当前及未来无线系统在射频(RF)前端控制界面规范。随着手机射频系统日趋复杂,业界需要一个单一控制界面解决方案。MIPI联盟的RF前端控制界面(RFFE)规范通过提供一个可连接到收发器或无线电的总线界面解决了这一难题,可用于…

【机器学习】数据探索(Data Exploration)---数据质量和数据特征分析

一、引言 在机器学习项目中,数据探索是至关重要的一步。它不仅是模型构建的基础,还是确保模型性能稳定、预测准确的关键。数据探索的过程中,数据质量和数据特征分析占据了核心地位。数据质量直接关系到模型能否从数据中提取有效信息&#xff…

分布式部署LNMP+WordPress

需要四台虚拟机,实际上,我们只需要操作三台 一个数据库,一个nginx,一个php,还需要准备一个软件包wordpress-4.7.3-zh_C 首先配置nginx的服务环境 [rootnginx ~]# vi /usr/local/nginx/conf/nginx.conf 修改文件中的loc…

1.8 python 模块 time、random、string、hashlib、os、re、json

ython之模块 一、模块的介绍 (1)python模块,是一个python文件,以一个.py文件,包含了python对象定义和pyhton语句 (2)python对象定义和python语句 (3)模块让你能够有逻辑地…

从零开始的软件开发实战:互联网医院APP搭建详解

今天,笔者将以“从零开始的软件开发实战:互联网医院APP搭建详解”为主题,深入探讨互联网医院APP的开发过程和关键技术。 第一步:需求分析和规划 互联网医院APP的主要功能包括在线挂号、医生预约、医疗咨询、健康档案管理等。我们…

Elasticsearch 向量搜索

目标记录 ["你好,我的爱人","你好,我的爱妻","你好,我的病人","世界真美丽"] 搜索词 爱人 预期返回 ["你好,我的爱人","你好,我的爱妻"] 示例代码…

企业微信知识库:从了解到搭建的全流程

你是否也有这样的疑惑:为什么现在的企业都爱创建企业微信知识库?企业微信知识库到底有什么用?如果想要使用企业微信知识库企业应该如何创建?这就是我今天要探讨的问题,感兴趣的话一起往下看吧! | 为什么企业…

踏入网页抓取的旅程:使用 grequests 构建 Go 视频下载器

引言 在当今数字化的世界中,网页抓取技术变得越来越重要。无论是获取数据、分析信息,还是构建自定义应用程序,我们都需要从互联网上抓取数据。本文将介绍如何使用 Go 编程语言和 grequests 库来构建一个简单的 Bilibili 视频下载器&#xff…

小米汽车正式发布:开启智能电动新篇章

随着科技的不断进步,汽车产业正经历着前所未有的变革。智能电动汽车作为这一变革的重要方向,正吸引着越来越多的目光。在这个充满机遇和挑战的时代,小米汽车凭借其卓越的技术实力和深厚的市场底蕴,终于迈出了坚实的一步。今天&…

FSV13罗德与施瓦茨FSV13频谱分析仪

181/2461/8938产品概述: 罗德与施瓦茨 FSV13 是一款速度极快且多功能的信号和频谱分析仪,适用于从事射频系统开发、生产、安装和维修工作的注重性能、注重成本的用户。 在开发应用中,罗德与施瓦茨 FSV13 凭借其出色的射频特性、同类产品中无…

论文笔记:分层问题-图像共注意力问答

整理了2017 Hierarchical Question-Image Co-Attention for Visual Question Answering)论文的阅读笔记 背景模型问题定义模型结构平行共注意力交替共注意力 实验可视化 背景 视觉问答(VQA)的注意力模型在此之前已经有了很多工作,这种模型生成了突出显示…

EDA 全加器设计及例化语句应用

文章目录 前言一、全加器是什么?二、使用步骤1.半加器2.全加器1.新建一个全加器工程2.添加半加器的.v文件到全加器工程中3.新建全加器.v文件,写程序,调用半加器.v文件 完成例化 三、仿真效果总结 前言 提示:这里可以添加本文要记…

【Linux】体验一款开源的Linux服务器运维管理工具

今天为大家介绍一款开源的 Linux 服务器运维管理工具 - 1panel。 一、安装 根据官方那个提供的在线文档,这款工具的安装需要执行在线安装, # Redhat / CentOScurl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start…

腾讯云邮件推送功能有哪些?如何有效使用?

腾讯云邮件推送如何设置?怎么用邮件推送做高效营销? 腾讯云作为业界领先的云服务提供商,其邮件推送功能在便捷性、稳定性和安全性上都有着出色的表现。那么,腾讯云邮件推送功能究竟有哪些呢?让AokSend来探个究竟。 腾…