深入理解64-bit(七)
来源:互联网 发布:java应用架构设计pdf 编辑:程序博客网 时间:2024/05/16 06:50
4 小结
优缺点
32-bit
64-bit
实例或备注
硬件
涉及对象
子项
寄存器[1]
个数
少[2]
多[3]
增加的64位寄存器数量
直接寻址能力
寻址范围从232 扩大到 264 bit,物理内存的限制被突破
≤4G
操作系统和应用程序共享最多4G的内存,通常
≤16EB[4]
更大的内存访问范围[5]
更多的内存加载数据[6]
32位机器上处理64位数据
需要开发人员拆分数据(不可直接使用,需要修改代码)
可直接在64位寄存器上使用
64位机器上处理32位数据
64位机器上处理32位数据,通常支持[7]
软件
操作系统
指针(句柄)
编译器、链接器、库
以便充分利用支持的64位处理器的较大的寄存器组
Java虚拟机
区分32-bit的虚拟机,但32-bit的虚拟机对于java编译后的字节码则提供64-bit的支持
区分64-bit的虚拟机
应用程序
同样的数据
耗费较少内存
耗费更多内存
因更长的指针和一些数据类型导致的内存中边界对齐导致
应用方式
文件处理
文件本身的大小
处理较小尺寸的文件
处理更大尺寸的文件
数值型
受限于数据类型
字符型
不受限制
开发方式
Windows
相同的开发环境和API
相同的开发技巧
其他
1 FORTRAN and C 代码比Java语言需要更多地考虑移植性。[8]
2
[1] 寄存器是一个硬件系统提供的可供最快访问的内存类型。
[2] X86-32有8个通用寄存器。
[3] x86-64有16个寄存器;Itanium有128个浮点寄存器、128个通用寄存器。
[4] Windows的64-bit操作系统为操作系统内核和用户的应用程序各提供了最大8TB的虚拟空间。
[5] 可直接寻址的可能性显著增加,降低了间接寻址带来的时间消耗,因此速度更快。
[6] 将更多的大型数据加载到内存中,供处理器访问。由于访问内存中数据的速度比访问磁盘驱动器上数据的速度快10000倍,因此更能加快速度。
[7] 大多数适用于32-bit版本Windows的程序都可以在 64-bit版本的Windows 上运行。但许多防病毒程序例外。适用于32-bit版本Windows的设备驱动程序无法在运行64-bit版本Windows的电脑上运行。
[8] Java的数据类型,被JDK屏蔽,不受操作系统限制。所以,Java程序在32-bit和64-bit的JDK下是一致的。
- 深入理解64-bit(七)
- 深入理解64-bit (一)
- 深入理解64-bit (二)
- 深入理解64-bit(三)
- 深入理解64-bit(四)
- 深入理解64-bit(五)
- 深入理解缓冲区(七)
- 深入理解Java Class文件格式(七)
- 深入理解Java Class文件格式(七)
- 深入理解Java Class文件格式(七)
- 深入理解Java Class文件格式(七)
- 《深入理解linux内核》七
- 深入理解Java内存模型(七)——总结
- 深入理解Java内存模型(七)——总结
- 深入理解Java内存模型(七)——总结
- 深入理解Java内存模型(七)——总结
- 深入理解Java内存模型(七)——总结
- 深入理解Java内存模型(七)——总结
- AIX是否能够被VMware虚拟化?
- 进程创建时信号处理函数处理
- Linux关及性能的相关内核参数(一)
- POI中增加image
- Eclipse快捷键大全
- 深入理解64-bit(七)
- java序列化一些小要点
- 浅谈JavaScript的null和undefined
- 数据库版本管理
- 论软件产品的易用性(一)
- VMware的官方文档---对网络的支持
- 软件测试每日集成
- 论软件产品的易用性(二)
- linux下mysql相关目录