32位、64位与Java开发研究分析

1 32位与64位五大不一样

1.1 设计初衷不一样

64位操做系统的设计初衷是:知足机械设计和分析、三维动画、视频编辑和创做,以及科学计算和高性能计算应用程序等领域中须要大量内存和浮点性能的客户需求。换句简明的话说就是:它们是高科技人员使用本行业特殊软件的运行平台。而32位操做系统是为普通用户设计的。ios

1.2 要求配置不一样

64位操做系统只能安装在64位电脑上(CPU必须是64位的)。同时须要安装64位经常使用软件以发挥64位(x64)的最佳性能。32位操做系统则能够安装在32位(32位CPU)或64位(64位CPU)电脑上。固然,32位操做系统安装在64位电脑上,其硬件恰似“大马拉小车”:64位效能就会大打折扣apache

1.3 运算速度不一样

64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集能够运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据),比32位(须要四个指令,一次提取4个字节的数据)提升了一倍,理论上性能会相应提高1倍。windows

1.4 寻址能力不一样

64位处理器的优点还体如今系统对内存的控制上。因为地址使用的是特殊的整数,所以一个ALU(算术逻辑运算器)和寄存器能够处理更大的整数,也就是更大的地址。好比,Windows Vista x64 Edition支持多达128 GB的内存和多达16 TB的虚拟内存,而32位CPU和操做系统最大只可支持4G内存。  tomcat

1.5 软件普及不一样

目前,64位经常使用软件比32位经常使用软件,要少得多的多。道理很简单:使用64位操做系统的用户相对较少。所以,软件开发商必须考虑“投入产出比”,将有限资金投入到更多使用群体的软件之中。这也是为何64位软件价格相对昂贵的重要缘由(将成本摊入较少的发售之中)。 服务器

总而言之,Microsoft Windows 64位操做系统,必须“上”靠64位主机硬件的支撑,“下”靠64位经常使用软件的协助,才能将64位的优点发挥到极致,“三位一体”缺一不可(道理很简单:操做系统只是承上启下的运行平台)。至于64位电脑能够安装32位操做系统,64位操做系统能够安装32位软件,那是设计上的“向下兼容”,不是64位设计初衷的原本含义。架构

1.6 总 结

在64位电脑虽然能够安装32位操做系统,可是32位电脑绝对不能安装64位操做系统。这点相当重要务必牢记,以免盲目下载和安装。eclipse

在64位电脑运行的32位操做系统上,不能采起硬盘安装方式安装64位操做系统。如若安装,首选光盘格式化安装方式,也可采用比较繁琐的DOS安装方式。性能

使用虚拟机安装操做系统,实际上就是在目前运行的操做系统上安装软件。所以,在32位操做系统上不能虚拟安装64位操做系统。即使采起“曲线”方式勉强安装,其实已经脱离了底层设备的支持,是毫无疑义的。动画

2 32位、64位与Java开发

编译的class能够在2^N位计算机运行,只要有JVM支持就行,Java class文件是被编译为与机器无关的字节码,是一个标准,与平台无关的。spa

Java的每种基本类型所占存储空间大小是肯定的,不会随着硬件的变化而变化,但大多数语言不是这样的,这也是比其余语言更具移植性的缘由之一。

SUN的JVM,原生类型占据空间是不会变的,引用类型占据空间大小是不一样的

64位的CPU能够跑 32位或者64位的OS ,64位的OS能够跑32位或者64位的JVM,Java是跨平台的, 指得是Java编译成的class文件,能够在(32/64) .* (Oracle/IBM/…) .* (Linux/Win)等不一样的JVM实现下面运行,Java源文件在不一样的JVM下面不须要从新编译。但在不一样的OS下面可能须要安装不一样的JVM(这个程度上说,某个JVM实现不是跨平台的)

3 64位Java开发平台搭建

当你想下载Linux、JDK、Tomcat、eclipse时,你是下载32位版本仍是64位版本?64位版本有两种,应该选哪个;当你看到这些内容:x8六、x6四、x86-3二、x86-6四、ia6四、i8038六、i8048六、i8058六、i80686,知道是干什么的吗?

3.1  IA-32架构与IA-64架构

IA是Intel Architecture(英特尔体系结构)的英语缩写。
IA-32架构下有32位CPU,也有64位CPU。(咱们常用的CPU)。
IA-64架构下只有Intel64的位CPU (只有服务器使用的CPU)。

IA-32架构:
本架构的CPU都采用X86指令
Intel、AMD、Cyrix等厂家都生产使用X86指令集的CPU
其中32位(x86-32)的CPU有:i8038六、i8048六、i8058六、i8068六、统称i80x8六、简称x86。
其中64位(x86-64,EM64T)的CPU有:2006年之后生产的PC机CPU都是64位的。简称x64
x86-64是AMD在其64位处理器系列中采用的技术
EM64T是Intel在其64位处理器系列中采用的技术
x86-64与EM64T都差很少,都是64位。最大的优势就是能够全面兼容之前的32位x86指令的应用程序,由于都是IA-32架构架构。
IA-64架构:
IA-64 架构是英特尔为了全面提升之前IA-32位处理器的运算性能,是Intel和Hp共同开发了6年的64位CPU架构,是专为服务器市场开发的一种全新的处 理器架构,它放弃了之前的IA-32架构(x86系统CPU采用的架构),认为它严重阻碍了处理器的性能提升。它的最初应用是英特尔的Itanium(安 腾)系列服务器处理器,如今最新的Itanium 2系列处理器也是采用这一架构的。因为它不能很好地解决与之前32位应用程序的兼容,因此应用受到较大的限制,尽管目前Intel采起了各类软、硬方法来 弥补这一不足,但随着AMD Operon处理器的全面投入,Intel的IA-64架构的这两款处理器前景不容乐观。

RISC架构:
采用这一架构的还是IBM、SUN和HP等。不过近几年因为这一处理器架构标准没有彻底统1、处理器的发展和应用很是缓慢,使得原来本占有的绝大多数中高档 服务器市场被IA架构瓜分了大部分江山,已经是日趋衰落。目前连这几家服务器厂商也开始了本身放弃,转投IA旗下,推出愈来愈多的IA架构服务器,以保生存。

目前采用这一架构的主要服务器处理器有IBM的Power四、Compaq Alpha 2136四、HP PA-8X00、Sun的UltraSPARC III、SGI的MIPS 64 20Kc等。

3.2 SUN JDK

jdk-6u25-windows-i586.exe  适用于x86-32(简称x86)的CPU,要586以上的CPU,由于x86-64的CPU能向下兼容32位,因此运行在x86-64CPU也是能够的,可是以32位运行的。

jdk-6u25-windows-x64.exe   适用于x86-64,EM64T 的64位CPU。

jdk-6u25-windows-ia64.exe  适用于IA-64Itanium(安腾)系列服务器CPU

3.3 Tomcat

apache-tomcat-6.0.32-windows-x86.zip  适用于x86-32(简称x86)的32位CPU,由于x86-64的CPU能向下兼容32位,因此运行在x86-64CPU也是能够的,可是以32位运行的。

apache-tomcat-6.0.32-windows-x64.zip  适用于x86-64,EM64T 的64位CPU。(简称x64)

apache-tomcat-6.0.32-windows-i64.zip  适用于Itanium(安腾)系列服务器CPU,全称应该是ia64。

3.4 CentOS

Linux操做系统的一个发行版本CentOS,下载时有

CentOS-5.6-i386-bin-DVD.iso        适用于x86-32(简称x86)的CPU,要386以上的CPU

CentOS-5.6-x86_64-bin-DVD-1of2.iso 适用于x86-64,EM64T 的64位CPU(简称x64)

3.5 eclipse

eclipse-jee-helios-SR2-win32.zip         适用于x86-32(简称x86)的CPU

eclipse-jee-helios-SR2-win32-x86_64.zip  适用于x86-64,EM64T 的64位CPU(简称x64)

3.6 如何选择

若是你想使用32位程序,就下载32位的版本,若是你想使用64位的版本,请根据你的CPU来选择,但我想没人使用Itanium(安腾)的64位CPU来作开发吧(服务器除外),因此ia64不能选,只能选x86-64。总之就是根据你的实际状况选择。

最后说明一下,要全部的软件,硬件,全是64位的,你的应用才算成功的运行在64位上了。好比:
使用64位的CPU,如今(2006年之后生产)的CPU都是64位。
安装64位的操做系统,好比64位的windows 7
安装64位的JDK,好比jdk-6u25-windows-x64.exe
安装64位的Tomcat,好比apache-tomcat-6.0.32-windows-x64.zip

安装64位的eclipse,好比eclipse-jee-helios-SR2-win32-x86_64.zip

相关文章
相关标签/搜索