3-Java2网络编程基础_第1页
3-Java2网络编程基础_第2页
3-Java2网络编程基础_第3页
3-Java2网络编程基础_第4页
3-Java2网络编程基础_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、designed by chiyong,20051java2 网络编程基础网络编程基础java 编程简介编程简介第一章第一章designed by chiyong,20052课题目标课题目标java语言的特点和优点语言的特点和优点机器语言与高级语言机器语言与高级语言平台与平台无关的应用程序平台与平台无关的应用程序了解了解 java 的运行机制的运行机制jvm(java虚拟机)虚拟机)了解了解 java 程序的基本结构程序的基本结构掌握如何编译和运行掌握如何编译和运行 java 程序程序designed by chiyong,20053java发展史发展史1990 年年sun 公司的公司的 ja

2、mes gosling等人开始开发等人开始开发名称为名称为 oak 的语言。希望用于控制嵌入在有线电的语言。希望用于控制嵌入在有线电视交换盒、视交换盒、pda(personal digital assistant 个人数个人数字助理字助理)、家用电器、家用电器等的微处理器。等的微处理器。 1993 年交互式电视和年交互式电视和 pda 市场开始滑坡,而市场开始滑坡,而 internet 正处于增长时期,因此正处于增长时期,因此sun 公司将目标公司将目标市场转向市场转向 internet 应用程序。应用程序。1994年将年将oak语言更名为语言更名为java。(。(javajava音译为音译为

3、“爪哇爪哇”,是印尼一个盛产咖啡的岛屿),是印尼一个盛产咖啡的岛屿) 1995年年正式推出正式推出1995年年sun 公司的公司的 hotjava 浏览器问世。浏览器问世。designed by chiyong,20054什么是什么是 javajava 是一种跨平台的,纯面向对象的编程语是一种跨平台的,纯面向对象的编程语言。言。 java 主要应用在基于主要应用在基于 web 的程序中。的程序中。java 在客户端可用来生成两类程序:应用程在客户端可用来生成两类程序:应用程序(序(application)、 小应用程序(小应用程序( applet ) 。java 既是一种编译执行的语言,也是一

4、种解既是一种编译执行的语言,也是一种解释执行的语言。释执行的语言。designed by chiyong,20055java的基本特点的基本特点3-1简单简单面向对象面向对象分布式分布式vjavajava的风格类似于的风格类似于c+c+,因而对,因而对c+c+程序员而言非常容易掌握程序员而言非常容易掌握javajava编程技编程技术;术; vjavajava摒弃了摒弃了c+c+中容易引发程序错误中容易引发程序错误的地方,如指针操作和内存管理;的地方,如指针操作和内存管理; v在在 java java 中任何东西都是对象,中任何东西都是对象,是真正纯粹面向对象的语言。更是真正纯粹面向对象的语言。

5、更有利于编制大型软件工程有利于编制大型软件工程vjavajava提供了包容广泛的例程库,可处理提供了包容广泛的例程库,可处理像像httphttp和和ftpftp这样的这样的tcp/iptcp/ip协议。协议。javajava应应用程序可通过一个特定的用程序可通过一个特定的urlurl来打开并访来打开并访问对象,就像访问本地文件系统那样简单。问对象,就像访问本地文件系统那样简单。 designed by chiyong,20056vjavajava语言提供的安全机语言提供的安全机制制v编译器提供的安全机制编译器提供的安全机制v字节码校验器字节码校验器v类加载器类加载器java的基本特点的基本特点

6、3-2健壮性健壮性安全安全体系结构中立体系结构中立可移植性可移植性v java java在编译和运行程序时都要对在编译和运行程序时都要对可能出现的问题进行检查可能出现的问题进行检查v它提供自动垃圾收集来进行内存它提供自动垃圾收集来进行内存管理管理 v具有面向对象的异常处理机制具有面向对象的异常处理机制v java java 程序被编译成一种程序被编译成一种与体系结构无关的字节代码与体系结构无关的字节代码v只要安装了只要安装了javajava运行时系运行时系统,统,javajava程序可以在任意的程序可以在任意的处理器上运行处理器上运行v源代码级源代码级v目标代码级目标代码级designed b

7、y chiyong,20057java的基本特点的基本特点3-3解释执行解释执行高性能高性能多线程多线程动态动态vjavajava语言内置支持多线程的功能语言内置支持多线程的功能vjava java 类库提供了类库提供了 thread thread 类类 javajava自身的设计使它适合于一个不断发展的环自身的设计使它适合于一个不断发展的环境。在境。在javajava类库中可以自由地加入新的方法和类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。实例变量而不会影响用户程序的执行。通过通过jitjit编译器编译器(just-in-time , (just-in-time , 运行

8、运行时编译执行的技术时编译执行的技术) )首先将字节码编译首先将字节码编译成固有代码,将结果缓存下来,然后成固有代码,将结果缓存下来,然后在需要时调用它们。在需要时调用它们。 v编译器编译器 javac.exe javac.exe 将处理将处理.java.java源源文件生成类文件文件生成类文件 v类文件可通过名称为类文件可通过名称为 java.exe java.exe 的的加载实用程序解释执行,将加载实用程序解释执行,将java java 字节字节码转换为机器可执行代码。码转换为机器可执行代码。 designed by chiyong,20058了解了解java的跨平台性机器语言的跨平台性机

9、器语言不同种类的计算机有不同的机器语言designed by chiyong,20059了解了解java的跨平台性的跨平台性高级语言高级语言 高级语言程序高级语言程序 目标语言程序目标语言程序编译器的编译编译器的编译 目标语言程序可能是:目标语言程序可能是:机器语言程序机器语言程序(如:(如:c,c+)中间语言程序中间语言程序(如:(如:java的的 class 代码)代码)designed by chiyong,200510了解了解java的跨平台性的跨平台性操作系统操作系统operating system操作系统用来支持最操作系统用来支持最基本的操作,比如创基本的操作,比如创建文件和文件夹

10、,在建文件和文件夹,在屏幕上显示,打印等屏幕上显示,打印等等。等。操作系统是用户操作系统是用户与计算机之间的与计算机之间的主要接口。主要接口。所有的程序都与操作所有的程序都与操作系统通讯系统通讯designed by chiyong,200511为一种平台编写的代码不能在另一种平台上运行。为一种平台编写的代码不能在另一种平台上运行。机器语言决定代码移植的可行性机器语言决定代码移植的可行性software for ibm machinesun solarissoftware for solarismacsoftware for mac machineibm平台可以理解为计算机系统与硬件的结合体。

11、平台可以理解为计算机系统与硬件的结合体。designed by chiyong,200512编译后执行的高级语言程序存在的问题编译后执行的高级语言程序存在的问题问问题题program为特定的平台为特定的平台编写的程序在编写的程序在其他平台上无其他平台上无法使用法使用解解决决办办法法解释解释器器解释解释器器解释解释器器program为解决这为解决这个问题,个问题,我们使用我们使用了了“解释解释器器”。 这样在解释器的帮助下,我们就可以编写一次代码而在不这样在解释器的帮助下,我们就可以编写一次代码而在不同的同的平台平台上运行。上运行。designed by chiyong,200513java j

12、ava 程序的运行环境程序的运行环境编译型源程序编译型源程序字节码程序字节码程序java源程序源程序可执行程序可执行程序exe裸机裸机操作系统操作系统解释器解释器编译编译连接连接编译编译执行执行解释解释执行执行.java.class因此,每个平台都有一个特定的因此,每个平台都有一个特定的jvm。即。即jvm是与平台相关的是与平台相关的平台平台designed by chiyong,200514javajava虚拟机虚拟机 2 - 12 - 1java虚拟机虚拟机(jvmjava virtual machine)可以是硬件或软件(通常为软可以是硬件或软件(通常为软件)。可以在操作系统和硬件平台上

13、模件)。可以在操作系统和硬件平台上模拟一种抽象化的计算机系统运行时环境,拟一种抽象化的计算机系统运行时环境,在上面执行在上面执行java的字节码程序。的字节码程序。java虚拟机将在内部创建一个运行时系虚拟机将在内部创建一个运行时系统统(jre),主要功能如下:,主要功能如下: 加载 .class 文件 管理内存 执行垃圾收集designed by chiyong,200515javajava虚拟机虚拟机 2 22 2(实时编译(实时编译器)器)使用使用“实时实时 (just in time)” 编译器,也称编译器,也称为为jit编译器。可以提高编译器。可以提高 java 代码的执行代码的执行

14、速度。速度。sun公司在公司在java 2 发行版中提供了发行版中提供了jit编译编译器,器,jit编译器是编译器是java虚拟机的一部分。虚拟机的一部分。 jit 的主要用途是将字节码指令集转换为针的主要用途是将字节码指令集转换为针对某一特定微处理器的机器代码指令。对某一特定微处理器的机器代码指令。designed by chiyong,200516javajava虚拟机虚拟机 2 32 3(hotspothotspot编译编译器)器)hotspot性能优化编译器是对性能优化编译器是对java2平台的增平台的增强,强,主要加速模块的组成部分:内存模型,垃主要加速模块的组成部分:内存模型,垃圾

15、收集,线程同步,本地编译器。圾收集,线程同步,本地编译器。特性综述:特性综述: 总体性能更强(和总体性能更强(和jit编译器相比);编译器相比); 针对平台的最优化;针对平台的最优化; 精确的一次性垃圾收集器;精确的一次性垃圾收集器;designed by chiyong,200517javajava虚拟机虚拟机 2 32 3(hotspothotspot编译编译器)器)java hotspot性能优化编译器主要包括两个文件性能优化编译器主要包括两个文件和其它一些调试库文件,位置在和其它一些调试库文件,位置在jrebin目录下:目录下:新版本新版本jdk包含两种编译器(包含两种编译器(serv

16、er和和client),),它们都有下面两个文件它们都有下面两个文件 jvm.dll xusage.txt测试测试hotspot:dos提示符:提示符:java -version提示信息:提示信息:使用使用“混合模式混合模式”,可以把使用频率高的代码编译成本地代码,而,可以把使用频率高的代码编译成本地代码,而其它的代码仍然解释执行,可以获得最高的效率。其它的代码仍然解释执行,可以获得最高的效率。java hotspot(tm) client vm (build 1.4.1_02-b06, mixed mode)designed by chiyong,200518java java 运行时环境运

17、行时环境编译时编译时.java(源代码)(源代码).class(字节码)(字节码)运行时运行时类加载器类加载器字节码校验器字节码校验器解释器解释器jit代码代码生成器生成器硬件硬件网络网络designed by chiyong,200519垃圾收集垃圾收集2-12-1java 虚拟机使用两个独立的堆内存,分虚拟机使用两个独立的堆内存,分别用于静态内存分配和动态内存分配。别用于静态内存分配和动态内存分配。 其中一个是非垃圾收集堆内存,用于存储所有类定义、常量池和方法表。用于垃圾收集的算法适用于存放在动态用于垃圾收集的算法适用于存放在动态堆内存中的对象。堆内存中的对象。designed by ch

18、iyong,200520垃圾收集垃圾收集 2-22-2垃圾收集器将在收集对象实例之前调用垃圾收集器将在收集对象实例之前调用 finalize 方法。方法。即使显式调用即使显式调用 (system.gc( ) 方法来启动垃方法来启动垃圾收集线程圾收集线程 ,但它也不能保证立即运行。,但它也不能保证立即运行。因为垃圾收集线程的运行优先级很低,所以因为垃圾收集线程的运行优先级很低,所以可能经常会被中断。可能经常会被中断。designed by chiyong,200521java java 的编辑环境的编辑环境jdk(java development kit)是有助于程是有助于程序员开发序员开发ja

19、va 程序的程序的 java 开发工具包,开发工具包,它它包括:包括: 类库 编译器 调试器 java 运行时环境( jre )小常识:小常识:java 2的版本号是和的版本号是和jdk的版本号相联系的,的版本号相联系的,在在jdk 1.2版本之后版本之后,都为都为java 2。designed by chiyong,200522jdk jdk 提供的常用工具提供的常用工具 javac.exe 是用来编译源代码的命令。是用来编译源代码的命令。 java.exe是用于执行类文件的命令,而类文是用于执行类文件的命令,而类文件将在件将在 java 虚拟机中运行类。虚拟机中运行类。appletview

20、er 命令允许在万维网浏览器的环命令允许在万维网浏览器的环境之外运行境之外运行 applet。designed by chiyong,200523java applicationjava application程序基本结构程序基本结构import语句语句class public static void main(string args) 主类名称主类名称方法体方法体designed by chiyong,200524第一个第一个 java java 程序程序/这是名称为这是名称为“helloworld.java”的简单程序的简单程序import java.io.*; class hellowo

21、rld public static void main(string args ) system.out.println(“欢迎访问欢迎访问 java java 世界!世界!“); 单行注释单行注释导入导入必要的包必要的包定义类定义类main函函数数在控制台上输出在控制台上输出designed by chiyong,200525在记事本编辑在记事本编辑javajava程序程序单击单击开始开始依次选择依次选择程序程序-附件附件-记事本记事本/这是名称为这是名称为“helloworld.java”的简单程序的简单程序import java.io.*; class helloworld public

22、 static void main(string args ) system.out.println(“欢迎访问欢迎访问 java java 世界!世界!“); designed by chiyong,200526编译和运行编译和运行单击单击开始开始依次选择依次选择程序程序-附件附件-命令提示符命令提示符进入程序所进入程序所保存的目录保存的目录输入命令编译输入命令编译helloworld输入命令执行输入命令执行helloworld 输出输出结果结果designed by chiyong,200527java api java api 文档文档2-12-1加载加载 api 文档的步骤:文档的步骤:1.打开打开 internet explorer。2.键入下列键入下列 url http:/ api java api 文档是文档是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论