java程序 在32位机和64位机上运行,有什么区别

 我来答
百度网友afe836d
2017-02-15 · TA获得超过635个赞
知道小有建树答主
回答量:367
采纳率:50%
帮助的人:304万
展开全部
严格意义上来说,性能上会有一点差异,同样的程序迁移到64bit的性能可能会有小幅度下降。另外,64bit的jvm不再有heap size的限制。

The maximum theoretical heap limit for the 32-bit JVM is 4G. Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limit can be much lower. On most modern 32-bit Windows systems the maximum heap size will range from 1.4G to 1.6G. On 32-bit Solaris kernels the address space is limited to 2G. On 64-bit operating systems running the 32-bit VM, the max heap size can be higher, approaching 4G on many Solaris systems.

理论上来说32位的JVM有4G的堆大小限制。但是因为各种条件限制比如交换区,内核地址空间使用,内存碎片,虚拟管理机的管理开销,实际上可用的堆的大小远远比理论上的4G要少。
在32位windows的机器上,堆最大可以达到1.4G至1.6G。
在32位solaris的机器上,堆最大可以达到2G
而在64位的操作系统上,32位的JVM,堆大小可以达到4G
补充一句,在使用java参数-xms -xmx定义堆大小的时候,
1. 如果是32bit的jvm超过4G肯定是没用的,定义了4G,最终使用到的可能只有2G
2. 这两个值最好定义成一样,可以减少java gc的操作,有小幅度性能提高
暮影1994
2016-11-25 · TA获得超过2338个赞
知道大有可为答主
回答量:1215
采纳率:60%
帮助的人:396万
展开全部
哈,按照oracle官方给出的内容: java是编写一次,到处运行的一种编程语言.也就是传说中的跨平台. 但是这个所谓的跨平台,其实都是建立在同一个前提条件下的,就是你的运行java文件的os环境,必须安装好jdk,使用jvm运行.

那么问题就来了,每一个os都有不同的版本,如win的32和64,那么安装jdk就要选择好对应的版本安装了. 其实在64位上安装32位的jdk也是可以运行的,但是并不提倡这么做. 在服务器环境中,一般采用的都是64的os platform , 所以,一般都是安装64的jdk.

要是真论32和64的话,跟系统架构有关,理论上64位的cpu处理速度比32位的快,但就是java程序来说,并没有区别,语法一样,只是jdk不一样而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YCU丶东临碣石
2017-12-10
知道答主
回答量:2
采纳率:0%
帮助的人:1735
展开全部

64位机上写好的程序导入到32位机上会出现问题,换一下jre system library 就可以了!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b1fa122
2016-11-22 · TA获得超过893个赞
知道大有可为答主
回答量:1059
采纳率:100%
帮助的人:1020万
展开全部
java程序没有区别,主要是jvm有区别,需要安装对应版本的jdk
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
低调的小男孩76
2016-12-21 · 超过17用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:12.2万
展开全部
没区别,都能运行,他是集成软件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式