1、Java语言程序设计,张海旸北京邮电大学计算机学院,第1章 Java简介,1.1 Java语言的发展历程1.2 Java语言的特点1.3 Java程序分类,课前思考,大家回想一下,在PC下用windows编写的程序能够不做修改就直接拿到UNIX系统上运行吗?在Java语言出现之前是否存在其它跨平台的语言?有那些语言是面向过程的?有那些语言是面向对象的?C+呢?,学习目标,了解java语言产生的历史和工作原理;初步接触java程序的两种方式:ApplicationApplet;学习阅读java帮助文档;学会安装java开发环境和帮助文档;学会编写小的java程序,并生成相应的帮助文档。掌握jav
2、a程序的结构、编程规范;,难点和重点,Java虚拟机垃圾内存自动回收机制Java语言的特点Java编程规范Java类库帮助文档的浏览和生成,1.1 Java语言的春秋,Java语言在互联网时代获得巨大成功,1.Java语言的产生,2.Java的发展动态,电子商务解决方案:Java+XML分布式计算:Jini消费电子:Personal Java手机:J2ME交互式电视:JavaTV实时Java:Real Time JavaPeer 2 Peer:JXTAJ2EE和J2ME的广泛应用,1.2 Java语言的原理,Java的三大实现机制: Java 虚拟机(Java Virtual Machine)
3、垃圾内存收集机制(Garbage Collection)代码安全性检测(Code Security),为什么要用Java?,简单的面向对象的健壮的安全的解释的结构体系中立的(与平台无关的)多线程的动态的语言,简单性 (c+ - - ) Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在:Java的风格类似C+,C+程序员初次接触Java语言,就会感到熟悉.从某种意义上讲,Java语言是C+的一个变种。(便于理解和转换)Java摒弃了C+中容易引发程序错误的一些特性,如指针,结构,枚举以及内存管理等。Java提供了丰富的类库,可以帮助我们很
4、方便的开发Java程序. 小,基本的解释器及类支持大约为40KB,加上基础标准类库和对线程的支持大约增加175KB,面向对象 面向对象是Java的最重要特性,它支持:继承,重载,多态等面向对象的特性;Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,Java 是健壮的,程序的健壮性即是程序的可靠性Java非常重视及早检查错误,Java编译器可以查处许多其它编译器运行时才能发现的错误Java不支持指针,从而避免了对内存直接操作容易造成的数据破坏;Java自动回收内存.Java具有实时异常处理的功能,Java强制程序员编写异常处理的代码,能够捕获并响应意外情况,
5、Java 是安全的,作为Internet程序设计语言,Java用于网络和分布式环境Java执行多层安全机制用来保护系统不受恶意程序攻击和破坏不允许Applet读写计算机的文件系统,防止对文件破坏、传播病毒等不允许Applet运行浏览器所在计算机上的任何程序除了存储Applet的服务器之外,不允许Applet建立用户计算机与任何其他计算机相连,Java 是解释执行的,Java的源程序首先由编译器(javac.exe)编译成字节码再由解释器(java.exe)解释执行Java解释器能直接在任何机器上执行Java字节码,Java 是体系结构中立的,Write once, Run Anywhere即J
6、ava的平台无关性 Java 程序被编译成一种与体系结构无关的字节代码只要安装了Java虚拟机,Java程序就可以在任意处理器上运行,Java解释器得到字节码后,对他进行转换使他能够在不同的平台上运行Java虚拟机在操作系统级得到统一支持,Java 是体系结构中立的(续),休息一下:两个问题?,Java是跨平台的?JVM呢?跨平台究竟是如何实现的?,可移植性 Java语言的平台无关性,成为了Java语言应用程序方便地移植到网络上不同机器的良好基础,使得Java语言应用程序在已配备了Java语言解释及运行环境的任一台机器上运行是可行的。 可扩展性 由于Java语言是一种基于C+的编程语言,它们之
7、间有很多相似性,便于扩展。当然,Java语言的可扩展性还体现在:Java语言可以把内部的方法映射成软件库所定义的功能,且可以动态地与虚拟机链接。,多线程 Java语言本身提供了一个Thread类和一组内置的方法,它负责生成线程、执行线程或者查看线程的执行状态。所以程序员要设计多线程程序时,只要继承上述的那个类和调用相应的方法就可以解决了,从而也提高了程序执行的效率。,动态性 Java语言的动态性是其面向对象设计方法的扩展.它允许程序动态地装入运行过程中所需要的类,即可以在本地或网上动态地加载类,或者说在程序的执行过程中可以随意地增加新方法、实例变量等。 Java还简化了使用一个升级的或全新协议
8、的方法.如果你的系统运行Java程序时遇到了不知怎样处理的程序,Java能自动下载你所需要的功能程序.,Java的性能?Java字节码的两种执行方式,即时编译方式:解释器先将字节码编译成机器码,然后在执行该机器码.解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程序的所有操作.通常采用的是第二种方法.,1.3 Java程序的分类,Application应用程序Applet小程序,Java Application,通常称为Java应用程序,以main()方法作为程序入口,由java解释器加载执行。,通常成为java小应用程序,通过浏览器或是appletviewer命令加载执行。Applet是java最早获得成功的应用。,Java Applet,