猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
为什么java编译器要将java代码转为字节码(byte)?为什么不可以直接转为位(bit)?
为什么java编译器要将java代码转为字节码(byte)?为什么不可以直接转为位(bit)?那样的话计算机不就可以直接读取了么?为什么还需要虚拟机呢?这么做的原因是什么?
Cats萌萌
浏览 1275
回答 2
2回答
富国沪深
java编译器要将java代码转为Unicode字节码(byte)主要原因是为了实现跨平台,因为在不同的机器字长的机器上表示相同的数据类型数据需要的字节数是不同的,而一个字节是固定由8位二进制数表示,如果我们直接编译转为bit,等于是根据编译程序的机器环境已经确定了表示该数据类型需要的字节数,这样的后果是可能会造成所给的字节数小于程序目标使用机器实际上表示该数据类型的需要而缩小该数据类型的数值表示范围,从而导致数值越界造成程序出现Bug。而JVM就像Java程序和机器硬件之间的一座桥梁,前面得到的Unicode字节码(byte)组成的.class文件根据机器硬件环境来进行编译,从而使应用程序能在各种平台上运行一致。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续