java虚拟机 a20_数据结构(Java版) 全套课件.pptx

高等职业教育精品示范教材(电子信息课程群)第1章绪论1.1java简介1.2 数据结构概述1.3 算法的描述和算法分析1.1 java简介1.1.1 java编程语言Java编程语言是一种高级语言,它具有以下性质:面向对象、多线程、与体系结构无关、解释以及可移植性。在大多数语言中,要么编译程序,要么解释程序,才能在计算机上运行它。Java编程语言的特殊之处在于程序既被编译又被解释。首先,使用编译器将程序翻译为一种称为java字节码的中间语言,这是由java平台上的解释器解释的与平台无关的代码。解释器在计算机上分析并运行每条java字节编码指令。编译只发生一次;而解释在每次执行程序时都发生。1.1 java简介1.1.1 java编程语言你可以将java字节码看作用于java虚拟机(JVM)的机器码指令。每个java解释器,无论是开发工具还是可以运行applet的web浏览器,都是一种java VM实现。Java字节码有助于使“一次编写,处处运行”称为可能。你可以再任何有java编译器的平台上将你的程序编译为字节码。字节码可以再任何java VM实现上运行。这意味着只要计算机上有一个java VM,那么用java编程语言写的同样的程序就能够在windows系列机、Solaris工作站或iMac上运行。1.1 java简介1.1.2 java虚拟机JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序(.java文件)会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。JVM是Java平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行时操作不同的内存区域。JVM 通过抽象操作系统和CPU结构,提供了一种与平台无关的代码执行方法,即与特殊的实现方法、主机硬件、主机操作系统无关。但是在一些小的方面,JVM 的实现也是互不相同的,比如垃圾回收算法,线程调度算法(可能不同操作系统有不同的实现)。1.1 java简介1.1.2 java虚拟机JVM 的主要工作是解释自己的指令集(即字节码OS的)到CPU的指令集或系统调用,保护用户免被恶意程序骚扰。JVM 对上层的Java源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括JVM 指令集,符号表以及一些补助信息。 1.2 数据结构概述1.2.1 学习数据结构的必要性数据结构是计算机专业中的一门专业基础必修课,凡是设置计算机专业的院校都开设了此课程。此外,一些常见的数据结构已经渗透到计算机专业的各门课程中,例如《操作系统》课程中涉及到“队列”和“树”数据结构的使用,即进程调度的原则就是从就绪队列中按照某种原则选取一个进程执行;在文件管理中,文件的一般都按照“树”型结构进行存储和处理。1.2 数据结构概述1.2.1 学习数据结构的必要性瑞士著名计算机科学家N.Wirth提出了著名公式“程序=算法+数据结构”,表明了数据结构在程序设计中的重要地位。在计算机发展的初期,人们使用计算机的目的主要是处理数值计算问题。由于当时所涉及的运算对象时简单的整型、实型或布尔类型数据,所以程序设计者的主要精力都集中在程序设计技巧上,而无需重视数据结构。随着计算机应用领域的扩大以及软硬件的发展,非数值计算问题越来越显得重要。这类问题涉及到的数据结构更为复杂,数据元素之间的相互关系一般无法用数学方程式直接描述。数学分析和计算方法在解决此类问题时显得力不从心,而设计出合适的数据结构,才能有效地解决问题。1.2 数据结构概述1.2.1 学习数据结构的必要性因此,掌握好数据结构课程的知识,对于提高解决实际问题的能力将会有很大的帮助。实际上,一个“好”的程序无非是选择一个合理的数据结构和好的算法,而好的算法的选择很大程度上取决于描述实际问题所采用的数据结构。所以,要想编写出好的程序,仅仅学习计算机语言是不够的,必须扎实的掌握数据结构的基本知识和基本技能。1.2 数据结构概述1.2.2什么是数据结构一般而言,利用计算机解决一个具体问题时,大致需要经过如下几个步骤:(1)从具体问题抽象出一个合适的数学模型;(2)设计一个解此数学模型的算法;(3)编写出程序,进行测试、调整直到最终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。为了说明这个问题,我们首先举一个例,然后再给出明确的含义。1.2 数据结构概述1.2.2什么是数据结构例1-1 在八皇后问题中,处理过程不是根据某种确定的计算法则,而是利用试探和回溯的探

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值