2020年JAVA语言的特点和实现机制.doc

2020年JAVA语言的特点和实现机制.doc

ID:62086033

大小:19.89 KB

页数:7页

时间:2020-02-26

2020年JAVA语言的特点和实现机制.doc_第1页
2020年JAVA语言的特点和实现机制.doc_第2页
2020年JAVA语言的特点和实现机制.doc_第3页
2020年JAVA语言的特点和实现机制.doc_第4页
2020年JAVA语言的特点和实现机制.doc_第5页
资源描述:

《2020年JAVA语言的特点和实现机制.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Java语言的特点和实现机制Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。下面是的关于Java语言的特点和实现机制,希望大家认真阅读!java语言定义:Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。组成:Java由四方面组成:●Jav

2、a编程语言,即语法。●Java文件格式,即各种文件夹、文件的后缀。●Java虚拟机(JVM),即处理*.class文件的解释器。●Java应用程序接口(JavaAPI)。Java分为三个体系,分别为JavaSE(J2SE,Java2PlatformStandardEdition,标准版),JavaEE(J2EE,Java2Platform,EnterpriseEdition,企业版),JavaME(J2ME,Java2PlatformMicroEdition,微型版)。Java是功能完善的通用程序

3、设计语言,可以用来开发可靠的、要求严格的应用程序。优点:指针:任何一个学过C或者C++的人都知道指针的操作对于他们是很重要的,为什么,指针能够支持内存的直接操作,这样的直接操作能够带来的是效率上的提高.但是任何一个东西都是有副作用的,指针给程序员带了的混乱也是无可比拟的.对于一个不是很强劲的C程序员而言,指针是要命的(对我而言也是,我几乎不会写C代码).而JAVA就为我们省去了这样的麻烦,或者说JAVA完整的限制了对内存的直接操作,让程序员能够安心去搞业务逻辑,而不用管自己后院的那堆内存有没有人来

4、收拾.垃圾回收:其实垃圾回收也是JAVA对于内存操作的限制之一,也大大解放了程序员的手脚.但是也正是这样的一个内存保姆的存在导致JAVA程序员在内存上几乎没有概念...一个纯粹的JAVA程序员对于内存泄露这样的问题是从来没有概念的,因为他从来不用担心,因为大多数情况下即便他大手大脚也不会有什么问题,这样也就导致了JAVA一个很显见的缺点,我们后面会讲到.这里我说点我想到的东西吧..其实JAVA并没有让程序员完全省心,他代办的事情也仅仅是内存罢了,其他资源的调用和释放都还是需要程序员自己来关心的,比

5、如数据库,比如文件.当然了,我们不能指望什么都吃现成的,总有东西是要自己做的吧.平台无关性的真正意义在于程序的可移植性高,能够在多个平台平滑迁移。这点就特别适合网络应用。缺点:1效率这样一个问题伴随着JAVA的出身,一直困扰了我们可怜的JAVA宝宝很久,虽然他在自己长大成人以后不断地修炼自己,来改变这个问题.但是先天的就是先天的,哎.....让我说你什么好呢.....1.1当然首先就是内存操作限制带来安全的同时带来的副面效果了.....1.2其次呢,就是面对对象的一个很重要的特点所带来的——多态,

6、这个东西是娘胎里带出来的,谁也没办法,而且这个因素的“后果很严重”(我等下会讲我们的JAVA小朋友自己跟别人学了一招来解决这个问题)。但是不对啊,C++不也声称自己面对对象的嘛,这个问题他也有,你干吗非说我呢?JAVA的声辩。哈哈,这你就不如人C++圆滑了吧,人家的多态是编译器编译和连接时实现的,可你是运行时实现的,效率问题可见一斑了吧。JAVA小朋友想了很久,想了一招。。。我已经不记得他什么时候开始会这招了,但是他真的会,征对一些不会变化的程序,他就让大家可以用预编译来实现。其实这个事情也是C+

7、+真正做的。但是这样的一个解决方案就屏蔽了动态创建和连接的能力。这里还需要说明的是,这样的方法一般都运用在变化少而且对性能要求特别高的时候。毕竟如果不是面对大批量的处理和集中请求这样的问题,我们的硬件应该能满足这样的要求。1。3平台无关性带来的。由于需要平台无关,所以JAVA是不能直接调用OS的API的,JAVA需要调用自己的API来隐式地调用OS的API,大家可想而知这样的效果。多一层调用,必然多一层代码需要加载到栈内了。不过这个问题目前也有解决方案了吧。。。这个方面我不是很在行,只是看到一些资

8、料而已,接触太少。比如JNI(JavaNativeInterface)2逆向编译问题确实是第一次听说这样的问题,天啊,没接触的东西还真的。这里就只能套书上的话了。由于JAVA程序是动态连接的,从一个类到另外一个类的引用是符号化的。在静态连接的可执行程序中,类之间的只是直接的指针或者偏移量,。相反地,在JAVAclass文件中,指向另一个类的引用通过字符串清楚地标明了所指向的类的名字。如果引用指向一个字段的话,这个字段的名字和描述符会被详细说明。如果引用指向一个成员变量,这个成员变量

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。