首先關於32位/64位系統,jdk32位,64位,32/64位jdk編譯出來的class和eclipse 32位和64位的一些對應關係作些說明。java
1.32位操做系統不能夠裝64位jdk,64位操做系統通常均可以安裝32位jdk,64位jdk是完美髮揮性能的。linux
2.64位eclipse只能在64位jdk上運行,運行時如不指定(在eclipse.ini中或啓動參數中)vm是會默認去取JAVA_HOME的,如未配置,則根據path中制定去尋找jre路徑,這個下面詳述。32位eclipse也只能在32位jdk上運行,一句話:eclipse和jdk的位數應該是對應的,不然報錯相似下面這種:windows
Failed to load the JNI shared library "E:\Java\bin\..\jre\bin\client\jvm.dll".app
3.class文件不管是32位仍是64位jdk編譯出來的,均可以通用,也不分是window的jdk仍是linux的jdk。eclipse
注意若是想安裝多個jdk又不想改動javahome的話,能夠在eclipse.ini 修改,爲eclipse設jdk,這樣啓動不一樣的eclipse時就不會有問題了。解決方法簡述:jvm
eclipse在啓動時會去讀取eclipse.ini配置文件。加上紅字部分便可(根據本身的實際路徑),注意加的位置。性能
-startup
關於path中配置了多個jdk,加載順序是先入爲主。就是第一個出現的就是用到的,然後面的會被忽略,而不是覆蓋。因此通常比較好的狀況,是在path中把你本身添加的jdk的bin文件的路徑放到最前邊,若是仍是不太懂,請看這一文章:http://ihyperwin.iteye.com/blog/1513754ui
還有在windows系統中最好設置個JAVA_HOME變量,在path中以下配置%JAVA_HOME%\bin,好處就是假設你把java安裝目錄修改了,修改JAVA_HOME的值便可,其餘的不用跟着修改了,相似Linux的符號連接,你懂的。spa