当前位置:首页 » 编程语言 » java磁盘

java磁盘

发布时间: 2024-01-10 03:10:47

① 求问大神 既然硬盘上储存程序代码已经是二进制的,为什么不能直接执行,还需要再编译一下呢

我的理解是:计算机能够执行的是机器指令。程序本身虽然是以二进制文件的形式存储在磁盘中,但是这里存储的只是程序中字面量转换成二进制的形式存储。所以需要通过程序对应的编译器将其编译成对应的机器指令文件。而执行就是执行机器指令文件了。
#就拿java语言来说:
源文件是以**.java的文件形式存储在磁盘中的。但是这样的文件相当于只是将其中的文本转换成了二进制。计算机根本不知道该如何执行。
通过Java的编译器将其转换成**.class文件后,class文件虽然也是二进制存储,但是有自己的结构:魔数,副版本号,主版本号,常量池计数器,常量池,访问标志位,类索引,父类索引等等。但是这个东西计算机不能直接执行的,需要通过Java虚拟机去执行。而Java虚拟机相当于是模拟计算机,也有个程序计数器啥的。我个人认为应该是将.class文件中的字节码通过jvm中的执行引擎转换成对应的虚拟机指令。然后才能执行。而在真正执行的时候虚拟机中对应的虚拟机指令也是要转换成对应的机器指令才能执行

热点内容
服务器如何从导轨取下来 发布:2025-01-23 10:28:30 浏览:102
华为手机的密码保险柜在哪里 发布:2025-01-23 10:27:02 浏览:633
三星的铃声文件夹是哪个 发布:2025-01-23 10:26:25 浏览:115
信号量编程 发布:2025-01-23 10:23:59 浏览:555
网易邮箱账号和密码哪里查看 发布:2025-01-23 10:09:37 浏览:306
java数据库下载 发布:2025-01-23 10:04:33 浏览:247
基岩版服务器改地址 发布:2025-01-23 09:59:33 浏览:506
android获取sim卡 发布:2025-01-23 09:48:49 浏览:178
快捷指令自动清理缓存 发布:2025-01-23 09:45:41 浏览:77
数据结构算法实现及解析 发布:2025-01-23 09:33:22 浏览:153