版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java 语 言 概 述,在本单元要学习的知识点 程序设计语言和Java起源 什么是Jdk,Jre; 什么是Java2及其主要版本; Java2的主要应用领域; Java语言特点 开发方式及 Java编译、解释执行等。 Java如何实现“平台无关”,Java 语 言 概 述,软件的基本组成部分是完成其功能的程序。 程序设计语言(也被称为“编程语言”,Programming Language)是人们编制程序所使用的语言。 程序描述了计算机处理数据、解决问题的过程,这是程序的实质。但程序的描述形式却可以是多种多样的,可以用不同的方式表述不同的程序设计语言。,程序设计语言,Java 语 言 概 述,
2、程序设计语言的种类: 机器语言:机器指令,直接执行 汇编语言:符号化,汇编器(Assembler) 高级程序设计语言(编译型) 高级程序设计语言(解释型),程序设计语言,Java 语 言 概 述,高级语言中用于描述计算的结构采用类似于数学中代数运算公式的形式,这种结构被称为“表达式”。程序中基本的动作单位被称为“语句”,不同的语句实现不同的功能。用高级语言书写的程序不可能直接地在计算机上执行,要在计算机上执行高级语言书写的程序,有两种基本方法: 编译(Compilation)执行:这种方法是设法把高级语言程序(也称为“源程序”)转换成为机器语言的可以由计算机直接执行的程序,即转变为“可执行(E
3、xecutable)程序” 。 “解释”(Interpretation)执行:这种方法是即时把源程序转换为机器可执行的指令。有时为了提高效率,也可以先编译成一种中间代码。,高级程序设计语言,Java 语 言 概 述,对于“编译执行”方式,人们实现了高级语言“编译器”(Compiler)完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:源程序首先被翻译成机器语言,这种翻译结果称为“目标码”(object code),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最
4、终形成“可执行程序”(executable program),这样的程序就可以在计算机上实际运行了。 第一个加工步骤称为“编译”(compiling),第二个步骤称为“连接”(linking)。,高级程序设计语言,Java 语 言 概 述,高级程序设计语言,Java 语 言 概 述,对于“解释执行” 方式,人们实现了一种称为“解释器”(Interpreter)的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。,高级程序设计语言,Java 语 言 概 述,高级语言写出的程序是独立于任何具体的计算机的。但是“编
5、译器”和“解释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。 人们已经开发出了许多不同的高级程序设计语言,不同的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。,高级程序设计语言,Java 语 言 概 述,Java是一种解释型的、面向对象的编程语言。 历史:1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。 Oak Java:互联网给Java带来新的生机 1995年Sun向公众推出Java并引起业界的轰动 发展:面向网
6、络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(1995年以来) 应用:Java是当今最流行的软件开发语言之一,Sun推出了 Java2 & J2EE使Java具有更广泛的用途,适用于各种应用开发,尤其是网络应用,网络服务,嵌入式系统等。,Java的起源,Java 语 言 概 述,1998年12月sun公司发布java1.2版本 从此之后java更名为java2 java1现在已经很少用到目前我们用到的是java2版本的1.5版本 为什么不用java2的1.6版本?,Java的起源,Java 语 言 概 述,Jdk jdk指java develop kit 即 java开发工具包 Jr
7、e jre指java runtime environment 即java运行时环境,通常已经包含在j2sdk(java2 software develop kit)中了 如果我们仅仅是为了运行java程序,而不是开发 java项目,只需安装jre即可,什么是Jdk Jre,Java 语 言 概 述,J2ME(Java2 Micro Edition),针对嵌入式技术 。 J2SE(Java2 Standard Edition),针对桌面计算机开发(主要有Java Applet-网页中内嵌的小程序及Java Application-应用程序); J2EE(Java2 Enterprise Edit
8、ion),针对企业级的应用解决方案(主要有JDBC CORBA EJB JavaServlets JSP以及对XML的支持),Java2的主要版本,Java 语 言 概 述,J2ME(Java2 Micro Edition),主要应用于手持设备的开发,如:手机,PDA等; 例:手持设备里的小游戏和名片管理程序等等; J2SE(Java2 Standard Edition),开发桌面程序和小应用程序的开发; 例:QQ聊天系统 五子棋游戏等等; J2EE(Java2 Enterprise Edition),企业级的应用开发 例:大型商务网站 税务局的网上报税系统等等;,Java2的应用领域,Jav
9、a 语 言 概 述,Java语言是简单的、面向对象的、分布式的、解释性的、健壮的、安全的、与平台无关的、可移植的、高性能的、多线程的和动态的语言。A simple,object-oriented,distributed,interpreted,robust,secure,architecture-neutral,portable,high-performance,multi-threaded,dynamic language. Sun公司的“Java白皮书”,Java2的语言特点,Java 语 言 概 述,简单的 java最初是为了对家用电器进行集成控制而设计的一种语言,因此它必须简单明了 J
10、ava的简单性主要体现在三个方面: 一源于C语言 是变种的C语言 有利于C语言程序 员过渡; 二Java摒弃了C+中的一些内容,如指针和内存管理 三Java提供了丰富的类库,Java2的语言特点,Java 语 言 概 述,面向对象的 Java语言的设计完全是面向对象的,支持继承、重载、多态等面向对象的特性,它不支持类似C语言那样的面向过程的程序设计技术 放弃了:全局变量、全局函数、goto、宏定义、结构体、联合、指针;多重继承、友元类、运算符重载 增加了:单继承接口、内存自动管理、异常处理,Java2的语言特点,Java 语 言 概 述,健壮的 Java致力于检查程序在编译和运行时的错误 Ja
11、va是强数据类型的语言,其类型检查比c+还要 严格,类型检查帮助检查出许多开发早期出现的错误, Java自已操纵内存减少了内存出错的可能性,Java还实现了真数组,避免了覆盖数据的可能。这项功能特征大大缩短了开发Java应用程序的周期。 Java提供Null指针检测、数组边界检测、异常出口、字节代码校验。,Java2的语言特点,Java 语 言 概 述,安全的,Java2的语言特点,Java 语 言 概 述,解释的 java的代码是解释执行的 java的编译器将java代码编译成字节码,这些字节码是一种中间代码,然后由java解释器解释执行 CC+是编译执行的 CC+被编译成可执行的机器指令,
12、然后执行,Java2的语言特点,Java 语 言 概 述,与平台无关性 java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式,只要有java运行环境的机器都能执行这种中间代码 java源程序被编译成一种与机器无关的字节码格式 在java虚拟机(jvm)上运行 真正实现了“Write once,run anywhere”。,Java2的语言特点,Java 语 言 概 述,多线程的 单线程程序一个时刻只能做一件事情,多线程程序允许在同一时刻同时做多件事情。 其它大多数高级语言,包括C,C+等,都不支持多线程,只能编写顺序执行的程序(除非有操作系统API的支持)。 Java提供现成的
13、类Thread,只要继承这个类就可以编写多线程的程序。 多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。 通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。,Java2的语言特点,Java 语 言 概 述,动态的 允许程序动态地装入运行过程中所需要的类,java程序保持对类的引用,不是在编译时对该类做数值引用,而是做一个符号引用,在运行时,JVM会检查类的时间戳,发现新的版本就引用新的版本类,避免了一个类改变,所有与该类有关的类必须全部重新编译的麻烦;,Java2的语言特点,Java
14、语 言 概 述,传统的计算机的应用程序,Java的跨平台原理,Java 语 言 概 述,Java 虚拟机,Java的跨平台原理,Java 语 言 概 述,Java 应用程序的开发周期包括编译、下载、解释、执行几个部分,Java源文件的编译和执行,Java 语 言 概 述,Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 只要实现了特定平台下的解释程序,Java字节码就能通过解释程序在该平台下运行。这是Java跨平台的根本原因。,Java源文件的编译和执行,Java 语 言 概 述,Java解
15、释器的执行过程 执行过程分为三部分: 一:代码的装入 有类的装载器(class loader)完成 装载运行一个程序的所有代码 其中包括代码中的类所继承的类和被其调用的类 类和类之间只能通过符号应用自己名字空间以外的类 在这一阶段确定代码的内存布局,Java源文件的编译和执行,Java 语 言 概 述,Java源文件的编译和执行,编译,没有绝对地址,调入包含、继承所用到的所有类, 内存分配确定,变成真正可执行的机器码,不存在伪造的指针 不违反访问权限 不非法访问对象 不导致操作栈溢出,Java 语 言 概 述,Java字节码的两种执行方式 一、即时编译方式 Just-in-time 解释器先将
16、字节码编译成机器码,然后再执行有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行. 二、解释执行方式 Interpreter 边解释边执行 一般我们采用的是第二种方式,Java源文件的编译和执行,Java 语 言 概 述,JVM规格描述 JVM规格描述是为java字节码定义的一种独立于具体平台的规格描述,是java平台独立性的基础 Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 只要实现了特定平台下的解释程序,Java字节码就能通过解释程序在该平台下运行。这是Java跨平台的根本原因。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026安永面试题库及答案
- 工程机械租赁业务员班组评比竞赛考核试卷含答案
- 2-7.项目二-人工智能+智慧生活:智能语音客服-任务三 智能语音客服
- 非银行金融行业A股上市保险2026年一季报综述:价值持续兑现业绩分化加剧
- 钛冶炼工安全应急知识考核试卷含答案
- 金属炊具及器皿制作工诚信品质知识考核试卷含答案
- 2026安全工作面试题及答案
- 公路水运工程试验检测员安全宣贯竞赛考核试卷含答案
- 硬质合金烧结工安全生产基础知识能力考核试卷含答案
- 图书馆服务员操作规程考核试卷含答案
- 直播间设备搭建及管理指南
- DR体位操作技术规范与临床应用
- 禁烧秸秆班会课件
- 口腔扁平苔藓病例汇报
- 小班语言《自己的事情自己做》课件
- 2025年河北省高考招生统一考试高考真题政治试卷(真题+答案)
- 钢铁冶金企业设计防火标准
- 2025年高级卫生专业技术资格考试超声医学(036)(副高级)试题及解答参考
- 2024年西藏初中学业水平考试数学卷试题真题(含答案详解)
- SH∕T 3097-2017 石油化工静电接地设计规范
- 新疆维吾尔自治区新疆生产建设兵团二中2025届高一数学第二学期期末联考试题含解析
评论
0/150
提交评论