2概述.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2概述

1.1 Java 简介与历史 JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由Sun(升阳)公司的James Gosling(詹姆斯·高斯林)等人于1990年代初开发。它来自于Sun公司的一个叫Green的项目,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。开始他们准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新语言Oak(橡树,Java的前身)。 Oak是一种用于网络的精巧而安全的语言,Sun公司曾以此投标一个交互式电视项目,但结果被SGI打败。加上智能化家电的市场需求没有预期的高,Sun放弃了该项计划。在Oak几近失败之时,Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,触发了Java进军Internet。 在1995年5月23日以“Java”的名称正式发布。为什么不叫Oak?因为Oak已被一家制造商注册Java的强类型机制、异常处理、废料的自动收集等Java Virtual Machine的缩写) 是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。 1.4.1 什么是Java虚拟机 1、Java的安全性和可移植性的关键在于Java编译器的输出并不是可执行代码,而是字节码。 2、字节码是一套设计用来在Java运行时环境执行的高度优化指令集,该运行时环境就称为Java虚拟机(JVM)。 3、在标准形式下,JVM是一个字节码解释器。 4、可以将JVM看成一个微型操作系统,它依附于计算机具体的操作系统之上,JVM本身具有一套虚拟机器指令,并有自身的栈、寄存器组件等等,通过JVM 将编译过的 .class 文件与底层硬件平台、操作系统联系起来。有利于跨平台(即可移植性)。 1.4.2 JVM的功能是什么 1、提供运行时环境 2、提供垃圾回收机制 3、提供中立的体系结构,即字节码 提供运行时环境 1. Class loader 类加载器 —— 加载代码 加载程序执行所需要的全部类。使用“命名空间”分隔本地文件系统的类和网络导入的类。全部类被加载后,可执行文件的内存就确定下来,防止未授权的访问。 2. Byte code verifier 字节码校验器 —— 校验代码 代码是否符合JVM规定的文件格式、是否有访问权限的违例、是否引起操作数的堆栈溢出、参数类型是否正确、是否有转型错误发生等。 3. JIT code generator JIT代码生成器 —— 执行代码 JIT编译器:Just In Time 实时编译器。JIT编译器是Java 虚拟机的一部分,它的主要用途是将字节码指令集转换为针对某一特定微处理器的机器代码指令。通过使用JIT编译器提高了Java 代码的执行速度。 JVM提供运行时环境原理如图1-2所示: 图1-2 JVM运行时环境 提供垃圾回收机制 其它编程语言,例如C++,内存的分配和释放都是程序员的责任。Java编程语言提供了一种系统级线程来跟踪内存的分配情况,程序员不用去管内存的回收情况,JVM会自动完成检查和释放不再需要的内存。 提供中立的体系架构 一般的高级语言编写的程序如果要在不同的平台上运行,需要利用不同的编译工具编译成不同的目标代码,即跟具体的体系架构和处理器是相关的。而引入Java语言虚拟机后,Java程序在不同平台上运行时不需要重新编译。Java屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。 综上所述,JVM的功能如图1-3所示: 图1-3 Java虚拟机 从图1-3中不难明白JAVA可以实现可移植性的原因,只要在操作系统上(WINNT、Linux、Unix)植入JVM(Java虚拟机),JAVA程序就具有可移植性,也符合SUN公司提出的口号“Write Once, Run Anywhere”(即:一次编写,处处运行)。 1.5 JDK 的安装及环境变量的配置 JDK(Java SE Development Kit)即java标准开发包,是Sun提供的一套用于开发Java应用程序的开发包,它提供了编译、运行java程序所需要的各种工具和资源,包含java编译器、java运行时环境(JRE)、以及常用的java类库等。 要开发Java程序,首先需要安装JDK,然后配置好环境变量即

文档评论(0)

hhg35bbb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档