|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。
假如你要买一辆车并且你的主要方针是功能大概更详细的说是原始动力,那末在4缸发念头和8缸动员机之间选择的话,谜底很明显,由于越年夜越好。一般而言,当我们看盘算机设置列表大概产物宣扬的时分,64位的功能也比32位有上风,一样四核比双核更棒。
但是很多在年夜同天下里很复杂的事理包含越多/年夜越好,移到盘算机范畴里就不是那末回事了。当处置多重CPU时,你会以为那些多核所多出来的处置单位很有效,但假如你的事情仅仅是单线程的,那你要做的倒是让其他核一边歇着。
32位与64位的对照则加倍渺小。x86-64架构不但在x86架构的基本上增年夜了存放器,并且还增添了存放器的数目。从基础上说这会带来更好的功能(由于更多的存放器可让编译器创立更好的呆板代码)。但是很不幸,至今把Java从32位移到64位带来的只是功能的下落。
谈到Java的功能,runtime的两个方面很关头:JIT和GC。JIT的感化使尽量快地实行代码;GC的感化是(在办理存储的同时)从代码的实行中抽取尽量少的工夫。因此Java的功能是让JIT(在更多存储器的匡助下)发生更多幻想代码,并削减GC用以办理存储的工夫(指针越年夜这越坚苦)
Java9最后是计划为32位体系的并且这影响了我们在代码基(codebase)做的一些早期决意。早几年前我曾消费很多工夫试图在运转64位的PowerPC体系上运转我们的SmalltalkVM,失掉的结论是:最间接的办理体例是让一切的数据布局(对象)变得两倍年夜来处置64位指针。跟着Java9的开展(约莫2001),我们拿得手的最早的一个64位体系是一个DecAlpha,以是我们接纳了这类最间接的“变年夜”办理办法,同意一个一般的代码基既撑持32位也撑持64位。
64位CPU具有更宽的数据总线,可是一样是这个64位CPU能够运转32位的代码,并且拥有一样宽的数据总线。转头看看我们64位的办理计划——将数据布局变得两倍年夜,效果却不如不异硬件上的32位,也就是说64位不及32位。这个成绩不是Java9也不是Java所独占的,由于一切的64位都必要数据扩大。只是说Java言语将这一成绩凸显得加倍分明,由于Java编程一般与创立、操控对象(也称数据布局)有关。
功能成绩的办理办法是伶俐地处置数据布局,这也恰是我们在Java6JDK中利用紧缩列表特征(compressedreferencesfeature)所做的。我们能够玩小伶俐并且不会被抓到,由于利用者(Java程序员)其实不分明Java对象更深处的体现。
折衷的处置办法是经由过程在对象内存储更少的信息,限定能够被JVM利用的存储。这是一个相称不错的处置办法,由于盘算机存储的范围远不及64位的极限地点局限。我们仅利用32位来存储指针,并充实使用8字节对象对齐(alignedobjects)来失掉一些空位(指针<<3)。因而利用紧缩列表(compressedreferences)——Xcompressedrefs,IBMJava6JDK可寻址高达32Gb的堆。
其实不只我们利用这类技能,Oracle/BEA有-XXcompressedRefs,Sun有-XX:+UseCompressedOops。固然,分歧厂商的办法在限定和撑持品级上略有分歧。大概你会有贰言,但当用户运转到32位操纵体系的仓库极限时,他们就想要64位体系(同时还要不丧失功能)。
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。 |
|