我不明白的意思
最初的 Java AWT 是通过使用 Java 编写的小部件来实现的,这些小部件委托给用 C 编写的对等类
“用 C 编写的对等类”部分:
这意味着Java类包含本机代码?
我不明白的意思
最初的 Java AWT 是通过使用 Java 编写的小部件来实现的,这些小部件委托给用 C 编写的对等类
“用 C 编写的对等类”部分:
这意味着Java类包含本机代码?
Hotspot Java 的大部分运行时系统都是用 C/C++ 编写的。在某一时刻,这包括 AWT 对等类。(它仍然可以做......)
本机代码不在 Java 中。相反,Java 通常具有native
方法声明,这些方法声明通常在加载相应的本机库时绑定到本机实现。
(但是不要把这当作绿灯在你的代码中做同样的事情。与本机代码的接口是棘手的,如果你弄错了,你很可能会触发硬 JVM 崩溃......和一个痛苦的世界...... .)
我现在明白了。AWT 工具包通过在对等类中使用 C 代码来使用本机组件,这在 Swing 中得到了解决。谢谢你@安德鲁