1991年由于计算机处理能力十分有限,不能跨平台运行,故在sun公司 James Gosling (詹姆斯·高斯林)的带领下成立Green项目组开发新的语言。1995年Java正式确立;2004年9月1.5版本发布;2006年sun公司被oracle(甲骨文)公司收购;如今每半年更新一次。
二、语言特点 Java具有如下特点:
1.跨平台性 Java的跨平台性由其运行机制决定,详见“三、语言运行机制”。
2.面向对象 面向对象就是Java语言的基础,也是Java语言的重要特性。面向对象技术使应用程序的开发变得简单易用,节省代码。
3.开源 sun公司在GPL许可证下开源Java。
GPL协议最主要的几个原则: 1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。 2、GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。 3、无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。 4、开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。4.动态的内存管理机制
Java把内存分为两种:堆内存和栈内存。栈内存中存放一些基本类型的变量和对象的引用变量;堆内存中存放由new创建的对象和数组。
5.交互式 Java提供让用户输入数据的接口,可以输入一步执行一步。
6.多线程 Java可以一次执行多个线程(交替执行)。
7.安全性 Java提供了一个“防御屏障”来保证从网络或者其他不受信任的地方下载运行的程序不会破坏本地程序。
“防御屏障”的基本组成如下: 类装载器结构 class文件检验器 内置Java虚拟机(及语言)的安全特性 安全管理器及Java API
并且这些组成中类装载器和安全管理器是可以由用户定制的。
三、语言运行机制 Java独特的运行机制使其具有跨平台型。
(1)程序员在本地创建 .java 文件,即为源文件;
(2)编译器(javac)将其便以为 .class 文件;
(3)不同平台使用不同的虚拟机(JVM)进行翻译,得到机器指令;
(4)平台对翻译出来的机器指令进行执行。
四、JDK、JRE与JVM 1.JDK JDK是 Java Development ToolKit 的简称,即为Java开发工具包,是整个Java的核心。在bin目录下存放了许多的开发工具,常用的有 javac.exe(编译工具)以及 java.exe(运行工具)。
关于JDK的配置,首先在官网下载并安装(傻瓜式),安装完成后,在高级系统设置中找到环境变量的配置界面,于Path中添加一条,地址为JDK目录下的bin的物理地址。 打开cmd窗口,输入 java -verson 进行验证,如若出现版本信息,代表配置成功。2.JRE
JRE是 Java Runtime Environment 的简称,即为Java运行环境,包含JVM标准实现以及Java核心类库,不包含任何开发工具。
JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也正是因为它,Java开发者才得以将自己编写的程序发布到用户手中。
3.JVM JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。
4.JDK、JRE与JVM的关系JDK包含Java运行环境的集合JRE、Java工具以及Java基础类库;而JRE包含JVM标准实现以及Java核心类库;至于JVM则是实现跨平台性的核心部分,能够运行有编译器编译后得到的 .class 文件。



