java - 在硬件上强制执行的变量范围

标签 java logic hardware

有人可以解释一下或指导我找到一个解释软件如何在硬件上工作的资源吗?例如,如果我声明一个私有(private)或公共(public)变量,那么它是如何在硬件上强制执行的,换句话说,是什么强制了它们是这样的事实:公共(public)和私有(private),因为每条指令都必须在硬件上发生,如何维护这种完整性?

最佳答案

在 Java 中,访问权限(public/private 等)由编译器和 Java 虚拟机 (JVM) 管理。例如,如果您加载 Java 库,您可以动态更改字段的访问权限并将其设为公共(public)。没有直接的硬件模拟。

Java 程序和硬件之间有很多层,这个问题很难回答。 Java 代码生成 Java 字节码(类似于机器代码),并且您无法直接访问内存。 JVM 提供此接口(interface)并根据需要将代码重新编译为机器代码,但这在很大程度上对您是隐藏的。

如果您对硬件和软件之间的接口(interface)感兴趣,我会考虑用 C 和 C++ 编写一些代码,以及生成的结果机器代码/汇编程序。 C/C++ 更接近硬件,可以让您了解正在发生的事情。

关于java - 在硬件上强制执行的变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18133013/

相关文章:

java - 使 JavaFX 应用程序线程等待另一个线程完成

java - 如何比较 java.sql.Timestamp 和 java.util.Date

php - 定时从db中获取数据,数据到达时停止

performance - 为什么多线程文件传输可以提高性能?

java - 将 HTTP 请求数据转换为枚举时捕获异常

java - 如何在 Java 中舍入 *down* 整数?

prolog - Prolog 真的基于封闭世界假设吗?

c++ - 为什么这个条件返回false,但是在main函数中却返回true?

c - 理想的跨平台库

java - 我无法将此代码排列在标题下方