您的位置:

java64位的简单介绍

本文目录一览:

64位的Java与32位的有什么不同

所谓32位处理器就是一次只能处理32位,也就是4个字节的数据,而64位处理器一次就能处理64位,即8个字节的数据。

如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位处理器,比如Intel 80286 CPU需要8个指令,32位的处理器需要4个指令,而64位处理器则只要两个指令,显然,在工作频率相同的情况下,64位处理器的处理速度会比16位、32位的更快。而且除了运算能力之外,与32位处理器相比,64位处理器的优势还体现在系统对内存的控制上。

由于地址使用的是特殊的整数,而64位处理器的一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。传统32位处理器的寻址空间最大为4GB,使得很多需要大容量内存的数据处理程序在这时都会显得捉襟见肘,形成了运行效率的瓶颈。

而64位的处理器在理论上则可以达到1800万个TB,1TB等于1024GB,1GB等于1024MB,所以64位的处理器能够彻底解决32位计算系统所遇到的瓶颈现象,速度快人一等,对于那些要求多处理器可扩展性、更大的可寻址内存、视频/音频/三维处理或较高计算准确性的应用程序而言,AMD 64处理器可提供卓越的性能。

理论上来说32位的JVM有4G的堆大小限制。但是因为各种条件限制比如交换区,内核地址空间使用,内存碎片,虚拟管理机的管理开销,实际上可用的堆的大小远远比理论上的4G要少。

在32位windows的机器上,堆最大可以达到1.4G至1.6G。

在32位solaris的机器上,堆最大可以达到2G

而在64位的操作系统上,32位的JVM,堆大小可以达到4G

java

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

简介

它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。

java 32位和64位的区别

下面我跟你详细的分析下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运作64位程序

32位下JVM最大可用内存4g

$ java -showversion -Xmx4g HelloWorld

Invalid maximum heap size: -Xmx6g

The specified size exceeds the maximum representable size.

Could not create the Java virtual machine.

所需内存超过4g,需开启64位标记

$ java -showversion -d64 -Xmx6g HelloWorld

java version "1.6.0_07"

Java(TM) SE Runtime Environment (build 1.6.0_07-b04)

Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)

Hello world!

系统平台不支持64位时会提示:

Running a 64-bit JVM is not supported on this platform.

物理内存不够时会提示:

Error occorred during initialization of VM

Could not reserve enough space for object heap

Could not create the Java virtual machine.

p.s. 开启64位标记在Linux下使用-d,win32下使用-D。(linux jdk1.5,1.6; win32 jdk1.6经过我的测试)

java64位设置内存大小在哪设置

1.

在eclipse根目录下打开eclipse.ini,默认内容为(这里设置的是运行当前开发工具的JVM内存分配): -vmargs -Xms40m -Xmx256m -vmargs表示以下为虚拟机设置参数,可修改其中的参数值,也可添加-Xmn,-Xss,另外,eclipse.ini内还可以设置非 堆内存,如:-XX:PermSize=56m,-XX:MaxPermSize=128m。

2.

打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效) 编辑当前使用的JRE,在缺省VM参数中输入:-Xmx128m -Xms64m -Xmn32m –Xss16m。

3.

打开eclipse-运行-运行-Java应用程序(只对所设置的java类生效) 选定需设置内存分配的类-自变量,

java 是64位还是32位

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项目就不具备可移植性

怎么安装64位JAVA

步骤如下:

1、从Oracle官网下载JDK安装包,如:jdk-7u79-windows-x86版本。

2、安装包下载完成后,双击安装包进行安装,安装路径可以使用默认路径,这里改为D:\Program Files\Java。

3、安装完成后,还需要进行环境变量的配置,在系统环境变量的用户变量里面添加一个变量名为JAVA_HOME环境变量。

4、在JAVA_HOME的变量值处填写上JDK安装目录的bin文件夹的路径,此处为D:\Program Files\Java\jdk1.7.0_79。

5、再添加一个变量名为Path的变量,变量值填写为%JAVA_HOME%\bin;。