JAVA 介绍
1. 心态¶
- 不要做一个浮躁的人
- 学好英语,很重要
- 阅读源代码和文档
- 共享源代码,不要做一个功利的人
- 热爱Java
2. 发展史¶
- 1991年,Sun公司的Green项目,Oak
- 1995年,推出Java测试版
- 1996年,JDK1.0
- 1997年,JDK1.1 ▪ 1998年,JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版本,更名为Java2
- 1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生
- 2004年,J2SE 5.0 (1.5.0) Tiger老虎.为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。
- 2006年,J2SE 6.0 (1.6.0) Mustang野马.此时,Java的各种版本被更名,取消其中的数字"2":J2EE更名为Java EE, J2SE更名为 Java SE,J2ME更名为Java ME
- 2009年4月20日甲骨文收购Sun公司,交易价格达74亿美元
- 2011年,JavaSE7.0
- 2014年 ,JavaSE8.0
- 2017年,JavaSE9.0
- 2018年3月,JavaSE10.0
- 2018年9月,JavaSE11.0
- 2019年3月,JavaSE12.0
3.版本差异¶
3.1 J2EE (JavaEE)¶
- Java 2 Enterprise Edition:
- 定位在服务器端的应用
3.2 J2SE (JavaSE)¶
- Java 2 Standard Edition
- 定位在个人计算机上的应用
3.3 J2ME (JavaME)¶
- Java 2 Micro Edition
- 定位在消费性电子产品的应用上
4. JVM¶
- JVM是一种规范。就是一个虚拟的用 于执行bytecodes字节码的计算机。
- Java虚拟机是Java最核心技术,也是跨 平台的基础。
- 可以使用软件来实现
- IBM, SUN, BEA等。你也可以自己 写一个JVM
- 可以使用硬件来实现 比如sun/intel公司正在研发的Java 芯片
5. JVM和JAVA跨平台特性¶
- 通过“编译器”将Java源程序编译成Java 字节码文件(.class) (字节码文件采用结构中立的中间文件格式)
- 通过“解释器”将Java字节码文件解释为对应机器语言并运行
Java和C跨平台原理的比较
- Java:一次编译,到处运行
- C多次编译,到处运行
6. JAVA特点¶
- Java是跨平台的
1. Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设 备上运行, 2. Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运 行。
- Java是简单的
1. 不再有#include 和#define 等预处理功能 2. 不再有struct,union及typedef 3. 不再有函数、 4. 不再有指针、 5. 不再有多重继承 6. 不再有goto 7. 不再有操作符重载(Operatior Overloading) 8. 不再有全局变量 取消自动类型转换,要求强制转换 9. 不再有手动内存管理
- Java是安全的
1. Java取消了强大但又危险的指针。由于指针可进行移动运算,指针可随便指向 一个内存区域, 而不管这个区域是否可用,这样做是危险的,因为原来这个内 存地址可能存储着重要数据或者是其他程序运行所占用的, 并且使用指针也容 易数组越界。 2.Java提供了自动内存管理机制,由垃圾回收器在后台自动回收, 3.Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。 4.而在运行环境提供了四级安全性保障机制: 1. 字节码校验器 2. 类装载器 3. 运行时内存布局 4. 文件访问限制
- Java是完全面向对象的
1. Java和C++都是面向对象语言。也就是说,它们都能够实现面向对 象思想(封装,继承,多态)。 2. 由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为 了带类的C语言,多少影响了其面向对象的彻底性! 3. Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。 它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其 他语言的不足之处,从根本上解决了c++的固有缺陷。
- Java是健壮的
1. Java的强制类型机制、异常处理、垃圾的自动收集等是Java程 序健壮性的重要保证。 对指针的丢弃是Java的明智选择。 2. Java的安全检查机制使得Java更具健壮性