目录

第一章-Java的诞生与发展历史

目录

第一章 :Java的诞生与发展历史

一、计算机语言的发展史

1

、第一代语言(只有机器能读懂,人根本读不懂)

纯机器语言

2

、第二代语言(机器能读懂,人可以读懂,但是很难懂)

汇编语言(符号语言)

3

、第三代语言(机器能读懂,也非常便于人类阅读)

    • C

      面向过程的语言

    • C++

      面向过程

      /

      对象的语言

    • Java

      跨平台的纯面向对象的语言

二、

Java

的发展史及

Java

体系

2.1

Java

的发展史

Java

之父:

James Gosling

(詹姆斯

·

高斯林)

  • 1995

    年,

    SUN

    公司发布了

    JDK1.0

  • 1998

    年,发布了

    JDK1.2

    ,正式更名为

    Java2

  • 后续

    JDK1.3

    1.4

    1.5

    1.6

    1.7

  • 目前最细版本的是

    JDK1.8

    ,最稳定版本

    JDK1.7

    ,覆盖面最广的版本

    JDK1.6

Java

发展历史中的几个重要版本:

l

Java 1.2

从该版本开始,把

Java

分成

Java SE

Java ME

Java EE

三部分。

l

Java 5 2004

9

30

18:00PM

J2SE 1.5

发布,成为

Java

语言发展史上的又一里程碑。为了表示该版本的重要性,

J2SE 1.5

更名为

Java SE 5.0

l

Java 6 Java

的各种版本更名,以取消其中的数字

“2”

J2EE

更名为

Java EE

J2SE

更名为

Java SE

J2ME

更名为

Java ME

2009

04

20

日,甲骨文

74

亿美元收购

Sun

。取得

java

的版权。

1.2 Java

技术体系

Java

技术分为三个体系:

l

Java SE

J2SE

)(

java

平台标准版)开发桌面应用程序

l

Java EE

J2EE

)(

java

平台企业版)开发面向

Internet

的应用程序

l

Java ME

J2ME

)(

java

平台微型版)开发运行于智能设备的程序。

1.3 Java

语言的特点

面向对象的语言

跨平台的语言

安全健壮

没有指针操作

垃圾自动回收机制

多线程

分布式

1.4 Java

程序的运行机制

Java

虚拟机(

Java Virtual Machine

内存回收机制(

Garbage Collection

4.2

Java

是如何实现跨平台运行的?(一次编译,处处运行)

4.2.1

Java

程序运行需要经历的两个时期

编译期(

Java

编译器)

.java

源文件编译成

.class

字节码文件

http://note.youdao.com/yws/public/resource/16a0e168bff57fa590088498a14f6588/xmlnote/6014A73F29524F59905BDAB36E7E6FFD/C219A2270329407997D3C0F0588C9D55/2262

运行期(

Java

虚拟机)

.class

字节码文件解释成计算机可以读懂的计算机语言

http://note.youdao.com/yws/public/resource/16a0e168bff57fa590088498a14f6588/xmlnote/6014A73F29524F59905BDAB36E7E6FFD/380C95BC549C447C9C495066083843A1/2266

4.2.2

、实现跨平台,完全得益于

Java

虚拟机

http://note.youdao.com/yws/public/resource/16a0e168bff57fa590088498a14f6588/xmlnote/6014A73F29524F59905BDAB36E7E6FFD/53D1805D3530435EA8907E2525DF07B7/2263

Java

虚拟机可以理解成一个可以解释字节码文件的中央处理器

对于不同的操作系统,

Java

提供了不同的虚拟机

Java

虚拟机屏蔽了底层运行平台的差异,真正实现了“

一次编译,处处运行

4.3

Java

的内存机制和垃圾回收机制

4.3.1

Java

的内存机制

电脑的内存机制

http://note.youdao.com/yws/public/resource/16a0e168bff57fa590088498a14f6588/xmlnote/6014A73F29524F59905BDAB36E7E6FFD/7E0586F4E8DD44458C7DC689FB0C34AF/2264

Java 的内存机制

http://note.youdao.com/yws/public/resource/16a0e168bff57fa590088498a14f6588/xmlnote/6014A73F29524F59905BDAB36E7E6FFD/EF40248E92274889BF6B336E1E08E437/2265

4.3.2

Java

的垃圾回收机制

C

oder

(程序员)来说,

java

是友好的,

java

不需要考虑内存未及时回收,造成资源浪费。从而导致应用程序出现泄露的情况,导致引发系统崩溃。

J

ava

程序中,自动进行的

关于内存释放时机:

栈:只要解除使用,及时回收

(

小而快

)

堆:当

java

为空闲状态时,会便利堆内存释放,解除使用的内存空间 (大而慢)

五、

JDK

JRE

5.1

JDK

(

就是

J

ava SDK )

Java Development Kit

java

提供给开发者用于开发

java

软件的开发工具包

Java Runtime Development Kit

5.2

JRE

J

ava

提供给客户用于运行

java

软件的环境

5.3

、总结

J

dk

是给

coder

用的;

jre

是给用户用的。

J

dk

包含

jre