- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在阅读 wiki 中的指令集
我看到了这一段:
Some virtual machines that support bytecode as their ISA such as Smalltalk, the Java virtual machine, and Microsoft's Common Language Runtime, implement this by translatin the bytecode for commonly used code paths into native machine code. In addition, these virtual machines execute less frequently used code paths by interpretation (see: Just-in-time compilation). Transmeta implemented the x86 instruction set atop VLIW processors in this fashion.
这到底是什么意思? bytecodes
是ISA
for JVM
而JVM
反过来支持ISA
处理器。
最佳答案
没错,就是你猜的那样。 JVM/JRE 使用 Java 字节码作为其指令集,每个 JVM 都需要在本地/本地硬件(以及本地指令集)上编译并可运行。这张来自维基百科的图表很好地说明了这一点,我认为:
JRE/JVM 需要针对其运行的特定硬件进行编译,尽管 JVM 本身的 Java 字节码定义和解释保持不变。正如您所指出的,Java 字节码可以看作是 Java 源代码和本地机器/二进制代码之间的一种抽象层。它确实允许在典型的 Java 程序员和需要了解任何特定于机器的东西之间分离关注点,因为几乎所有这些都由 JVM/JRE 处理。
关于java - 字节码是否被视为 JVM 的指令集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21195340/
我想开始使用一些 AVX(高级矢量扩展)指令。我知道英特尔提供了一个模拟器来测试包含这些指令的软件(请参阅 this question ),但由于我不想手动编写十六进制代码,因此出现了关于 的问题。哪
假设我使用的是基于 Intel x64 的笔记本电脑,没有专用的 GPU。 我必须有一些板载 GPU 否则我的屏幕将无法工作,对吗? 板载 GPU 通常是否嵌入到 CPU 中? 英特尔是否有单独的 G
我遇到了这个错误:“SSE 指令集未启用”。我该如何解决这个问题? 我有 ACER i7,Ubuntu 11.10,请问有人能帮帮我吗? 任何帮助将不胜感激! 同时运行: sudo cat /pro
我希望创建一个最小的、计算通用的字母数字 x86 操作码子集。最终我希望子集包含尽可能少的指令,如果有多个最小子集,我也想知道。该子集应该能够模拟可以用整个字母数字指令集编写的任何程序。说明应仅涵盖与
COM 文件中使用了哪些指令集?我以为是 8086,但似乎我错了。在我发现的 8086 手册中,shl 的第二个参数只能接受 1 或 cl,而 1 以外的立即值对我来说很好用。如果重要,我正在使用 N
在“ARM11TechnicalRefManual”第 1-34 节的“Thumb 指令集”下,它说: “Thumb 指令集是最常用的 32 位 ARM 指令的子集。Thumb 指令长 16 位,并且
Java Virtual Machine Instruction Set页面提供aaload、aastore...等助记词信息 然而,既没有提到这些助记符占用的CPU周期,也没有任何关于这些助记符的字
在任何编程环境中,无论我选择何种数据类型,最终 CPU 都只会执行算术运算(加法/逻辑运算)。 这种转变(从用户定义的数据类型/操作到 CPU 指令集)是如何发生的,编译器、解释器、汇编器和链接器在这
Raspberry Pi 3 uses a Broadcom SoC with and ARMv8 A53 core .它还使用基于 Debian Jessie 的 32 位操作系统。根据 ARM 的
这个问题在这里已经有了答案: How to create a lightweight C code sandbox? (13 个答案) 关闭 9 年前。 我正在开发一个类似于 hackerrank.
下面的代码是否可以用来检查 CPU 是否支持 SSE3 指令集? 使用 IsProcessorFeaturePresent()该功能显然不适用于 Windows XP。 bool CheckSSE3(
我想编译一个包含大量 32 位静态库的程序,由于缺少 makefile,我无法将其重新编译为 64 位,但我应该编译一些库以获得一些静态库以与它们一起使用。 我要编译的库之一有一个 Makefile,
我知道 SSE 是 x87 浮点指令的替代方法,但 x87 FPU 是否仍在 Ivy-Bridge 或 Haswell 等现代 CPU 中实现? SSE 是否取代了 x87 指令集? 最佳答案 x87
我知道这个问题已经有一些答案,但我似乎不明白为什么我一直收到这个错误。 下面是解释:我有 64 位机器,其中安装了 Windows 7 x64。我在 Windows 上的 GCC (CodeBlock
我们有一个要用 AVX2 编译的翻译单元(只有那个):它在文件的第一行预先告诉 GCC: #pragma GCC target "arch=core-avx2,tune=core-avx2" 这曾经适
我想使用 mfoc library使用我的 Galaxy Nexus 手机,但 NFC Android API 中缺少某些方法。所以我想实现这些方法并构建我自己的 ROM。 使用 NFC pn512
我希望以快速高效的方式用 C 语言编写 Morton Z 顺序编码和解码的两个函数,即。 uint64_t morton_encode(uint32_t xindex, uint32_t yindex
我在 Visual C++ 2010 中使用 OpenCV 中的 BRIEF 描述符来匹配两个图像中的点。 在the paper关于 BRIEF-descriptor 的内容是可以加快速度: "The
我正在尝试制作一个对 2 个 CGVectors 求和的函数。 这是我的尝试: 包括: @import GLKit; @import Foundations; // Defenition of
所以,这就是我要完成的工作。在我的 C++ 项目中,必须使用 Microsoft Visual Studio 2015 或更高版本编译,我需要一些代码具有不同的版本,具体取决于用户 CPU 中可用的最
我是一名优秀的程序员,十分优秀!