IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 一文带你了解Java编程语言的前世今生 | Java核心知识点整理 -> 正文阅读

[Java知识库]一文带你了解Java编程语言的前世今生 | Java核心知识点整理

他们质疑你,嘲讽你,却又想成为你,取代你
本文由 海拥 原创,首发于 CSDN,参与原力计划

在这里插入图片描述

👴 前言

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。 Java 可运行于多个平台,如 Windows, Mac OS 及其他多种 UNIX 版本的系统。它伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。自诞生至今,还产生了无数和Java相关的产品、技术和标准。下面简要回顾一下Java的技术体系和发展轨迹、历史变迁

?? 一、为什么 Java 要叫 Java(咖啡)?

工作小组在申请注册商标时,发现原用名Oak已被一家显卡制造商注册,因此团队找到了一个新名字。这个名字是在很多成员常去的本地咖啡馆中杜撰出来的。名字是不是首字母缩写还不清楚,很大程度上来说不是。虽然有人声称是开发人员名字的组合:James Gosling(詹姆斯·高斯林)Arthur Van Hoff(阿瑟·凡·霍夫)Andy Bechtolsheim(安迪·贝克托克姆),或“Just Another Vague Acronym”(只是另外一个含糊的缩写)。还有一种比较可信的说法是这个名字是出于对咖啡的喜爱,所以以Java咖啡来命名。


🍺 二、Java 标准划分

Java 的版本演进到Java 2,根据不同层面的应用进行了细化,Java 2平台被分为三种版本,版本及其说明见下表

版本全称描述
J2EE—企业版Java 2 Standard Edition适用于服务器,目前已成为企业运算、电子商务等领域的热门技术 Enterprise Edition
J2SE—标准版Java 2 Standard Edition适用于一般的计算机,开发PC机上的应用软件
J2ME—微型版Java 2 Micro Edition适用于手持设备,进行应用开发,如手机游戏、名片管理等

? 三、Java 语言的优点

1、简单性,语法简捷,自动化内存管理

2、稳定性,完善的字节码安全机制,可靠的异常处理

3、面向对象的语言,始终关注应用中数据和操纵数据的算法

4、Java动态语言,动态编译,动态加载,动态执行,随需而变

5、分布式语言,可以使用网络文件和使用本机文件一样容易

6、安全性高,去掉了指针操作,内存由操作系统分配

7、跨平台,跨平台高并发,高性能互联网架构不二之选


🍚 四、JDK、JRE、JVM的关系

1.JDK Java开发的核心(java development kit)

JDK是Java开发工具包,是整个Java开发的核心,包括了Java运行环境JRE、Java工具(javac.exe,java.exe,jar.exe 等)和Java基础类库。

2.JRE Java的运行环境( java runtime environment)

JRE是Java的运行环境,包含JVM标准实现及Java核心类库。并不是一个开发环境,所以没有包含任何开发工具;

所有的Java 程序都要在JRE下才能运行。普通用户只需要运行已开发好的java程序,安装JRE即可。

3.JVM Java跨平台核心(java virtual machine)

JVM是Java虚拟机,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。

Java语言有一个非常重要的特点(跨平台性↑↑↑)JVM是关键,一般改机语言如果要在不同的平台上运行,需要编译成不同的系统目标代码,而Java语言(一次编译,处处运行),Java语言比较特殊,Java代码(.java) → 编译字节码(.class ),当然.class字节码也不是可执行的,必须使用 Java 解释器来解释执行。

一张图了解更加直观
在这里插入图片描述


🍖 五、Java 历史变迁

最后来看张表格:

时间描述
1991年1月Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统
1991年2月放弃C++,开发新语言,命名为“Oak”
1991年6月JamesGosling开发了Oak的解释器
1992年1月Green完成了Green操作系统、Oak语言、类库等开发
1992年11月Green计划转化成“FirstPerson”,一个Sun公司的全资母公司
1993年2月获得时代华纳的电视机顶盒交互系统的订单,于是开发的重心从家庭消费电子产品转到了电视盒机顶盒的相关平台上。
1994年6月FirstPerson公司倒闭,员工都合并到Sun公司。Liveoak计划启动了,目标是使用Oak语言设计出一个操作系统。
1994年7月第一个Java语言的Web浏览器WebRunner(后来改名为HotJava),Oak更名为Java。
1994年10月VanHoff编写的Java编译器用于Java语言
1995年3月在SunWorld大会,Sun公司正式介绍了Java和HotJava。
1995年5月将Oak语言更名为Java,Java 语言诞生
1996年1月JDK1.0发布
1996年4月10 个最主要的操作系统供应商申明将在其产品中嵌入 JAVA 技术
1996年9月约 8.3 万个网页应用了 JAVA 技术来制作
1997年2月J2SE1.1发布
1997年4月JavaOne 会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997年9月JavaDeveloperConnection 社区成员超过十万
1998年2月JDK1.1 被下载超过 2,000,000次
1998年12月JAVA2 企业平台 J2EE 发布,J2SE1.2发布
1999年6月发布Java的三个版本:J2SE、J2EE、J2ME
2000年5月J2SE1.3发布, 5 月 8 日JDK1.3 发布,5 月 29 日JDK1.4 发布
2001年6月NOKIA 宣布,到 2003 年将出售 1 亿部支持 Java 的手机
2001年9月J2EE1.3发布
2002年2月J2SE1.4发布,自此 Java 的计算能力有了大幅提升
2004年9月J2SE1.5发布,将J2SE1.5改名JavaSE5.0
2005年6月JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 “2”:J2EE 更名为 Java EE,J2SE 更名为 Java SE,J2ME 更名为 Java ME
2006年12月SUN 公司发布 JRE6.0,JavaSE6
2009年4月Oracle 74 亿美元收购 Sun,取得 Java 的版权。
2009年12月JavaEE6 发布
2011年7月Oracle 发布 Java7.0 的正式版
2014年3月Oracle 公司发表 Java SE 8
2017年9月Oracle 公司发表 Java SE 9
2018年3月Oracle 公司发表 Java SE 10
2018年9月Java SE 11 发布
2019年3月Java SE 12 发布
2019年9月Java SE 13 发布
2020年3月Java SE 14 发布
2020年9月Java SE 15 发布
2021年3月Java SE 16 发布

😊 结尾想说的

如果您在文章中看到有哪些不正确的或者自己有疑惑的地方,可以在下方评论或者私信交流。

最近准备整理一下自己在大学期间学习到的Java知识体系放在一个专栏里,思维导图目前还在完善中,大家如果有什么建议也可以评论或者私信告诉我

在这里插入图片描述

往日相关文章:

我已经写了很长一段时间的技术博客,并且主要通过CSDN发表,这是我的一篇技术文章/教程。我喜欢通过文章分享技术与快乐。请访问我的博客: https://haiyong.blog.csdn.net/ 以了解更多信息。希望你们会喜欢!这里汇总了我的全部原创及作品源码:GitHub

如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了?或📑支持一下哦

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 10:44:42  更:2021-07-14 10:44:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/18 17:58:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码