|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。Java中把存储辨别为6类。分离为存放器(register)、栈(stack)、堆(heap)、静态存储区(staticstorage)、常量存储区(constantstorage)和非随机存取存储区(Non-RAM)。1.存放器(register).存放器与其他的存储区分歧,它位于CPU中,以是它是存取速率最快的存储区.可是因为CPU中存放器的数目长短常无限的,以是存放器的利用是由CPU按需举行分派.编程的时分我们没有需要往对它举行间接把持.而且在程序中也没举措找到究竟甚么时分利用了存放器的根据.2.栈(stack).它位于随机存取存储器(RAM)中,并经由过程由CPU间接撑持的栈指针(stackpointer)来举行操纵.栈指针经由过程向下挪动来分派新的存储空间,并经由过程向上挪动来开释存储空间.这是仅次于存放器的另外一种高速无效地分派存储空间的体例.在创立程序时代,Java编译器必需晓得存储在栈上的一切数据的正确巨细和它们的性命周期.如许它才干够发生代码来让栈指针高低地挪动.但这类束缚限定了代码的天真性,以是当某些Java存储区在栈上的时分――出格是,对象援用(objectreference)DD而Java对象自己其实不被存储在栈上.3.堆(heap).这是存储Java一切对象的内存池(一样在RAM地区中).堆的长处是,它不像栈一样,编译器其实不必要晓得它应当从堆平分配多年夜的存储空间,大概存储空间应当在堆上存在多久.因而,在堆上分派多年夜的存储空间具有很年夜的天真性.不管你什么时候必要创立对象,你只必要复杂的在代码中利用关头字new来创立它就好了.在这段代码被实行时分就在堆(heap)下面分派响应的存储空间.固然,为如许的天真性也必要支付必定的价值:在堆上分派存储空间比在栈上分派存储空间要加倍耗时(假如你可以在Java中像在C++一样,在stack上创立对象的话).4.静态存储区(staticstorage).”静态(static)”在这里暗示”在一个流动的地位”(只管它一样在RAM中).静态存储区包含:关于程序的全部运转时代都无效的数据.你可以利用关头字static来指定特别的对象为静态的.可是Java对象本身却历来不安排在静态存储区中.5.常量存储区(constantstorage).常量一般被间接安排在程序代码傍边.这是平安的,由于它们永久不克不及被改动.在某些时分多个常量可以本人分开开,如许在嵌进式体系中能够被恣意地安排在只读存储器(ROM)中.6.非RAM存储区(non-RAMstorage).假如数据完整存在于程序以外,在程序未被运转时数据也能存在,而不受程序的把持.关于此类情形,有两个次要的例子来讲明:一,对象流(streamedobjects),这类对象一般以字撙节的情势被送到其他的呆板往.二,耐久化对象(persistentobjects),这类对象寄存在磁盘上,即使是程序中断今后它们仍旧坚持原有形态.这些存储器都是将对象以某种情势保留在其他的介质中,然后在必要的时分再把它恢复为惯例的基于RAM的对象.Java供应了对轻量级耐久性的撑持.在将来的Java版本中,Java将供应加倍完整的耐久性的撑持.
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。 |
|