|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是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能够撑持新的、自界说的传输协定,编写内容句柄,能够撑持新的数据范例。
C#跟java类似,但是在跨平台方面理论上可以跨平台,实际上应用不大,执行性能优于java,跟C++基本一致,但是启动速度还是慢.代码安全,但容易性能陷阱. |
|