java 32位和64位的区别

Python013

java 32位和64位的区别,第1张

下面我跟你详细的分析下32位和64位下Myeclipse、Tomcat以及JDK三者关系详解。这样的话你更容易理解一些

Myeclipse从9.0企业版开始有64位的安装包,本人用的为10.7版本,安装过程中会有选择支持的版本信息,如下图1所示

图1

JDK和Tomcat也分32位和64位。三者之间协同工作的关系,以本人开发环境作详细介绍。JDK和Tomcat分别配置了32位和64位环境,如下图2中从上至下分别对应的是32位以及64位JDK(注意是JDK安装的根目录),图3中从上至下分别对应的是64位,64混合32位以及32位的Tomcat。

图3

下面以64位配置举例说明,如图4中所示,JDK的环境变量为D:\dev\Java64\jdk ;如图5中所示,Tomcat的环境变量为D:\dev\apache-tomcat-7.0.63-x64,如需要切换,修改相应的值即可。

图5

在myeclipse的菜单栏,通过Window->Java->installed JREs即可进入修改开发过程中支撑项目工程的JDK,操作过程如图6中序号表示,这里选择Name为jdk64的64位JDK,在项目JRE System Library下即可查看支撑的JDK信息。

图6

在myeclipse的菜单栏,通过Window->Myeclipse->Servers->Tomcat->Tomcat 7.x即可设置项目工程部署到的Tomcat服务器(如图7所示),这里选择64位的Tomcat,如图8所示,展开Tomcat7.x,选择JDK,即可设置Tomcat运行基于的JDK(在用Myeclipse开发过程中,此JDK可以不配置系统环境变量。原因是Myeclipse会将此JDK作为内置JDK,细心的码友可以发现Myeclipse安装过程中自带的JDK是没有配置环境变量的,但Tomcat照样能运行。),这里选择Name为jdk64的64位JDK。项目部署运行即可在Console控制台看到JDK的信息,如图9所示。

注意:再次强调,用myeclipse开发测试的过程中,所用JDK可以不配置环境变量,Myeclipse会把选用的JDK作为内置JDK,开发过程中无需依托于系统环境变量。项目在开发完毕,导出war包并关闭Myeclipse后,若将war包工程部署到Tomcat,则需要依托系统的环境变量指定的JDK

问题:在Myeclipse开发过程中系统能访问Access数据库,但相应war包部署在Tomcat中后无法访问。

原因:开发时,图8中选择的是32位的JDK(即jdk32,如图10所示),但部署war包的Tomcat依托的系统环境是64位的JDK,如图4所示。

Java的关系有点复杂,可能和你想像的不一样

java里面分为编译java代码的jdk和运行java代码的jvm

jdk分32/64位,以便于在不同的平台上编译.java文件以生成.class文件

jvm也分为32/64位,以便于在不同的平台上运行编译好的.class文件

但是注意,.class文件是平台独立的。换句话说.class文件不分32/64位。

例如,你在64位的平台上用64位的jdk编译了一个.class文件,然后可以直接拿到装有32位jvm的32位操作系统上。当然,你在64位的平台上用32位的jdk编译了一个.class文件,也可以直接拿到装有32位jvm的32位操作系统上。

如果一个程序不是纯java项目(pure java code),那么不纯的java代码会有额外的平台调用。

eclipse就是一个很好的例子。他是java项目,但是包含了用本地方法实现的swt/jface组件,而swt/jface是平台相关的。所以这样的java项目就不具备可移植性

1、打开百度搜索Java7,选择第一项进入下载的页面:

2、在下载界面,首先勾选“Accept License Agreement”

3、注意点击之后此时上方的文字是会变化的,然后点击windows x86的选项即是32位的Java,点击旁边的蓝色字符,即可开始下载32位的JAVA7: