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

相關文章
相關標籤/搜索