作为当今排名靠前的Java编程语言,要想学好Java语言,必须知其然知其所以然,对Java的语法,特征的掌握是基础,其次,对于Java是如何运作,对象如何创建的,GC是如何回收对象的,也必须有一个清楚的了解,这样才可以更好的了解JAVA是如何由编写,到编译,到运行的,我将整理Java系列,让大家对Java有个全新的了解。重点:语言只是用来开发的工具,只有先熟练运行工具才可以得心应手的进行开发,重在思想。

起源

Java的前身是oak(橡树),由james Gosling博士领导的绿色计划开始启动,他的目的是开发一个能都在各种消费性电子产品上运行的程序,在1995年的互联网的兴起,oak迅速找到适合自己发展的方向,更名为java。

1996年JDK1.0,

1997年JDK1.1,

1998年JDK1.2

2000年JDK1.3

2002年JDK1.4

2004年JDK1.5

2006年JDK1.6

2011年JDK1.7

2014年JDK1.8

2016年JDK1.9

2018年JDK10

2018年JDK11

技术体系

基本概念:

JRE:包含Java虚拟机以及一些JAVA API类库,可以理解为java的运行环境,以及所需要的库函数。

JDK:Java程序设计语言,Java虚拟机,Java API类库三部分的统称。

对于Java的理解,有两种理解,第一种狭义的理解是Java就是一个单纯的编程语言,用于各种开发;第二种广义的理解是Java是一个完整的体系,是一个平台,可以在这个平台的基础上进行各种开发,具体可分为四个平台:

JAVA SE:支持面向桌面的应用得Java平台,以前称为J2SE.

JAVA EE:应用于企业级的后台系统的开发,以前称为 J2EE.

JAVAME:应用于移动终端的开发,以前称为J2ME.

JAVA Card:支持一些小的应用程序运行在小的内存设备上  的平台.

Java虚拟机

Java虚拟机,是一个软件,运行在操作系统上,用来执行字节码文件,可对java语言进行编译生成字节码文件,并进行运行,Java语言的一处编写,到处运行,就是归功于字节码,也可以说是虚拟机,因为对于不同的操作系统,只需下载不同的虚拟机,但是对于字节码文件,都是统一的,所以实现了好的移植性。

Java虚拟机的版本也有很多,最早的java虚拟机可能是 1996年sun公司发布的JDK1.0中的Sun Classic VM,今天他已经不再使用,后面还有更多优秀的虚拟机被开发出来,例如,Sun hotspot VM,Sun Mobile-Embedded VM/Meta-Circular VM,BEA JRockit/IBM J9 VM,Apache Harmony/Google Android Dalvik VM,Microsoft JVM等等. 

注意:Java虚拟机可以运行字节码文件,只要是编程语言,可以被编译成字节码,便可以在虚拟机上运行,例如:Groovy,jython…

本部分主要用于对Java的起源,含义,运行环境,以及所涉及的部分进行大致的讲解,总结内容参考《深入理解Java虚拟机》一书,并加上本人的一些理解。谢谢。