JAVA大学教学课件第一章绪论_第1页
JAVA大学教学课件第一章绪论_第2页
JAVA大学教学课件第一章绪论_第3页
JAVA大学教学课件第一章绪论_第4页
JAVA大学教学课件第一章绪论_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、Java语言程序设计主讲:xxxJava语言程序设计主讲:xxx Java语言程序设计第一章: 绪论 Java语言程序设计第一章: 绪论1.1 Java语言的历史-1 Java 是什么吗?Just another valueless acronymJava 是一个地名吗?1.1 Java语言的历史-1 Java 是什么吗?Just1.1 Java语言的历史-2 1991年4月,Sun公司的James Gosling领导了一个代号为Green的项目 ,其目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以通过手机、E-mail等方式发指令给电冰箱电视机等家用电器,对它们进行控制,和它们进

2、行信息交流。 开始,准备采用C+,但C+太复杂,安全性差,最后基于C+开发一种新的语言Oak。Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,结果Java一夜成名,迅速流行,甚至被誉为Internet上的世界语。1.1 Java语言的历史-2 1991年4月1.1 Java语言的历史-3 Java的取名也有一趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当

3、时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。Java创始人 James Gosling博士1.1 Java语言的历史-3 Java的取名1.2 什么是 Java -1 JavaTM 技术是: 1、程序设计语言 2、平台 (开发环境、应用程序环境 )1.2 什么是 Java -1 JavaTM 技1.2 什么是 Java -2 一、Java是一种高级程序设计语言,并具有如下特征: 简单性、面向对象、分布式、解释型、健壮性 安全性、可移植性、高性能、多线程、动态性Java 虚拟机 (JVM) 垃圾收集 代码安

4、全性 1.2 什么是 Java -2 一、Java是一种高级程序设1.2 什么是 Java -3Java程序先被编译,然后被解释执行。通过编译器,可以把Java程序编译成一种中间代码字节码(Byte-code)。字节码是可以被Java解释器解释的独立于平台的代码,是运行在Java虚拟机(Java VM)上的机器代码指令。通过解释器,每条Java字节指令被分析,然后在计算机上运行。下图说明了它是如何工作的:1.2 什么是 Java -3Java程序先被编译,然后被解1.2 什么是 Java -4 Java字节码使得“一次编写,到处运行”成为可能。可以在任何有Java编译器的平台上把Java程序编

5、译成字节码。这个字节码可以运行在任何Java VM上。例如,同一个Java程序可以运行在WindowsNT、Solaris和Macintosh上,甚至这个JVM可以是个硬件、一块芯片。1.2 什么是 Java -4 Java字节码使得“一1.2 什么是 Java -5JavaTM 虚拟机(JVM)规范 : Java虚拟机(JVM)是可运行Java字节码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。 Java虚拟机(JVM)规范是一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现。Java虚拟机包括一套字节码指令

6、集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。编译虚拟机的指令集与编译微处理器的指令集非常类似。 1.2 什么是 Java -5JavaTM 虚拟机(JVM)1.2 什么是 Java -6JavaTM 内存垃圾自动回收(Garbage Collector) JavaTM 程序设计语言使程序员不必负责释放内存,因为它提供了一个后台系统级线程,用于记录每一个内存分配操作并保留对每个内存指针的引用计数。在 Java 虚拟机运行时的空闲周期内,垃圾收集线程查看是否有引用数已降到 0 的内存指针。如果有,则清除(解除分配)垃圾收集线程所标记的内存。 垃圾收集在 Java 应用程序的生命期内自动

7、发生,因此不必手动解除对内存的分配。 1.2 什么是 Java -6JavaTM 内存垃圾自动回收1.2 什么是 Java -7JavaTM 不存在可信任代码 安全机制 Java 程序设计语言代码在计算机上实际运行之前已经过几遍测试。字节码检验器对程序代码进行四遍测试。它确保代码遵守 JVM 规范且不违反系统完整性。如果检验器完成所有四遍测试并且未返回错误信息,则可以确信下列情况属实: 1、类遵守 JVM 规范的类文件格式。 2、没有违反存取限制。 3、代码不导致操作数堆栈溢出或下溢。 4、所有操作码的参数类型正确。 5、没有发生非法数据转换,例如将整型转换为指针。 6、对象字段存取合法。 1

8、.2 什么是 Java -7JavaTM 不存在可信任代码1.2 什么是 Java -81.2 什么是 Java -81.2 什么是 Java -9二、平台是程序运行的硬件或软件环境。Java平台与大多数其它平台不同之处在于它是运行于其它基于硬件平台的纯软件平台。大多数其它平台是硬件和操作系统的结合。Java平台由两部分组成: Java虚拟机(Java VM) (应用程序环境) Java应用程序界面(Java API) (开发环境)我们已经介绍了Java VM,它是Java平台的基础,可以移植到各种基于硬件的平台上。( Java操作系统或Java芯片)Java API是软件组件的集合,它们提供

9、了很多有用的功能,如图形用户界面(GUI)。Java API被分组为相关组件的库(包)。1.2 什么是 Java -9二、平台是程序运行的硬件或软件1.2 什么是 Java -10 作为一种独立于平台的环境,Java比本地代码慢一些。然而,聪明的编译器、很好地调制过的解释器和即时字节码编译器(JIT - just in time compiler)可以在不牺牲可移植性的条件下使Java的表现接近本地代码。1.2 什么是 Java -10 作为一种独立1.3 Java 的应用领域Java 已经渐渐地渗透到各领域1。你可以编写 Java Application 程序,完成其他语言能完成的所有应用程

10、序,而且是跨平台的,可应用于各行各业;2。你可以编写 Java Applet 程序,可以嵌入在浏览器中直接运行;3。你可以编写 Java Servlet / JSP 程序,将其挂在 Apache 、tomcat或其它网页服务器上;4。你可以编写 EJB/ Java Beans,将其挂在Websphere、Weblogic、IAS或其他应用服务器上;5。你可以编写Java MIDlet 程序,在手机上执行;1.3 Java 的应用领域Java 已经渐渐地渗透到各领域1.4 Java 的安装-1Java的安装:( ) JDK(java development kit):jdk-1_4_0_008-

11、win.exe JRE(java runtime environment): jre-1_4_0_008-win.exe环境变量的设置:可通过autoexec.bat文件设置:SET PATH=c:j2sdk1.4bin;. ; %PATH%SET CLASSPATH= c:j2sdk1.4lib;. ; %CLASSPATH% (其中,JDK安装在c:j2sdk1.4)1.4 Java 的安装-1Java的安装:( http:/1.4 Java 的安装-2开发工具:一、文字模式(console mode)的开发工具: Sun 的 Java 2 Software Developmnet Kit

12、( Java 2 SDK ),最新版JavaTM SE 6 ( v1.6.0 ,The number 6 is used to reflect the evolving level of maturity, stability, scalability and security of Java SE. )。其中提供24个工具,都放在bin子目录中,常用的有javac、 java 、appletviewer等。编辑器可使用记事本。 *关于版本号的说明:v 1.1.8 前两个数字代表功能的变更,第三个(以及以后的数字),代表错误修订版。 * J2SE (标准版) J2EE(企业版)J2ME(微型版

13、)1.4 Java 的安装-2开发工具:1.4 Java 的安装-3二、GUI模式的开发工具(graphics user interface mode): IDE(Integrated Development Environment,集成式开发环境):将程序的编辑、编译、 执行、调试等功能整合在一起。如Jcreator2, Freejava2等,我们要使用的集成开发环境是Jcreator2 。 RAD(Rapid Application Development,快速应用程序开发):除具备IDE功能外,可通过可视(Visual)处理的方法摆设组件(component),所见既所得,并调整其属性(

14、property),使编写程序(特别是用户接口部分)就像搭积木一样简便。如Jbuilder: 是 Borland公司产品(最多人使用的开发工具); VisualAge for Java:是 IBM的产品(最先进的开发工具); VisualCafe:是 WebGain的产品(产品家族最完整的开发工具); NetBeans 、Forte 、 Sun Java Studio :是 Sun的产品; Eclipse:是一种开源的、可扩展IDE,是免费的。1.4 Java 的安装-3二、GUI模式的开发工具(g1.5 第一个Java程序-1第一个“Hello World”小应用程序 按照以下步骤,可以创建

15、一个Java小应用程序。/用C语言实现# include Main()println(“Hello World”);/用C+语言实现#include void main()cout“Hello Worldn”;1.5 第一个Java程序-1第一个“Hello Wor1.5 第一个Java程序-2/用Java语言实现1.建立一个名为HelloWorld.java的文件:public class HelloWorld public static void main(String args) System.out.println(“Hello World”); 2.编译源文件用Java编译器编译这个

16、源文件。( javac HelloWorld.java)如果编译成功,编译器产生一个与Java源文件(HelloWorld.java)在同一个目录(文件夹)的名为HelloWorld.class的文件。这个class文件包含Java字节码,是可以被Java运行系统解释的独立于平台的代码。3.运行小应用程序 (java HelloWorld )1.5 第一个Java程序-21.6 Java的反编译-1 控制台下的: JAD的使用 图形用户界面的: FrontEnd的使用 *使用混淆器加密你的Java程序。1.6 Java的反编译-1 控制台下的:1.7 Java的文档注释方法-1 在注释方面,j

17、ava提供一种C/C+所不具有的文档注释方式。其核心思想是当程序员编完程序以后,可以通过JDK提供的javadoc命令(javacdoc 文件名.java),生成所编程序的API文档,而该文档中的内容主要就是从文档注释中提取的。该API文档以HTML文件的形式出现,与java帮助文档的风格与形式完全一致。凡是在“/*”和“*/”之间的内容都是文档注释。例如下面的DocTest.java文件: /* 这是一个文档注释的例子,主要介绍下面这个类 *author walkman *version 1.1.48 2008/09/1 */ public class DocTest/* 变量注释,下面这个

18、变量主要是充当整数计数 */public int i; /* 方法注释,下面这个方法的主要功能是计数 */public void count( ) 1.7 Java的文档注释方法-1 在注释方面,j1.8 Java的学习方法-1 在理解课堂教授内容的基础上,尽量独立完成课后习题。对于疑难问题,可采用如下办法解决: a.参考教材配套书籍或其它相关书籍,上机调试程序,自行解决。问人之前,先问自己 。 b.结成学习小组(3人左右),互助学习; c.通过互联网的技术社区或BBS,向高手请教; / d.通过参与开发开源软件项目,阅读源代码,边开发 边学习。 e.通过robocode ,机器人坦克大战,边

19、娱乐边学习。1.8 Java的学习方法-1 在理解课堂教授官方网站: /官方网站: http:/robocode.alphawor1.8 Java的学习方法-2向上延伸,向下延伸,向旁延伸 当你发现你已经可以掌握此程序语言基本知识之后,你可以选择: 1、向上延伸:学习对象导向分析设计、UML、Design Patterns、以及软件工程。培养自己具有做大型项目的能力。 2、向下深入:深入了解内部底层的机制,例如JVM,操作系统(甚至硬件)内部。 3、向旁延伸:学习不同的API,例如:多媒体、数据库、企业运算等等,扩展自己的编程能力。 另外,数据结构、算法等基础也很重要。 1.8 Java的学习

20、方法-2向上延伸,向下延伸,向旁延在人月神化中 ,F.Brooks 对他自己做的软件项目描述为:“史前巨兽在柏油坑中做垂死前的挣扎挣扎得越厉害,柏油就会黏的越紧,没有任何的猛兽力量够强,技巧够高,得以逃过终至灭顶的命运。在过去的十年,大型系统的程序设计工作就陷进了一个像这样的柏油坑中。”在 Quality Softwre Management II 中,G.Weinberg 这样来描述他自己做软件项目的经验:“你身处湖心当中,划着一艘小船,船底有几个漏洞,水慢慢的渗进来。你想要去堵住漏洞,但却遭到一大群仲夏凶恶蚊子的攻击。能够随时注意到是否有问题的发生,或更进一步能预先加以防范(修补漏洞),理

21、论上说来还不错,但是你得一直忙着去干昨日的问题(不停地打蚊子),完全抽不出空来实现分毫的理论。”Tom DeMarco 人件,管理,不仅仅是技术,更是充满人文精神的艺术。在人月神化中 ,F.Brooks 对他自己做的软件项目描1.9 Java的参考书籍Sun公司编著 Java程序员认证教材SL-110 Sun公司编著 Java程序员认证教材SL-275机械工业出版社 Java编程思想Java 程序设计大学教程 国外计算机经典教材Java2实用教程 Java 夜未眠1.9 Java的参考书籍Sun公司编著 Java程序员1.10 Java认证考试-1Java认证考试(Java方面,Sun推出七项

22、认证):- Sun Certified Java Associate (SCJA)- Sun Certified Java Programmer (SCJP)- Sun Certified Java Developer (SCJD)- Sun Certified Web Component Developer (SCWCD)- Sun Certified Business Component Developer (SCBCD)- Sun Certified Developer For Java Web Services (SCDJWS)- Sun Certified Mobile Application Developer (SCMAD)- Sun Certified Enterprise Architect (SCEA) 1.10 Java认证考试-11.10 Java认证考试-21.10 Java认证考试-21.10 Java认证考试-3SCJP (Sun Certified Java programmer),测试Java编程的观念和能力,内容偏重于Java语法和JDK内容。共59题复选和填充,2小时,61%及格; SCJD (Sun Certified Java developer)测试Java软件开发的进阶技能。分两阶段,第一阶

温馨提示

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

评论

0/150

提交评论