仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 707|回复: 18
打印 上一主题 下一主题

[学习教程] 了解下JAVA的JVM(Java假造机)详解

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:32:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
进而能拉拢大多数程序员用windows产品。并且从net网页编程网页编程AJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net网页编程可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net网页编程决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net网页编程的,如果跨平台的.net网页编程还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。
大概有良多进修Java的伴侣还不晓得Java的运转道理、Java假造机是怎样事情的,本文将为你具体解说(JVM)Java假造机。
在Java中引进了假造机的观点,即在呆板和编译程序之间到场了一层笼统的假造的呆板。这台假造的呆板在任何平台上都供应给编译程序一个的配合的接口。编译程序只必要面向假造机,天生假造性能够了解的代码,然后由注释器来将假造机代码转换为特定体系的呆板码实行。在Java中,这类供假造机了解的代码叫做字节码(ByteCode),它不面向任何特定的处置器,只面向假造机。每种平台的注释器是分歧的,可是完成的假造机是不异的。Java源程序经由编译器编译后酿成字节码,字节码由假造机注释实行,假造机将每条要实行的字节码送给注释器,注释器将其翻译成特定呆板上的呆板码,然后在特定的呆板上运转。
能够说,Java假造机是Java言语的基本。它是Java手艺的主要构成部分。Java假造机是一个笼统的盘算机,和实践的盘算机一样,它具有一个指令集并利用分歧的存储地区。它卖力实行指令,还要办理数据、内存和存放器。Java注释器卖力将字节代码翻译成特定呆板的呆板代码。Java是一种复杂的言语。它用到的观点未几,并且多为程序员所熟习。假如你是一位程序员,把握Java对你来讲是轻而易举的事。即便你没有学过任何编程言语,进修Java也要比进修C++要简单的多。
因为Java最后是为把持电子产物计划的,因而它必需复杂了然。为了包管这类复杂性,Java往失落了C++中很多庞大的、冗余的、有二义性的观点,比方操纵符重载、多承继、数据范例主动转换等。为了将程序员从庞大的内存办理的包袱中摆脱出来,同时也是为了削减毛病,Java利用了主动内存渣滓搜集机制,程序员只需在必要的时分请求便可,不必要开释,而由Java本人来搜集、开释内存中的无用的块。
与C++比拟,Java有着更强的面向对象特征,是一种对照地道的面向对象言语。一样平常我们利用的一些所谓的面向对象的编程言语,如C++,ObjectPascal等,实践上都是一种夹杂型的言语,即在历程式的言语中加下面向对象的扩大。在Java中,几近万物皆对象,就连一些基础数据范例,如整型、字符型、浮点型等,在Java中都能够作为对象处置。Java的面向对象特征几近能够与Smalltalk媲美,可是其合用于散布式盘算情况的特征却远远凌驾了Smalltalk。
Java是一种撑持散布式操纵的程序计划言语。利用Java供应的URL类,用户能够象会见当地文件一样会见收集上的对象,利用十分便利。在客户机/服务器的形式下,Java还能够将运算从服务器端分离到客户端,进步体系的效力,制止了服务器的瓶颈制约。Java的收集类库撑持散布式的编程。Socket类供应牢靠的流式收集的毗连,撑持TCP/IP协定。经由过程编写协定句柄,程序员还能够扩大Java撑持的协定汇合。
Java供应十分无效的平安把持。因为Java使用于收集程序的开辟,因此平安性变的相当主要。由于Java小程序必要下载到客户端注释实行,以是,假如没有平安把持,就会给一些收集黑客以无隙可乘,这对用户来讲长短常伤害的。所幸的是,Java的平安机制能够无效的避免病毒程序的发生、下载程序对当地文件体系的损坏,和收集黑客夺取暗码和进侵。
Java是一种十分强健的言语。由于在Java中利用了以动手段:
不撑持指针。在C++程序中,指针的毛病利用一般的程序中BUG的首恶。在Java中完全往失落了指针,根绝了内存的不法会见,从而包管了程序的牢靠性。
强范例言语
主动内存渣滓搜集机制。Java主动搜集无用的内存单位,进而避免了因为内存泄露招致的静态内存分派成绩。
完美的非常处置机制,既简化了毛病处置义务和恢复,也增添了程序的可读性。
Java具有十分好的平台有关性和可移植性。由于Java最后是为对电子产物编程而计划的,以是它具有完善的平台有关性。它利用一种与平台有关的代码──字节码,而不是一般的特定呆板上的呆板码,由平台上的Java假造机中的Java注释器注释实行。Java假造机是收费的,在很多平台上都有。
Java供应了优秀的可移植性。利用Java作为编程言语,只需举行一次程序开辟事情,所开辟的程序不必要经由任何修改,便能在各类平台上运转。Java利用两种办法使Java的使用程序不依附与详细的体系:
接纳基于国际尺度的数据范例。Java的原始数据范例在任何呆板上都是一样的,比方整型老是32位,长整型老是64位等。
供应了一个用于会见底层操纵体系功效的可扩大类库。
Java是一种高功能的言语。“鱼与熊掌不成兼得”,一般,强健性、平安性、平台有关性、可移植性等方面的进步老是要以就义功能为价值的。Java也不破例,Java的内存办理增添了运转时体系的庞大性,由于Java运转时体系必需内嵌一个内存办理模块;一样,Java程序的注释实行的效力也要低于间接实行编译后的源码的效力。可是Java接纳了一些很好的措施来填补这些功能上的差异:
天生高效的字节码。Java字节码的计划充实思索了功能的要素,字节码的格局复杂,注释器能够天生高效的呆板码。
供应了立即编译和嵌进C代码的可选措施。立即编译是指在运转时把字节码编译成呆板码。撑持多线程。Java供应了对多线程的言语级的接口,并且Java情况自己就是多线程的。
Java对多线程有优秀的撑持。多线程手艺能够进步程序实行的并发度,进步图形用户界面的交互功能。Java供应了言语内置的多线程把持,简化了多线程使用程序的开辟,还撑持线程的同步把持。
Java是一种静态的言语。静态特征是面向对象特征的一个延长,它使得程序可以顺应不休变更的实行情况。Java的静态性次要体现在以下几个方面:
Java的类有运转时的暗示,如许,即便在运转时候,程序也能分辨类之间的干系和范例信息,能够静态的从当地或网上把一个类链接到运转体系中往。
Java的类在运转过程当中静态的装载,因而,Java能够在散布式的情况中静态的保护使用程序和Java类库之间的分歧性。当类库晋级后,使用程序无需从头编译,也一样能够使用新类库中新增的功效。
撑持静态数据范例和静态协定。经由过程编写协定句柄,Java能够撑持新的、自界说的传输协定,编写内容句柄,能够撑持新的数据范例。

用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?
飘灵儿 该用户已被删除
沙发
发表于 2015-1-21 09:37:30 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
简单生活 该用户已被删除
板凳
发表于 2015-1-30 13:49:55 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
admin 该用户已被删除
地板
发表于 2015-2-6 16:00:12 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
莫相离 该用户已被删除
5#
发表于 2015-2-9 14:07:00 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
兰色精灵 该用户已被删除
6#
发表于 2015-2-27 06:42:09 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
精灵巫婆 该用户已被删除
7#
发表于 2015-2-27 14:51:48 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
小魔女 该用户已被删除
8#
发表于 2015-3-1 21:16:28 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
深爱那片海 该用户已被删除
9#
发表于 2015-3-5 05:15:42 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
海妖 该用户已被删除
10#
发表于 2015-3-5 07:18:29 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
分手快乐 该用户已被删除
11#
发表于 2015-3-9 22:29:27 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
12#
发表于 2015-3-15 22:54:47 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
不帅 该用户已被删除
13#
发表于 2015-3-22 17:21:00 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
灵魂腐蚀 该用户已被删除
14#
发表于 2015-4-12 03:52:10 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
冷月葬花魂 该用户已被删除
15#
发表于 2015-4-12 21:11:49 | 只看该作者
是一种使用者不需花费很多时间学习的语言
只想知道 该用户已被删除
16#
发表于 2015-4-13 11:54:32 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
乐观 该用户已被删除
17#
发表于 2015-4-16 05:56:55 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
若天明 该用户已被删除
18#
发表于 2015-4-22 10:34:14 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
谁可相欹 该用户已被删除
19#
发表于 2015-4-24 05:13:40 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 13:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表