欢迎来到天天文库
浏览记录
ID:58872584
大小:153.96 KB
页数:36页
时间:2020-10-26
《2018年二级Java复习资料.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、Java的历史、现状1.Java历史在上世纪90年代初,sun公司有一个叫做Green的项目,目的是为家用消费电子产品开发一个分布式代码系统,这样就可以对家用电器进行控制,和它们进行信息交流。詹姆斯·高斯林(JamesGosling)等人基于C++开发一种新的语言Oak(Java的前身)。Oak是一种用于网络的精巧而安全的语言。Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败,Sun打算抛弃Oak。随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造Oak,在1995年5月以“J
2、ava”的名称正式发布,从此Java走上繁荣之路。当然提到Java历史,不得不提的一个故事就是Java的命名。开始“Oak”的命名是以项目小组办公室外的树而得名,但是Oak商标被其他公司注册了,必须另外取一个名字,传说有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞同,于是,Java这个名字就这样传开了。当然对于传说,了解一下就好了,不必过于认真。2.Java作为学习Java的人士,对Java历史上发生的
3、大事件有一个了解是应该的。JDK(JavaSoftwareDevelopKit)):Java软件开发工具包。JDK是Java的核心,包括了Java运行环境,一系列Java开发工具和Java基础的类库。目前主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。3.Java特点简单地说,Java具有如下特点:简单的、面向对象、平台无关、多线程、分布式、安全、高性能、可靠的、解释型、自动垃圾回收等
4、特点。这里只解释一下平台无关和分布式,其余的在后面会逐步接触到。3.1平台无关所谓平台无关指的是:用Java写的程序不用修改就可在不同的软硬件平台上运行。这样就能实现同样的程序既可以在Windows下运行,到了Unix或者Linux环境不用修改就直接可以运行了。Java主要靠Java虚拟机(JVM)实现平台无关性。平台无关性就是一次编写,到处运行:WriteOnce,RunAnywhere3.2分布式分布式指的是:软件由很多个可以独立执行的模块组成,这些模块被分布在多台计算机上,可以同时运行,对外看起来还是一个整体。
5、也就是说,分布式能够把多台计算机集合起来就像一台计算机一样,从而提供更好的性能。4.Java标准组织——JCPJCP(JavaCommunityProcess)是一个开放的国际组织,成立于1995年,主要职能是发展和更新Java技术规范、参考实现(RI)、技术兼容包(TCK)。Java技术和JCP两者的原创者都是SUN计算机公司。组织成员可以提交JSR(JavaSpecificationRequests),通过讨论、认可、审核以后,将进入到下一版本的规范里面。也就是说JCP是目前Java技术发展事实上的控制者和领领导
6、者。二、Java从代码到运行用一个图来描述这个过程会比较容易理解:1.编写代码首先把我们想要计算机做的事情,通过Java表达出来,写成Java文件,这个过程就是编写代码的过程。如上图所示的Hello.java文件。2.编译写完Java代码后,机器并不认识我们写的Java代码,需要进行编译成为字节码,编译后的文件叫做class文件。如上图所示的Hello.class文件。3.类装载ClassLoader类装载的功能是为执行程序寻找和装载所需要的类。ClassLoader能够加强代码的安全性,主要方式是:把本机上的类和网
7、络资源类相分离,在调入类的时候进行检查,因而可以限制任何“特洛伊木马”的应用。4.字节码(byte-code)校验功能是对class文件的代码进行校验,保证代码的安全性。Java软件代码在实际运行之前要经过几次测试。JVM将代码输入一个字节码校验器以测试代码段格式并进行规则检查--检查伪造指针、违反对象访问权限或试图改变对象类型的非法代码。注意----所有源于网络的类文件都要经过字节码校验器字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM规范并且不破坏系统的完整性。如果校验器在完成四遍校验后未返回出错信息
8、,则下列各点可被保证:-类符合JVM规范的类文件格式-无访问限制异常-代码未引起操作数栈上溢或下溢-所有操作代码的参数类型将总是正确的-无非法数据转换发生,如将整数转换为对象引用-对象域访问是合法的5.解释(Interpreter)可是机器也不能认识class文件,还需要被解释器进行解释,机器才能最终理解我们所要表达的东西。6.运行最后由运行环
此文档下载收益归作者所有