第一章 对Java平台的认知(1)
一、
JAVA的诞生
JAVA最早是sun公司的Green project(绿色项目)在撰写Star7应用程序时的语言,当时James Gosling(后来的Java之父)将其取名为oak(橡树),由于oak已被注册,在1995年正式改名为JAVA,并发布JAVA Development kits(JDK)。
在1998年发布了java 2 Platform,当时简称J2SE 1.2,而JAVA的开发者版本最早则是以JAVA Development kit发表,因此简称为JDK.而J2SE是java的平台名称,其中包含了JDK和java程序设计语言。
后来几乎每两年就会推出一个
JAVA平台标准版
,比如J2SE 1.2,(1998),J2SE 1.3(2000),以及在2004年推出了J2SE 5.0,也就是J2SE 1.5。直到2006年推出了JAVA Platform ,standard Edition 6,简称JAVA SE 6,JDK 6 全称为JAVA SE Development Kit 6。此后不再使用J2SE的说法,改为JAVA SE。
而此后常说的JAVA SE 7为产品版本,而jdk 1.7.8则是开发版本。(相当于有一个大的产品版本,但是会一直更新,比如JAVA SE 7 ,但是对应JDK 有1.7.9,1.7.11等各个版本)
2010年 sun被Oracle收购,JAVA也正式属于Oracle。2011年正式推出JAVA SE 7.
总结:
需要明白JAVA SE 7是java 平台标准版,也就是说它指的是JAVA平台,而JDK,指的是JAVA开发工具,而通常一个正式的JAVA 标准平台版本,比如
JAVA SE 7,对应多个开发版本,比如说对应多个jdk版本,1.7.8,1.7.9等等。
二、JAVA的三大平台
JAVA根据不同应用级别的开发,区分了不同的应用版本:J2SE(JAVA SE)、J2EE(JAVA EE)、J2ME(JAVA ME)
- JAVA SE (基础/核心)
JAVA SE主要分为四个部分:JVM、JRE、JDK以及JAVA 语言。
这里需要理解JAVA语言指的是语言语法等,比如说关键字,语言规则,变量类型等。
那么JDK和JRE以及JVM又是什么关系?
(1)JDK(java development kit)
java程序的开发工具包,它包含了JAVA的开发环境和运行环境,也就是说JDK是由开发工具(编译器和调试器等)和java运行环境(JRE)组成,JAVA基础类库。是java和核心。
(2)JRE(java runtime Environment)
java的运行环境,面向的java程序的使用者,而不是开发者,意味着如果只有JRE,那么你只能运行JAVA程序,但是无法完成开发活动。它包含了JAVA 虚拟机(JVM)、Java的系统类库。
(3)JVM (java virtual machine)
JVM是java语言能够运行的关键,也是java可以实现跨平台的最核心部分。java语言通过编译器编译为与平台无关的字节码程序(.class文件),然后在JAVA解释器中执行。具体如下图
首先开发者的JAVA程序通过JAVA编译器编译为class字节码文件。而跨平台意味着该字节码文件不论在windows、linux、os等系统都可以运行。那么这些class又是如何执行的?
既然要执行,那么执行的平台必然要有java环境,也就是JRE。具体而言也就是JAVA 虚拟机。具体的加载解析过程将在后面分析。
2、JAVA EE
JAVA EE是以JAVA SE为基础,定义了一系列服务、API、协议等,适用于分布式、多层次、与组件为基础、以WEB为基础的开发。目前比较熟悉的技术就是JSP、servlet、EJB、Spring、Struts等。
3、JAVA ME
JAVA ME 是java平台版本中最小的一个,主要是作为小型数字设备开发和部署应用的平台,比如一些嵌入式系统、或者早期的手机游戏。
三、为什么说JAVA是标准规范
sun公司在1998年成立了一个JCP组织用于引导和监督JAVA演进,任何新特性都必须以JSP正式文件提交,经过JCP审核后方可成为最终文件。
四、学习路径
1、深入学习JVM、JDK、JRE
2、理解封装、继承、多态
3、掌握常用的API
4、学习容器概念
5、研究开放源码
6、学习设计模式和重构
7、熟练掌握开发工具
参考资料:《Java JDK 7学习笔记》