01Java编程概述.ppt

上传人:qwe****56 文档编号:70012090 上传时间:2023-01-14 格式:PPT 页数:40 大小:596.50KB
返回 下载 相关 举报
01Java编程概述.ppt_第1页
第1页 / 共40页
01Java编程概述.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《01Java编程概述.ppt》由会员分享,可在线阅读,更多相关《01Java编程概述.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Java编程概述Java发展简史Java技术体系架构JRE的安装编写一个Java应用程序新手常见错误计算机语言的发展计算机语言的发展第一代语言第一代语言打孔机打孔机-纯机器语言纯机器语言直接由计算机的指令组成,指令、数据、地址都是以直接由计算机的指令组成,指令、数据、地址都是以0和和1的符合的符合串组成;可以被计算机直接执行。串组成;可以被计算机直接执行。第二代语言第二代语言汇编语言汇编语言-用容易理解和记忆的符号表示指令、数据以及寄存器等,用容易理解和记忆的符号表示指令、数据以及寄存器等,抽象层次很低,程序员需要考虑大量的机器细节。抽象层次很低,程序员需要考虑大量的机器细节。计算机语言的发展

2、计算机语言的发展第三代语言第三代语言 高级语言高级语言屏蔽了机器细节,提高了屏蔽了机器细节,提高了 的抽象层次接近于人的自然语言,提出了结的抽象层次接近于人的自然语言,提出了结构化数据和语句,数据和过程抽象等概念。构化数据和语句,数据和过程抽象等概念。C面向过程面向过程C+面向过程面向过程/面向对象面向对象Java跨平台的纯面向对象的语言跨平台的纯面向对象的语言面向对象的语言与以往的各种语言的根本不同是,它的设计出发点就面向对象的语言与以往的各种语言的根本不同是,它的设计出发点就是为了能直接的描述问题域中客观存在的事物。是为了能直接的描述问题域中客观存在的事物。前面三种的语言都要自己控制怎么做

3、怎么做。前面三种的语言都要自己控制怎么做怎么做。计算机语言的发展计算机语言的发展第四代语言第四代语言SQL 只需要告诉机器我要什么,不管怎么得到结果的。只需要告诉机器我要什么,不管怎么得到结果的。第五代语言第五代语言自然语言自然语言计算机语言是朝着人更加容易理解的方向发展,而不是朝着计算机容计算机语言是朝着人更加容易理解的方向发展,而不是朝着计算机容易理解的方向发展易理解的方向发展.Java概述Java的出生地:SUN Microsystems Inc.SUN:Stanford University NetworkJava之父:James GoslingJava发展简史1991年出现1995年

4、发布最新推出Java Platform,Standard Edition,v1.5,现在用得最广的是1.4Java技术体系架构Java技术体系架构J2SE(Java 2 Standard Edition)标准版(桌面开发和低端商务应用的解决方案),提供CORBA标准的ORB技术,结合Java的RMI支持分布式互操作环境。J2EE(JAEE)(Java 2 Enterprise Edition)企业版(以企业为环境而开发应用程序的解决方案),目前已经成为开发商创建电子商务应用的事实标准。J2ME(Java 2 Micro Edition)微型版(致力于消费产品和嵌入式设备的最佳解决方案),提供了

5、HTTP高级Internet协议,使移动电话能以Client/Server方式直接访问Internet的全部信息,不同的Client访问不同的文件,此外还能访问本地存储区,提供最高效率的无线交流。J2EE 三大组件1)Servlet -提供了基于组件、平台无关的方法用以构建基本Web的应用程序。2)JSP-JSP技术是servlet的扩展,代表Java服务器端页面。3)EJB-企业级的Java Bean,定义了服务器端组件是如何被编写以及提供了在组件和管理它们的服务器和组件间的标准架构协议。J2EE 服务4)JDBC-JDBC对大范围关系型数据库提供了统一的访问,JDBC2.0提供了数据库连接

6、池的支持。5)RMI和和RMI-IIOP-RMI代表远端方法调用(remote method invocation);-IIOP-Internet Inter-ORB协议,RMI的扩展。-RMI是一种调用远端方法的一种机制。EJB依靠RMI作为同一机器或不同机器组件间的一种会话API;6)JNDI-Java命名和目录接口(Java Naming and Directory Interface)。J2EE 服务7)JMS-Java消息服务(Java Messaging Service),异步通讯的实现。-通过结合Java技术于企业消息,JMS API提供了一个新的,强有力的工具以解决企业计算问题

7、。通过定义一组消息概念和编程策略,JMS API提升了程序员的生产效率。J2EE 相关术语8)JTA和和JTS-JTA Java Transaction API;-JTS Java Transaction Service;-JTA是高级别的传输API,允许应用程序和J2EE服务器管理事务;JTS表明了事务管理器的具体实现。9)Security-J2EE访问控制包括鉴定(authentication)和授权(authorization)。10)Containers-每个组件运行于J2EE平台提供商提供的容器内。-容器提供了特定的部署和运行服务(生命周期、安全,事务等)。11)Web和和EJB容器

8、容器-通过调用JSP和servlet以及返回结果给客户端,Web组件提供给客户端以运行时支持,如Tomcat。-EJB容器提供事务、EJB组件状态管理以及lookup、安全等的自动支持。如Weblogic、Jboss。JVM(Java Virtual Machine)在一台计算机上由软件或硬件模拟的计算机。Java虚拟机(JVM)读取并处理经编译过的平台无关的字节码class文件。Java编译器针对Java虚拟机产生class文件,因此是独立于平台的。Java解释器负责将Java虚拟机的代码在特定的平台上运行。Sun 目前采用的目前采用的JVM叫做叫做HotSpot。Java运行时环境(JRE

9、)它是运行Java应用程序所必须的。JRE包括JVM(Java Virtual Machine,java虚拟机)、Java核心类库(Java API)和若干支撑文件组成。Java运行环境的三项主要功能:加载代码:由class loader 完成;校验代码:由bytecode verifier 完成;执行代码:由 runtime interpreter完成。Java Development Kit(JDK)JDK 是Java开发工具(Java Development Kit)的简称,这是为Java开发人员准备的,它除了包括JRE的全部内容外,还包括编译、调试、文档生成等工具,这些工具对于开发Ja

10、va应用程序和Java小程序(applet)都是必不可少的。作为Java开发者,学习和掌握JDK是必不可少的功课,目前最新的版本是JDK6。问题问题JRE和JVM的关系?答:简单的说:JRE包含JVM,JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要其他的类加载器、字节码效验器以及大量的基础类库。JRE除了包含JVM之外,还包含运行Java程序的其他环境支持。Java 2 Platform Standard EditionJava的垃圾回收机制(GC)不再使用的内存空间应回收-垃圾收集。在C/C+等语言中,由程序员负责回收无用内存。Java语言解除了程序员回收

11、无用内存空间的责任。它提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间。垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。环境变量JAVA_HOME让诸如Tomcat等应用软件找到你Java的安装路径,因为他们需要用,而在启动Tomcat的时候,他直接引用了%JAVA_HOME%设置一个JAVA_HOME,环境变量指定JDK安装目录,很多服务器都需要这个变量的。环境变量Path -设置供操作系统去寻找和执行应用程序的路径。也就是说,如果操作系统在当前目录下没有找到我们想要执行的程序和命令时,操作系统就会按照path环境变量指定的

12、目录依次去查找,以最先找到的为准。Path环境变量可以存放多个路径,用分号(;)隔开。在Linux下用冒号(:)隔开。设置后可以在命令行用set;path命令查看,该命令只对当前命令行有效。jdk的命令(工具)存放在JDK安装路径的bin目录下通常设置到jdk安装目录的bin目录下set path=c:javajdk_1.6.0_02bin思考你的cmd是如何直接启动notepad的.java -version javac -version 环境变量CLASSPATH -Java在编译和运行时要找的class所在的路径.1.注意CLASSPATH大写(为什么)linux/Unix=区分大小写2

13、.如果不设置CLASSPATH,JVM默认会在你存放当前.java文件的路径去找.class文件,也就是说如果不设置CLASSPATH 那么他的默认值是.,但是一旦设置了CLASSPATH,又没有设置.那么JVM就只去CLASSPATH指定的位置去找编译出来的.class文件.3.注意,指定CLASSPATH不是指定.class文件的具体位置,还要考虑包结构.表示当前目录jar包的用法,也就是说JVM如果发现CLASSPATH当中有jar包,会自动读取包内内容,相当于在当前目录有包内内容 CLASSPATH的设置开发一个Java应用程序(案例1-1)开发Java应用的基本步骤:编写源代码,生成

14、.java文件。编辑Java文件,用文本编辑工具即可;编译源代码,生成.class文件;javac HelloWorld.java或java*.java运行该程序java HelloWorld开发Java应用编写程序public class HelloWorld/Java应用程序入口方法public static void main(String args)/向控制台打印一条信息System.out.println(Hello World!);开发Java应用编译程序将上述程序内容保存为一个扩展名为.java的文件,文件命名为HelloWorld.java。进入到java源文件保存的目录,通过

15、下列指令来编译这个java文件:javac HelloWorld.java开发Java应用运行文件在.java文件编译生成的.class文件所在的路径下,执行如下命令:java HelloWorld,然后回车问题问题为什么Javac命令不需要指定目标文件名?答:因为Java编译后生成的字节码文件有默认的文件名:文件名总是以源文件所定义的类的类名为主文件名,以.class为后缀名。这意味着如果一个源文件里定义了多个类,将编译生成多个字节码文件。HelloWorld应用要点1.Java中的程序必须以类(class)的形式存在,一个类要能被解释器直接启动运行,这个类必须有main函数,JVM运行时会

16、首先调用这个类的main函数(执行入口)。Exception in thread main java.lang.NoSuchMethodError:main2.如果class前面没有public修饰符,源文件名可以是一切的合法的名称。而带有public的类名必须和文件名同名,但是与文件名同名的类却不一定要带有public修饰符。HelloWorld.java类 helloWorld 是公共的,应在名为 helloWorld.java 的文件中声明Java语言严格区分大小写。每个语句以分号结束。HelloWorld应用要点3.运行时输入的命令是java HelloWorld,而不是java He

17、lloWorld.class。还要注意,java命令后跟的是类名,而不是文件名。4.关于java HelloWorld这个命令,从Windows来说,java是一个命令,HelloWorld是命令的参数。从java来说,java命令启动了一个虚拟机,而HelloWorld是这个JVM上能独立运行的一个java类。HelloWorld应用要点Java虚拟机按照classpath环境变量指定的目录顺序去查找一个类,以最先找到的为准。Java虚拟机查找类的过程和Windows查找可执行文件exe是有区别的,不会在当前目录下查找,只找classpath指定的目录。Windows是会在当前目录下查找命令

18、的。而Linux命令也不会在当前目录下查找命令,只在path指定的目录中查找。Set classpath=可以看做Sun公司提供的JDK的一个bug如何让java虚拟机在任何情况下都去当前目录查找要使用的类呢?在classpath设置的时候加上一个点(.)就可以了。HelloWorld的运行HelloWorld的运行运行java字节码的工作是由解释器来完成的。共分三步:代码的装入、代码的校验和代码的执行。1.classLoader负责装入运行一个程序需要的所有代码,包括代码中所继承的类和被调用的类。当classLoader装入一个类时,该类被放在自己的名字空间中。除了通过符号引用自己名字空间以

19、外的类,类之间没有其他方法可以影响其他类。本台机器上的所有类都在同一地址空间内,而所有从外部引进的类,都有自己独立的名字空间。这使得本地类通过共享的名字空间获得较高的运行效率,同时又保证了它们与从外部引进的类不会相互影响。通过这种内存管理机制,java很好的解决了由超类改变而使子类崩溃的问题,也防止了代码对地址的非法访问。HelloWorld的运行2.被装入的代码有字节码校验器进行检查。校验器可以发现操作数栈溢出、非法数据类型转化等多种错误。3.代码的执行:有两种方式:A.即时编译:解释器先将字节码编译成机器码,执行。B.解释执行:解释器通过每次解释并执行一小段代码来完成java字节码程序的所

20、有操作。JVM通常采用的是B方式。这使得将字节码翻译为机器代码的工作具有较高的效率。对于那些运行速度要求较高的应用程序,解释器可将java字节码即时编译为机器码,从而很好的保证了java代码的可移植性和高性能。新手常见错误编译时:HelloWorld.java:1:class helloworld is public,should be declared in a file named helloworld.javapublic class helloworld 1 error运行时:Exception in thread main java.lang.NoSuchMethodError:ma

21、in运行时:Exception in thread main java.lang.NoClassDefFoundError:helloWorld(wrong name:HelloWorld)一次编译到处运行一次编译到处运行首先编写Java源代码,然后编译程序将Java源代码编译成JVM可执行的代码,即Java字节码。字节码文件相当于C源程序编译后Windows上的exe可执行文件,JVM的作用类似Windows操作系统。在Windows上运行的是exe文件,在JVM上运行的是Java字节码文件,也就是.class文件。执行exe的过程,就是从exe文件中取出一条条计算机指令,交给CPU去执行。

22、JVM执行class文件的过程,也是JVM从Java字节码文件中取出一条条的字节码指令交给“CPU”去执行。硬件与软件是可以互相转化的。执行字节码的“CPU”可以是硬件,也可以是某个系统上运行的一个软件,这个软件就被称为字节码解释程序(也就是Java虚拟机).由此可见,只要在特定的平台下实现了Java解释器程序,Java字节码就能通过解释器程序在该平台下运行,这就是Java跨平台的根本原理。Java应用程序运行机制应用程序运行机制计算机的高级编程语言类型:编译型解释型Java 语言是两种类型的结合;Java源程序、字节码文件,机器码指令。Java兼顾解释性与编译性语言的特点,Java源文件转换

23、成class文件的过程是编译型的,class在操作系统上运行的过程是解释型的,Java虚拟机充当了解释器的作用。Java常用命令常用命令java=执行java程序;javac=编译.java文件,生成.class文件javadoc=生成java的帮助文档;jar =打包成一个java的压缩文件;jar-cvf jar名字 打包的类型文件 打入jar包jar-cvf hello.jar HelloWorld.class编译的时候:javac-d.*.java=这样就会自动地生成具体的包结构;生成目录;运行的时候:java 包结构.类名=运行java程序;APIAPI文档文档什么是API文档?有什

24、么作用呢?答:开发一个大型的软件时,需要定义成千上万的类,而且需要很多人一起开发。每个人都会开发一些类,并在类里面定义一些属性、方法完成特定的功能,提供给大家使用。但其他人如何知道这些类的方法的用途呢?这时候就需要提供一份详细的说明文档了。当其他人使用一个类或方法的时候,无需关心具体实现,只要知道这个类或方法的功能就可以了,然后使用这个类或方法来实现具体的目的,这就是通过调用应用程序接口(API)来编程。API文档就是用以说明这些应用程序接口的文档。对于java语言而言,API文档通常详细说明了每个类、每个方法的功能,用法。API是Java程序员不可缺少、经常使用的文档。小结Java技术的发展历史Java技术架构Java虚拟机的作用及其特点Java运行环境的安装和配置开发并运行简单的Java应用程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁