1 / 24

Java 语言程序设计

Java 语言程序设计. 张海旸 北京邮电大学计算机学院 zhhy@bupt.edu.cn. 第 1 章 Java 简介. 1.1 Java 语言的发展历程 1.2 Java 语言的特点 1.3 Java 程序分类. 课前思考. 大家回想一下,在 PC 下用 windows 编写的程序能够不做修改就直接拿到 UNIX 系统上运行吗? 在 Java 语言出现之前是否存在其它 跨平台 的语言? 有那些语言是面向过程的?有那些语言是面向对象的? C++ 呢?. 学习目标. 了解 java 语言产生的历史和工作原理; 初步接触 java 程序的两种方式:

Download Presentation

Java 语言程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java语言程序设计 张海旸 北京邮电大学计算机学院 zhhy@bupt.edu.cn

  2. 第1章 Java简介 1.1 Java语言的发展历程 1.2 Java语言的特点 1.3 Java程序分类

  3. 课前思考 • 大家回想一下,在PC下用windows编写的程序能够不做修改就直接拿到UNIX系统上运行吗? • 在Java语言出现之前是否存在其它跨平台的语言? • 有那些语言是面向过程的?有那些语言是面向对象的?C++呢?

  4. 学习目标 • 了解java语言产生的历史和工作原理; • 初步接触java程序的两种方式: • Application • Applet; • 学习阅读java帮助文档; • 学会安装java开发环境和帮助文档; • 学会编写小的java程序,并生成相应的帮助文档。 • 掌握java程序的结构、编程规范;

  5. 难点和重点 • Java虚拟机 • 垃圾内存自动回收机制 • Java语言的特点 • Java编程规范 • Java类库帮助文档的浏览和生成

  6. 1.1 Java语言的春秋 Java语言在互联网时代获得巨大成功

  7. 1.Java语言的产生

  8. 2.Java的发展动态 • 电子商务解决方案:Java+XML • 分布式计算:Jini • 消费电子:Personal Java • 手机:J2ME • 交互式电视:JavaTV • 实时Java:Real Time Java • Peer 2 Peer:JXTA • J2EE和J2ME的广泛应用

  9. 1.2 Java语言的原理 Java的三大实现机制: Java 虚拟机(Java Virtual Machine) 垃圾内存收集机制(Garbage Collection) 代码安全性检测(Code Security)

  10. 为什么要用Java? • 简单的 • 面向对象的 • 健壮的 • 安全的 • 解释的 • 结构体系中立的(与平台无关的) • 多线程的 • 动态的语言

  11. 简单性(c++ - - ) Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。 Java语言的简单性主要体现在: • Java的风格类似C++,C++程序员初次接触Java语言,就会感到熟悉.从某种意义上讲,Java语言是C++的一个变种。(便于理解和转换) • Java摒弃了C++中容易引发程序错误的一些特性,如指针,结构,枚举以及内存管理等。 • Java提供了丰富的类库,可以帮助我们很方便的开发Java程序. • 小,基本的解释器及类支持大约为40KB,加上基础标准类库和对线程的支持大约增加175KB

  12. 面向对象 面向对象是Java的最重要特性,它支持: • 继承,重载,多态等面向对象的特性; • Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。

  13. Java 是健壮的 • 程序的健壮性即是程序的可靠性 • Java非常重视及早检查错误,Java编译器可以查处许多其它编译器运行时才能发现的错误 • Java不支持指针,从而避免了对内存直接操作容易造成的数据破坏;Java自动回收内存. • Java具有实时异常处理的功能,Java强制程序员编写异常处理的代码,能够捕获并响应意外情况

  14. Java 是安全的 • 作为Internet程序设计语言,Java用于网络和分布式环境 • Java执行多层安全机制用来保护系统不受恶意程序攻击和破坏 • 不允许Applet读写计算机的文件系统,防止对文件破坏、传播病毒等 • 不允许Applet运行浏览器所在计算机上的任何程序 • 除了存储Applet的服务器之外,不允许Applet建立用户计算机与任何其他计算机相连

  15. Java源代码 Java编译器 Java字节码 Java解释器 CPU Java 是解释执行的 • Java的源程序首先由编译器(javac.exe)编译成字节码 • 再由解释器(java.exe)解释执行 • Java解释器能直接在任何机器上执行Java字节码

  16. Java 是体系结构中立的 • Write once, Run Anywhere • 即Java的平台无关性 • Java 程序被编译成一种与体系结构无关的字节代码 • 只要安装了Java虚拟机,Java程序就可以在任意处理器上运行,Java解释器得到字节码后,对他进行转换使他能够在不同的平台上运行 • Java虚拟机在操作系统级得到统一支持

  17. Windows下 C 语言编程过程 Java 语言编程过程 C 源程序(扩展名.c) Java 源程序(扩展名.java) C编译程序 Java编译程序 Windows可执行文件 (扩展名.exe) Java字节码文件 (扩展名.class) 执行 执行 Java虚拟机(JVM) Windows操作系统 Windows下 Java字节码 解释程序 Linux下 Java字节码 解释程序 能直接解释 Java字节码 的CPU 执行 执行 Windows 操作系统 Linux 操作系统 Java 是体系结构中立的(续)

  18. 休息一下:两个问题? • Java是跨平台的?JVM呢? • 跨平台究竟是如何实现的?

  19. 可移植性 Java语言的平台无关性,成为了Java语言应用程序方便地移植到网络上不同机器的良好基础,使得Java语言应用程序在已配备了Java语言解释及运行环境的任一台机器上运行是可行的。 • 可扩展性 由于Java语言是一种基于C++的编程语言,它们之间有很多相似性,便于扩展。当然,Java语言的可扩展性还体现在:Java语言可以把内部的方法映射成软件库所定义的功能,且可以动态地与虚拟机链接。

  20. 多线程 Java语言本身提供了一个Thread类和一组内置的方法,它负责生成线程、执行线程或者查看线程的执行状态。 所以程序员要设计多线程程序时,只要继承上述的那个类和调用相应的方法就可以解决了,从而也提高了程序执行的效率。

  21. 动态性 • Java语言的动态性是其面向对象设计方法的扩展.它允许程序动态地装入运行过程中所需要的类,即可以在本地或网上动态地加载类,或者说在程序的执行过程中可以随意地增加新方法、实例变量等。 • Java还简化了使用一个升级的或全新协议的方法.如果你的系统运行Java程序时遇到了不知怎样处理的程序,Java能自动下载你所需要的功能程序.

  22. Java的性能?—Java字节码的两种执行方式 • 即时编译方式:解释器先将字节码编译成机器码,然后在执行该机器码. • 解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程序的所有操作. 通常采用的是第二种方法.

  23. 1.3 Java程序的分类 Application应用程序 Applet小程序

  24. 通常称为Java应用程序,以main()方法作为程序入口,由java解释器加载执行。通常称为Java应用程序,以main()方法作为程序入口,由java解释器加载执行。 通常成为java小应用程序,通过浏览器或是appletviewer命令加载执行。 Applet是java最早获得成功的应用。 Java Applet Java Application

More Related