Java概述
Java的起源
-
1990 单片机计算系统诞生 提升消费性电子产品的智能化程度
-
1991 SUN公司为了抢占先机,成立高斯林领导名为“Green”项目小组,提出一个概念:通过技术手段将电子产品互联在一块
-
从硬件入手:最初造了一个“硬件+软件”结合产品,成本特别贵(淘汰)
-
从软件入手:开发一种能够在各种消费性电子产品运行的程序架构
- 最初考虑C++,由于太复杂太庞大淘汰
- 最终在 1992 年, 他们开发了一种名为“Oak”的面向对象语言。1995 年,他们用 OaK 语言研发了一种能将小程序嵌入到网页中执行的技术——Applet,同时OaK正式更名为Java
(JAVA是取的爪洼岛的名字,因为sun(JAVA的出品公司)认为爪洼岛是最早看到太阳的地方,既代表了SUN公司的名称含义(太阳),也代表了JAVA这种一处编译、到处运行的新型语言的前景冉冉升起)
-
Java的演变
-
1996 年 1 月,SUN 公司推出了 JDK1.0。
-
1997 年 2 月,SUN 公司紧接着推出了 JDK 1.1
-
1998 年 12 月 8 日, JDK1.2
-
第二代 Java 平台的企业版 J2EE 发布。
-
1999 年 6 月, Sun 公司把 Java 体系分为三个方向:
- J2ME(Java2 Micro Edition, Java2 平台的微型版) , 应用于移动、 无线及有限资源的环境;
- J2SE(Java 2 Standard Edition, Java 2 平台的标准版) , 应用于桌面环境;
- J2EE(Java 2Enterprise Edition, Java 2 平台的企业版) , 应用于基于 Java 的应用服务器
-
2004 年 9 月 30 日,J2SE1.5 发布,J2SE 1.5 更名为 Java SE 5.0
-
2005 年 6 月,在 Java One 大会上,Sun 公司发布了 Java SE 6。
- J2EE 更名为 JavaEE, J2SE 更名为 JavaSE, J2ME 更名为 JavaME
-
2011 年 7 月 28 日, 收购 Sun 公司的 Oracle 发布了 Java SE 7
-
2014 年 3 月 18 日, Oracle 公司发布 Java SE8,
-
2018 年 9 月 26 日, Java SE 11 发布。 这是 Java 大版本周期变化后的第一个长期支持版本(LTS版本持续支持到 2026 年 9 月)
Java体系于特点
- Java SE:(标准版)各应用平台的基础, 桌面开发和低端商务应用的解决方案。
- Java EE:(企业版) 以企业为环境而开发应用程序的解决方案
- Java ME :(微型版) 致力于消费产品 和嵌入式设备的最佳解决方案
Java可以做什么?
- 开发桌面应用程序
- 开发面向Internet的web应用程序
- 提供各行各业的解决方案
- 嵌入式开发
Java的特性
- 面向对象
- 跨平台
- 健壮(吸收了C/C++语言的优点)
- 较高安全性(异常提示、自动回收垃圾、强制类型检查)
Java跨平台原理
Java 技术的两种核心机制
- Java虚拟机JVM
- 垃圾回收器GC
JVM虚拟机
- JVM可以理解成一个运行JAVA字节码的虚拟计算机系统
- 它有一个组件,可以实现Java字节码和计算机操作系统之间的通信
- 对于不同的运行平台,有不同的JVM
垃圾回收器(GC)
- JVM 提供了一种系统线程跟踪存储空间的分配情况,自动检查释放存储空间
Java SE 的组成概念图
JDK
-
JDK(Java Development Kits)Java开发工具集
包含:
- JRE Java 运行时环境
- Java 编译器(javac.exe)、 Java 运行时解释器(java.exe)、 Java 文档化化工具(javadoc.exe)及其它工具及资资源
-
JRE(Java Runtime Environment)Java运行时环境
包含:
- JVM 虚拟机
- Java API(应用程序编程接口、核心类库)
三项主要功能:
- 加载代码:由类加载器(class loader)完成;
- 校验代码:由字节码校验器(byte code verifier)完成;
- 执行代码:由运行时解释器(runtime interpreter)完成。
-
JVM(Java Virtual Machine)Java虚拟机
JVM可以理解成一个可以运行java字节码的虚拟计算机系统
- 他有一个解释器组件,可以实现java字节码和计算机操作系统之间的通信
- 对于不同的平台,有不同的JVM