1、第4章 计算机屏幕英语及软件文体,4.5 JDK 操作提示信息,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由升阳(Sun Microsystems)公司的詹姆斯高斯林(James Gosling)等人于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。,4.5 JDK 操作提示信息,跨平台概念: 是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境。一个操作系统下开发的应用
2、,放到另一个操作系统下依然可以运行。相对而言如果某种计算机语言不用修改代码即可做到高度跨平台,那么此语言就越抽象,硬件控制力就越低,只适合开发高度抽象的模型系统。诸如java,delphi,都已做到了跨平台。它们将可以在多种系统下开发,运行和维护。,面向对象 (Object Oriented,OO) :是当前计算机界关心的重点,它是90年代软件开发方法的主流。谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少。简单来说,面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成“现实世界”的对象。,4.5 JDK 操作
3、提示信息,由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,在1995年5月23日以“Java”的名称正式发布了。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。,4.5 JDK 操作提示信息,java程序,必须在java的虚拟机里运行; java虚拟机有win下的,也有linux下的。,java程序不是在win或者linux里运行,是在它的虚拟机里运行。,所以java程序,不需要修改直接可以在win和linux上实现跨越。,java可以直接运行在wind
4、ows吗?,java可以直接在linux上运行吗?,4.5 JDK 操作提示信息,Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。,Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关
5、的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。,4.5 JDK 操作提示信息,Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算(cloud computing)和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。,云计算(cloud computing)是一种基于因特网的超级计算模式,在远程的数据中心里,成千上万
6、台电脑和服务器连接成一片电脑云。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。,4.5 JDK 操作提示信息,Java 编程语言的风格十分接近C、C+ 语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C+语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不
7、用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。,4.5 JDK 操作提示信息,所谓纯面向对象的程序设计语言,是区别于支持面向对象的两面性(即保留面向过程的特点,也支持面向对象的特性),也区别于基于面向对象的程序设计语言的不支持多态性。纯面向对象的程序设计语言编写的程序必须以类为基本单位,所有功能都封装在类中,真正实现数据(如数据成员)和业务(如各类方法)的封装。,为什么说java语言是纯面向对象的语言?,C+是支持面向对象的程序设计语言,VB是基于面向对象的程序
8、设计语言,C#、Java是纯面向对象的程序设计语言。 所谓支持面向对象的程序设计语言,指的是这种语言既具有面向过程的特点,如以函数或过程为程序的基本单位,又支持面向对象的特性,如继承等。这样的语言如转型期的C+。 所谓基于面向对象的程序设计语言,是指这种语言本身是面向对象的,具有继承、封装等特点,但不具有多态性的特点,如VB。,4.5 JDK 操作提示信息,Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一
9、定的时间,这同时也在一定程度上降低了Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。,编译执行:一种计算机语言的执行方式。 由编译程序将目标代码一次性编译成目标程序,再由机器运行目标程序。 如:PASCAL,C,C+等语言。效率高于解释执行。,解释执行:计算机语言的一种执行方式。 由解释器现场解释执行,不生成目标程序。 如BASIC便是解释执行,一般解释执行效率较低,低于编译执行。,4.5 JDK 操作提示信息,与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java
10、软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。,兼容:这个词语指同时容纳几个方面。在计算机术语中,兼容是指几个硬件之间、几个软件之间或是几个软硬件之间的相互配合的程度。兼容的概念比较广,相对于硬件来说,几种不同的电脑部件,如CPU、主板、显示卡等,如果在工作时能够相互配合、稳定地工作,就说它们之间的兼容性比较好,反之就是兼容性不好。另一种就是软件共享,几个软件之间无需复杂的转换,即能方便地共享相互间的数据,也称为兼容。,4.5 JDK 操作提示信息,一天,几位Java成
11、员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,这个提议得到了其他人的赞同,于是,Java这个名字就这样传开了。原来看SUN的JAVA标识没去多想,现在看看,这不就是一杯正冒着热气的咖啡吗?,Java名字的起源,4.5 JDK 操作提示信息,Java编程的基本工具包JDK(Java Development Kit)是Sun公司免费提供的开发、运行Java程序的基本软件。,JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(clas
12、s library)(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。,类库:程序员用来实现各种功能的类的集合。 类:在程序设计里面是一个基本概念。所谓类,可以理解为是一组语句的集合,用来描述一组具有共同属性和功能的对象。 类库字面理解也就是说类库就是类的集合。,4.5 JDK 操作提示信息,最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual
13、 Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。,subdirectory n. 子目录 execute vt. 执行 debug vt. 调试 implementation n. 执行,实现 virtual adj. 虚拟的 additional adj. 附加的,额外的 demo n. 演示 platform n. 平台 foundation n. 基础 architecture n. 体系结构 certain adj. 确定的,某一个,N
14、ew Words and Expressions,native adj. 本地的,与生俱来的 interface n. 接口 functionality n. 功能性 core n. 核心 informational adj. 报告的,情报的 specific adj. 特定的 rebuild vt. 重建 extract vt. 析取 comprise vt. 包含 redistribute vt. 重新分发 license n. 许可证,New Words and Expressions,Development Tools (In the bin/subdirectory)开发工具(位于b
15、in子目录),Tools and utilities that will help you develop, execute, debug, and document programs written in the Java programming language.帮助你开发、执行、调试、文档化Java编程语言程序的工具和应用软件。,表418 JDK 包含的主要程序,Runtime Environment (In the jre/subdirectory)运行环境(位于jre子目录),The JRE includes a Java Virtual Machine (JVM), class l
16、ibraries, and other files that support the execution of programs written in the Java programming language. JRE包含Java虚拟机(JVM),类库,以及支持Java语言程序执行的其他文件。,表418 JDK 包含的主要程序,An implementation of the Java Runtime Environment (JRE) for use by the JDK. JDK需Java运行环境JRE的支持。,JRE(Java Runtime Environment,Java运行环境)
17、,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。,Additional Libraries (In the lib/subdirectory)附加库(位于lib子目录),Additional class libraries and support files required by the development tools.开发工具所需的附加类库和支持文件。,表418 JDK 包含的主要程序,Demo Applets and Applications (In the demo/subdirectory)演示用Java小程序和应用程序(位于demo子目录),Exam
18、ples, with source code, of programming for the Java platform. These include examples that use Swing and other Java Foundation Classes, and the Java Platform Debugger Architecture.为Java平台编写的带有源码的实例程序,包含使用Swing、其他Java基类,以及Java平台调试架构的实例。,表418 JDK 包含的主要程序,表418 JDK 包含的主要程序,基类:通过继承机制,可以利用已有的数据类型来定义新的数据类型。
19、所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。这就是基类。,Swing:是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 工具包中所有的包都是以swing作为名称,例如javax.swing, javax.swing.event,Sample Code (In the sample/subdirectory)实例代码(位于sample子目录),Samp
20、le, with source code, of programming for certain Java APIs.为特定Java API编写的带源码的实例。,表418 JDK 包含的主要程序,API(Application Programming Interface,应用程序编程接口): 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。,C header Files (In the include/subdirectory)C头文件(位于include子目录),Header files that supp
21、ort native-code programming using the Java Native Interface, the JVM Tool Interface, and other functionality of the Java platform.支持纯代码编程的头文件,它采用了Java自带的接口、JVM工具接口,以及Java平台的其他功能。,表418 JDK 包含的主要程序,C头文件:在C语言家族程序中,头文件被大量使用。一般而言,每个C+/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的
22、载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。而且 .c就是你写的程序文件。,Source Code (In src.zip)源代码(位于src.zip中),Java programming language source files for all classes that make up the Java core API (that is, sources files for the java.*, javax.* and some org.* packages, but not for com.sun.* pac
23、kages). 针对所有类的Java编程语言源文件,这些类组成了Java的核心API,即这些源文件仅用于java.*、javax.*以及某些org.*包,但不用于com.sun.*包。,表418 JDK 包含的主要程序,This source code is provided for informational purposes only, to help developers learn and use the Java programming language. 该源码仅用于提供信息,以帮助开发者学习并使用Java编程语言。,表418 JDK 包含的主要程序,These files do
24、not include platform specific implementation code and cannot be used to rebuild the class libraries. 这些文件不含特定平台的实现代码,且不能用于重建类库。,To extract these file, use any common zip utility. Or, you may use the Jar utility in the JDKs bin/directory: Jar xvf src.zip可使用任一压缩程序解压出这些文件。或者使用JDK中bin目录下的Jar程序: Jar xvf
25、src.zip,表418 JDK 包含的主要程序,The Java Runtime Environment (JRE)Java运行环境(JRE),表418 JDK 包含的主要程序,The Java Runtime Environment (JRE) is available as a separately downloadable product. See the download web site.Java 运行环境(JRE)可作为单独的下载组件使用。参见下载web站点。,The JRE allows you to run applications written in the Java p
26、rogramming language. JRE允许你运行采用Java编程语言编写的应用程序。,表418 JDK 包含的主要程序,Like the JDK, it contains the Java Virtual Machine (JVM), classes comprising the Java platform API, and supporting files.与JDK类似,JRE含有Java虚拟机(JVM),构成Java平台API的类以及支持文件。,Unlike the JDK, it does not contain development tools such as compil
27、ers and debuggers.JRE与JDK不同,它不含如编译器、调试器等的开发工具。,表418 JDK 包含的主要程序,You can freely redistribute the JRE with your application, according to the terms of the JRE license.你可以根据JRE的许可条款,自由地将JRE与你的应用程序一起重新发布。,表418 JDK 包含的主要程序,Once you have developed your application using the JDK, you can ship it with the JRE so your end-users will have a Java platform on which to run your software.一旦你采用JDK开发出了应用程序,你就能将该应用程序放在JRE上运行,从而你的最终用户将会拥有一个运行你的软件的Java平台。,谢 谢!,