版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/8/12,张晓龙 主编,Java程序设计与开发,电子工业出版社, 2010. 8,2020/8/12,参考书籍,参考书 Java 程序设计唐大仕,北交大 Java语言与面向对象程序设计,印旻, 清华大学出版社 Java编程思想,Bruce Eckel著;陈昊鹏等译,机械工业出版社,2020/8/12,第一章 Java语言概述 第二章 Java语言基础 第三章 Java类和对象 第四章 Java的I/O流和异常处理 第五章 Java用户界面类和Applet 第六章Java网络编程 第七章 Java多线程编程,第八章数据库编程 第九章 Servlet与JSP* 第十章 RMI和EJB*,
2、2020/8/12,第1章Java语言概述,1.1 Java语言及其产生 1.2 Java的特点 1.3 Java的体系结构 1.3.1 Java的体系结构 1.3.2 Java虚拟机 1.3.3 垃圾回收机制 1.3.4 代码安全检测 1.4 Java的3种版本 1.5 Java开发环境概述 1.5.1 JDK的安装、配置和使用 1.5.2 JDK工具箱 1.5.3 Eclipse开发环境的安装、配置和使用 1.5.4 Java程序的编写 1.6 本章小结,2020/8/12,第1章Java概述,学习导读 Java 语言是对软件开发技术有深远影响、应用前景广泛、具有丰富的类库、继承了C+传统
3、广泛使用的网络编程语言。本章着重介绍Java语言的众多特性,JDK1.6,Java语言开发环境以及简单Java程序。,2020/8/12,Java用于创建WITS小应用程序,2004年1月9日,美国“勇气”号探测器成功登陆火星,并在随后的一段时间内,由远在美国NASA中的科学家们控制,对火星进行了成功的探访。,2020/8/12,美国BEA公司,1995年创办,两年后上市,六年后用户数过万,八年后营业额超过10亿美元,创造了全球软件产业的一个奇迹。,2020/8/12,一种可同时适用于高性能企业计算平台、桌面计算平台和移动计算平台的计算机编程技术。,2020/8/12,这些的事例有什么内在联系
4、?,Java编程语言,2020/8/12,1.1 Java语言及其产生,随着新技术World Wide Web的发展,面向对象程序设计语言的进程中又出现了另一个萌芽。由于C和C+写成的程序都是与机器相关的,如果不重新编译,程序就不能运行在另一种类型的计算机上。就此问题,人们将注意力集中于开发一种与机器无关的程序设计语言上。,2020/8/12,1.1 Java语言及其产生,1991年,Sun公司的5位技术专家开始将因特网商业化。James Gosling,Patrick Naughton,Chris Warth, Ed Frank和Mike Sheridan花了18个月的时间开发了一种称为Oa
5、k的编程语言,后来当这种新语言在1995年正式发布时,改名为Java。 目前,最常用的版本是1.6。,2020/8/12,1.1 Java语言及其产生,Java这个名称被用于由Sun公司开发的各种技术。Java的内涵包括三种主要的Java组件: Java语言,为Java平台编写软件的设计语言 Java平台,为执行用Java编写的软件提供支 持的各种运行环境 Java API,提供完整的类库(JFC),包括GUI、数据存储和处理、I/O及网络支持等内容。,2020/8/12,1.2Java的特点,简单易学,Java = C+- 面向对象,有生产力的90%面向对象 分布性,如Internet编程
6、健壮性,强类型 内存管理 异常处理 安全性,如对字节码进行安全性检查,Applet程序 体系结构中立,引入Java虚拟机,字节码与计算机结构无关,2020/8/12,1.2Java的特点(Cont.),移植性,Java虚拟机的引入 解释性,半编译半解释,生成.class类文件 高效性,丰富的类库 多线程,内置线程库 动态性,动态绑定(虚拟函数,虚拟函数表) ,注意:静态函数没有动态性,2020/8/12,1.3 Java的体系结构,2020/8/12,1.3 Java的体系结构,Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在
7、不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。,2020/8/12,1.4 Java的版本,三种版本:企业计算,桌面计算和移动计算。 标准版(Java SE):主要用于桌面应用软件的编程 企业版(Java EE): Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。Java EE包括许多组件,如JSP、Servlet、JDB
8、C、 JavaBean、EJB、JavaMail等 微缩版(Java ME):主要应用于嵌入式系统开发,如手机和PDA的编程,还有实时系统的开发 另外,高性能的分布式计算(RMI,JINI)等应用。,2020/8/12,1.5 Java开发环境概述,1下载安装JDK JDK的下载:登录Java的官方网站() 2配置环境变量 设置Java运行环境:进入“控制面板”,双击“系统”,弹出“系统属性”对话框,选择“高级”单击“环境变量”按钮。,2020/8/12,1.5 Java开发环境概述(Cont.),(1) 环境变量 环境变量也称为系统变量,是由操作系统提供的一种与操作系统中运行的程序进行通信的
9、机制,一般可为运行的程序提供配置信息 环境变量一般为“名字、值”对,在Shell编程中以$变量名来取某变量的值 常用的Java环境变量包括:,JAVA_HOMECLASSPATHPATH,2020/8/12,1.5 Java开发环境概述(Cont.),(2) 环境变量 JAVA_HOME,环境变量JAVA_HOME的值应设置为JDK的安装目录的路径,如在Windows平台上JDK的安装目录为“C:program filesjavajdk1.6”,则 JAVA_HOME为那些需要使用Java命令和JVM的程序提供了通用的路径信息,JAVA_HOME = c:program filesjavajd
10、k1.6,2020/8/12,1.5 Java开发环境概述(Cont.),环境变量CLASSPATH的值一般为一个以分号“;”作为分隔符的路径列表,如 当执行Java程序时,执行命令会首先把类名转换为字节码文件的路径信息,再在环境变量CLASSPATH的值的路径列表的每个路径及其子路径中搜索指定的字节码文件,如果在所有路径都找不到该文件,就报告错误.,CLASSPATH=.;%JAVA_HOME% libdt.jar; ,(3) 环境变量 CLASSPATH,2020/8/12,1.5 Java开发环境概述(Cont.),环境变量PATH是操作系统使用的变量,用于搜索在Shell中输入的希望执
11、行的命令 为了便于使用,一般可把JDK中Java命令程序所在的目录的路径加入PATH变量的值中,如:,PATH=%JAVA_HOME%bin;,(4) 环境变量 PATH,2020/8/12,1.5 Java开发环境概述(Cont.),Java命令是JDK中附带的一组可执行的程序,主要用于Java程序的编译、执行及其它用途 Java命令位于JDK的安装目录的子目录“bin”中,可以通过环境变量JAVA_HOME来表示命令的位置,$JAVA_HOME/bin,(5) Java Command (Java命令),2020/8/12,(6) JDKJava Development Kit Java
12、Runtime Environment (JRE) (Java执行环境) Tools (各种工具程序) Java Class Library Source Files (Java类库源码) Demo (关于各种类的例程),1.5 Java开发环境概述(Cont.),2020/8/12,包括Javac, Java, AppletViewer等,2020/8/12,(7) Java IDE,Java IDE (Java集成开发环境) JDK1.6 +MyEclipse6.0 +Eclipse3.3作为开发环境,Eclipse IntelliJ JBuilder Netbeans Workshop
13、WSAD,2020/8/12,(8) Eclipse IDE,下载并安装软件包 jdk-6u7-windows-i586-p.exe MyEclipse_6.0.1GA_Eclipse3.3.1_Full.exe 解压并安装,如图所示:,2020/8/12,(9) Java程序开发过程,安装JDK,设置环境变量,安装IDE,源程序文件 (*.java),编译,字节码文件 (*.class),程序设计,程序修改,错误,成功,保存,Applet,Rich Client App,Java EE Server App,Java ME App,安装,开发,运行,2020/8/12,Java程序的分类:
14、Java Application 由JAVA解释器独立运行字节码 由专门的命令行启动程序执行 程序中有定义了main()方法的主类 Java Applet 不能独立运行,字节码必须嵌入HTML文档 当浏览器调用含APPLET的Web页面时执行 程序中含有java. applet. Applet 类的子类,1.5.4 Java程序的编写,2020/8/12,(1)Java Application,public class First public static void main(String args) System.out.println(“Hello, Java World!”); 开始使
15、用JDK: /编译器 编译出First.class E:JavaPracticejavac First.java /解释器 运行主类 E:JavaPracticejava First 运行结果如右图所示:,2020/8/12,编写Java程序需要注意的几点: Java区分大小写 一个程序中可以有一个或多个类,但其中只能有一个主类(public class修饰) 源程序编写完毕,应该用主类名作为文件名,再加后缀 .java 存储成磁盘文件 如果将一个java源程序中标记为主类的public去掉的话,则可将此源程序保存为任何一个合法的.java文件,试试看编译后的.class文件有何不同? 编译时
16、要提供后缀名,而解释执行时只需要类名,如果运行时带上了.class,试试看能否正常运行?,2020/8/12,(2)Java Applet,import java.awt.Graphics; import javax.swing.JApplet; public class WelcomeApplet extends JApplet public void paint(Graphics g) super.paint(g); g.drawString(Welcome to Java Programming!, 25, 25 ); 此Applet实现的功能是在起始点坐标为(25, 25)的矩形框中显
17、示如下内容: Welcome to Java Programming!,2020/8/12,Java Applet程序: Java Applet 中不需要有 main 方法,它的要求是程序中有且必须有一个类是系统类Applet的子类,也就是必须有一个类的类头部分以 extends Applet 结尾。 所有的 Java Applet 程序中都必须有一个系统类 Applet 的子类,因为系统类 Applet 中已经定义了很多的成员域和成员方法,它们规定了 Applet 如何与执行它的解释器www浏览器配合工作。,2020/8/12,字节码的解释与运行,源代码,目标码,可执行代码,源代码,字节码,
18、编译,连接,运行,操作系统,编译,解释执行,Java解释器,2020/8/12,字节码的执行要经过三个步骤: 首先,类加载器为程序执行所需的类进行加载。在此过程需要检验该类文件是否符合类文件规范; 其次,字节码校验器检查该类文件的代码中是否存在着某些非法操作;如果字节码校验器检验通过,由Java解释器负责把该类文件解释成为机器码进行执行。 最后,字节码的翻译和执行。 注意:Java程序的代码和数据都被限制在一定内存空间里执行,不允许程序访问该内存空间外的内存,如果是Applet程序,还不允许访问客户端机器的文件系统。,字节码的解释与运行(Cont.),2020/8/12,几个编译选项和运行选项
19、,1. javac -verbose XXX.java /输出编译时信息 javac XXX.java -encoding utf-8 /指定编码集 javac -d . XXX.java /指定存放目录 javac -classpath .;E:Java XXX.java /指定类路径 2. java -verbose:class XXX /监视类加载 java -verbose:gc XXX /监视内存回收 java -verbose:gni XXX /本地方法调用 java -classpath .;E:Java XXX /指定类路径,2020/8/12,对于Java独立应用程序来说,J
20、ava运行系统一般是指Java解释器;而对于Applet,Java运行系统一般是指能运行Applet的与Java兼容的Web浏览器,并且其中包含了支持Applet运行的环境。 Java运行系统的功能是对字节码进行解释和执行。,JRE运行时,2020/8/12,JRE运行时(Cont.) -跨平台运行机制,Source Code(源程序 *.java),Byte Code(字节码文件 *.class),Windows,Linux,Unix,2020/8/12,由于Java的目标代码需要Java运行系统的支持,虽然Java运行系统被建立在各种不同的平台上,但为了做到Java 的可移植性,被建立在不
21、同平台上的Java运行系统的功能要求是一样的,为此Java引入了Java虚拟机(Java Virtual Machine)的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器. 这台虚拟的机器在任何平台上都提供给编译程序一个共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。,Java虚拟机,2020/8/12,Java虚拟机(Cont),1 ()V Code LineNumberTable main (Ljava/lang/String;)V SourceFile HelloWorldApp.java Hello World! HelloWorldApp ,与平台无关的字节码,2020/8/12,虚拟机的优点,平台无关性 (System Independence) 安全 (Security),无论是运行在嵌入式设备还是多个处理器的服务器上,虚拟机都执行相同的指令,所使用的支持库也具有标准的API和完全相同或相似的行为。,虚拟机可以根据要求对其中执行的程序进行控制,使其无法访问虚拟机运行的操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土地开发利用管理责任承诺书(7篇)
- 提升质量与保障承诺书6篇
- 护理安全事件分析与预防
- 智能创造成果承诺书(8篇)
- 电商运营店铺营销策略标准化手册
- 美食餐饮连锁店供应链管理系统设计方案
- 2026年年度财务报告请求函(4篇范文)
- 行业产品包装与标签规范模板
- 班级内部监督制度
- 申诉岗位责任制度
- 2026江苏无锡市惠山区教育局招聘教师41人备考题库及答案详解(历年真题)
- 银行信贷业务操作流程及风险管理手册
- 2023年版《中国急性肾损伤临床实践指南》课件
- 2026年及未来5年市场数据中国汽车租赁行业市场深度评估及投资策略咨询报告
- 员工关爱慰问基金管理办法全新经典版
- 2026江西九江市八里湖新区国有企业面向社会招聘现场及笔试历年参考题库附带答案详解
- 2026浙江凯航物产有限公司招聘31人备考题库及完整答案详解【有一套】
- 新疆乌鲁木齐市2026届九年级中考模拟冲刺(一)数学试卷(含答案)
- 金边龙虱养殖手册
- 《冠心病诊断与治疗指南(2025年版)》
- 党建基层治理知识测试题完美版
评论
0/150
提交评论