java程序32位和64位可以通用吗?我一直有这个疑问,比如64位的机器上运行32位的java程序会不会有问题,直到我看到了JVM大神R大 RednaxelaFX的回答。

下面是拷贝

用32位还是64位的JDK编译出来的Class文件没区别,关键是运行程序的JDK/JRE是多少位的,此时64位的JDK/JRE占的包括PermGen在内的内存会多一些。

主要是指针的宽度变宽了,32位的指针是32位的,64位的指针是64位的,大了一倍。假设有下面的一个C语言声明的数据结构:

structX {inti;void*ptr;

}

在32位条件下它或许要8字节,而在64位条件下它或许就是12字节。

HotSpot VM通常使用直接指针来实现java层面的对象引用。所以在64位JVM上运行程序,java对象因此而变大,JVM内部的数据结构也有些会变大。在64位JVM使用指针压缩时,java对象的java引用可以维持跟32位JVM一样大(每个压缩指针占32位),但有些JVM内部数据结构用不上压缩指针功能,只存直接指针,所以还是要变大。

如果某个java app有native部分,那么native的部分也得对应上。Tomcat也可以tcnative(Tomcat Native Libary), 是用C写的,所以有“32位Tomcat”这么一说。

Spring的话我印象中没native部分。

最后自己的理解,如果程序中有native,so或者dll,那么就是不通用的。

java 64位 32位_32位和64位的java程序可以通用吗相关推荐

  1. 64位32位 java 浏览器_Java编程语言下 Selenium 驱动各个浏览器代码

    这里采用的是Selenium3.7版本,首先介绍的是在Windows环境下运行的: 总结下注意事项: 1,设置各个浏览器的Driver路径 System.setProperty("" ...

  2. 64位32位 java 浏览器,所有的Java小程序可以在64位JRE启用浏览器中运行?

    I have a java applet, which doesn't run on 64bit systems (browsers & OS are 64Bit) but works per ...

  3. java se 7 64位_Java SE Runtime Environment(JRE7 64位版)7u80 多语官方安装版 X64

    JRE7 32位是一款在电脑上运行的编程运行环境,让您开发和部署在台式机和服务器上的Java应用程序,现如今的Java不但在实行速率上面有大幅的改革创新,并且在內容上也是有干了许多些改动及其提高,容许 ...

  4. 32位 shell.efi x86_通过grub,让32位的efi也能运行64位的Linux发行版

    GRUB是什么 是一个来自GNU项目的启动引导程序.GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统.GRUB可用于选择操作系统分区上的 ...

  5. 内核知识第九讲,32位下的分页管理,36位下的分页管理.以及64位下的分页管理

    内核知识第九讲,32位下的分页管理,36位下的分页管理.以及64位下的分页管理 一丶熟悉WinDbg的常见命令. dd 虚拟地址      显示内存. !dd 加上!,        ! dd 物理地 ...

  6. java怎样生成32位全是整形的主键_你肯定会需要的分布式Id生成算法雪花算法(Java)...

    最近公司正好在做数据库迁移从oracle到mysql,因为之前oracle主键是使用的 SYS_GUID() 这个oracle提供的函数来生成全球唯一的标识符(原始值)由16个字节组成. 不过由于my ...

  7. 64位计算机安装32位,64位电脑装32位系统,小编教你64位电脑怎么装32位系统

    对电脑有深入了解的用户就知道,64位电脑一般指的是CPU是64位处理器,64位机器要安装64位系统,发挥硬件最佳性能,当然了,64位电脑也可以装32位系统,因为64位电脑是向下兼容,支持64位系统也支 ...

  8. c oracle 32位64位,64位与32位编程的数据类型区别(C/C++)

    二.C++ 1.字节和字长 字节,八位就是一个字节,是固定概念.字长是指计算机一次能处理的二进制数据的长度,是一个非固定的概念.例如,8位计算机的字长为8,即一个字节, 32位计算机的字长位32,即4 ...

  9. 怎么看python是64位还是32位_怎样查看python是64位还是32位

    怎样查看python是64位还是32位?下面给大家介绍三种方法: 方法一: 打开IDLE,看第一行提示,例如: 32位系统是这样的 Python 3.5.1 (v3.5.1:37a07cee5969, ...

  10. win10系统下载中文版 64位32位 官方版​

    win10系统下载中文版 64位&32位 官方版 软件大小:4.9GB 软件语言:简体中文 软件类别:操作系统 软件授权:官方版 更新时间:2015-01-22 应用平台:/Win8/Win7 ...

最新文章

  1. 服务器云ide_语言服务器协议如何影响IDE的未来
  2. UA MATH571A 多元线性回归I 模型设定与推断
  3. 面试官:react和vue有什么区别吗?
  4. ApplicationContext和BeanFactory
  5. “睡服”面试官系列第十篇之module的语法(建议收藏学习)
  6. abap开发注释快捷键_让ABAP开发者更加轻松的若干快捷键
  7. 阿里云商品评价解析功能示例解析
  8. WebFlux响应式编程基础之 6 webflux客户端声明式restclient框架开发讲解
  9. 【BZOJ3879】SvT,后缀数组+单调栈维护sum
  10. centos6下如何安装mysql服务_CentOS6下安装MySQL数据库服务
  11. ORA-28002 the password will expire
  12. 文件操作:fseek函数和ftell函数
  13. 【烈日炎炎战后端】JAVA多线程(11.2万字)
  14. TouchDesigner案例(十)缤纷
  15. 再次盈利的芒果超媒,下一步剑指电商
  16. rⅰd的意思_自动挡车型上的P、R、N、D、S、L是什么意思?你懂吗?
  17. 并网逆变器的clark、park变换的C语言实现技巧
  18. 中小企业如何才能招聘到合适的程序员?
  19. 2020春招阿里一面
  20. [Swift]求最大公约数和最小公倍数【用微信查看本文链接可查看到引用图片】

热门文章

  1. 安装Fedora 20桌面版并配置(gnome桌面环境)
  2. 远程计算机维修,电脑坏了不用愁,向日葵电脑远程维修省时又省力
  3. 深度现场教学安徽省安庆市青年干部培训参观杭州梦想小镇实例
  4. CMM3下的应用及改进
  5. sqlserver2012安装教程
  6. 在线留痕阅卷系统功能说明及其演示
  7. web前端效率提升之禁用缓存-遁地龙卷风
  8. windows 程序员计算器 详细解释
  9. Python语言程序设计基础_期末作品设计——程序员计算器(2020-2 A)_答案_通识教育必修课程_上海师范大学
  10. 极路由HC5661a刷潘多拉固件后配置python环境运行脚本登陆dr.com校园网