java发展历史
java最初叫做Oak(橡树),诞生于1991年4月,开始的目的是应用于消费电子产品上(如机顶盒、冰箱、收音机)的程序架构,但并未成功。
1995年Oak改名为java,并提出自己的口号“Write Once,Run Anywhere”
1996年JDK1.0发布
2006年Sun公司宣布将java开源,建立了OpenJDK组织对这些源代码进行管理。OpenJDK几乎包含了JDK的所有代码(只有一少部分没有开源)
目前最新的JDK是1.8,在2017年9月份会发布最新的1.9版本
java语言的优点
java能获得如此广泛的认可,除了他拥有一门结构严谨、面向对象的编程语言外,他还有许多不可忽视的优点:
- java摆脱硬件平台束缚,实现了“一次编写,到处运行”,这主要靠JVM;
- java提供相对安全的内存管理机制,避免了绝大部分的内存泄漏和指针越界;
- java实现了热点代码检测和运行时编译及优化,使得java能随着运行时间的增加而获得更高的性能;
- java有一套完善的应用程序接口,还有许多来自商业机构和开源社区的第三方类库完善各种功能;
- ……
java技术体系
广义上:Clojure、JRuby、Groovy等运行于java虚拟机上的语言及其相关的程序都是属于java技术体系中的一员。
传统上:sun官方所定义的java技术体系包括以下几个组成部分:
- java程序设计语言
- 各种硬件平台上的java虚拟机
- Class 文件格式
- JavaAPI类库
- 来自第三方的Java类库
下边介绍几个java常见的概念:
JDK: JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK),我们把java程序设计语言、java虚拟机、javaAPI类库这三部分称为JDK,用于支持java程序开发的最小环境。是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。
JRE: Java Runtime Environment,java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。(运行class字节码,没有java文件编译器)
JAVA-SE: SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,JDK改名为Java SE,主要包括一些java基本的开发包,它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序,支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
JAVA-EE: EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序。J2EE只是Sun推出的一种java web后台开发规范,由JCP这个委员会制定协议标准,具体实现就是由提供服务器的厂商根据规范实现。实际JEE就是比jse多了一些web开发的包。
JDK中包含许多java的基本功能组件:
- javac – 编译器,将源程序转成字节码
- jar – 打包工具,将相关的类文件打包成一个文件
- javadoc – 文档生成器,从源码注释中提取文档
- jdb – debugger,查错工具
- java – 运行编译后的java程序(.class后缀的)
- appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
- Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
- Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
- Jconsole: Java进行系统调试和监控的工具-0
集成开发环境eclipse
eclipse本身是基于java实现的,因此,运行eclipse的条件,就是必须有JRE。eclipse启动之后,会判断启动自己的JRE的安装位置,使用自己默认的jre作为开发程序的运行环境,或者可以自己指定自己的jre(Preferences->Java->Installed JREs),也可以指定自己的JDK目录。eclipse自带自己javac编译器,可以将java文件翻译成class,和jdk下的javac功能一样。