32位/64位系统,jdk32位,64位,32/64位jdk编译出来的class和eclipse 32位和64位

首先关于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
plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.400.v20160518-1444
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
E:\Program Files\Java\jdk1.8.0_92\jre\bin\server\jvm.dll  
    --这里其实也可配javaw.exe   .可是启动时会有一个eclipse.exe 和一个javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m

 

 

关于path中配置了多个jdk,加载顺序是先入为主。就是第一个出现的就是用到的,然后面的会被忽略,而不是覆盖。因此通常比较好的状况,是在path中把你本身添加的jdk的bin文件的路径放到最前边,若是仍是不太懂,请看这一文章:http://ihyperwin.iteye.com/blog/1513754ui

还有在windows系统中最好设置个JAVA_HOME变量,在path中以下配置%JAVA_HOME%\bin,好处就是假设你把java安装目录修改了,修改JAVA_HOME的值便可,其余的不用跟着修改了,相似Linux的符号连接,你懂的。spa