关于Java中类对象的问题
我试图回答一个关于扩展Object类和重写toString方法的问题,这时我注意到Object类中的一些方法被定义为native,这意味着它们的实现依赖于操作系统,并考虑提出这两个问题: 为什么类对象中的某些方法被定义为本机方法关于Java中类对象的问题,java,Java,我试图回答一个关于扩展Object类和重写toString方法的问题,这时我注意到Object类中的一些方法被定义为native,这意味着它们的实现依赖于操作系统,并考虑提出这两个问题: 为什么类对象中的某些方法被定义为本机方法 registerNatives方法具体做什么?本机方法是需要连接到JVM内部的方法,例如clone(),它需要告诉JVM复制正在克隆的任何对象的基本内存结构 本机方法是需要挂接到JVM内部的方法,例如clone(),它需要告诉JVM复制要克隆的任何对象的基本内存结构 本
registerNatives方法具体做什么?本机方法是需要连接到JVM内部的方法,例如
clone()
,它需要告诉JVM复制正在克隆的任何对象的基本内存结构 本机方法是需要挂接到JVM内部的方法,例如clone()
,它需要告诉JVM复制要克隆的任何对象的基本内存结构 本机方法是需要挂接到JVM内部的方法,例如clone()
,它需要告诉JVM复制要克隆的任何对象的基本内存结构 本机方法是需要挂接到JVM内部的方法,例如clone()
,它需要告诉JVM复制要克隆的任何对象的基本内存结构 我希望这对你有用
对象类中有一些本机方法,因为它必须与机器交互。在这里,依赖于机器的代码是用C语言编写的,而C语言不是源程序包附带的,也不是在(JRE)的lib位置的rt.jar
中
成为本地人的另一个原因可能是性能原因。由于C级编程性能可能会得到提高,因此他们可能已经用C语言编写了本机代码
这些方法是本机的,因为它们涉及本机数据
您可以找到本机方法的完整源代码
来到你的第二个问题:-
通常,为了让JVM找到本机函数,它们必须以某种方式命名。e、 例如,对于
java.lang.Object.registerNatives
,相应的C函数名为java\u java\u lang\u Object\u registerNatives
。通过使用registernations
(或者更确切地说,JNI函数registernations
),您可以随意命名C函数。我希望这对您有用
对象类中有一些本机方法,因为它必须与机器交互。在这里,依赖于机器的代码是用C语言编写的,而C语言不是源程序包附带的,也不是在(JRE)的lib位置的rt.jar
中
成为本地人的另一个原因可能是性能原因。由于C级编程性能可能会得到提高,因此他们可能已经用C语言编写了本机代码
这些方法是本机的,因为它们涉及本机数据
您可以找到本机方法的完整源代码
来到你的第二个问题:-
通常,为了让JVM找到本机函数,它们必须以某种方式命名。e、 例如,对于
java.lang.Object.registerNatives
,相应的C函数名为java\u java\u lang\u Object\u registerNatives
。通过使用registernations
(或者更确切地说,JNI函数registernations
),您可以随意命名C函数。我希望这对您有用
对象类中有一些本机方法,因为它必须与机器交互。在这里,依赖于机器的代码是用C语言编写的,而C语言不是源程序包附带的,也不是在(JRE)的lib位置的rt.jar
中
成为本地人的另一个原因可能是性能原因。由于C级编程性能可能会得到提高,因此他们可能已经用C语言编写了本机代码
这些方法是本机的,因为它们涉及本机数据
您可以找到本机方法的完整源代码
来到你的第二个问题:-
通常,为了让JVM找到本机函数,它们必须以某种方式命名。e、 例如,对于
java.lang.Object.registerNatives
,相应的C函数名为java\u java\u lang\u Object\u registerNatives
。通过使用registernations
(或者更确切地说,JNI函数registernations
),您可以随意命名C函数。我希望这对您有用
对象类中有一些本机方法,因为它必须与机器交互。在这里,依赖于机器的代码是用C语言编写的,而C语言不是源程序包附带的,也不是在(JRE)的lib位置的rt.jar
中
成为本地人的另一个原因可能是性能原因。由于C级编程性能可能会得到提高,因此他们可能已经用C语言编写了本机代码
这些方法是本机的,因为它们涉及本机数据
您可以找到本机方法的完整源代码
来到你的第二个问题:-
通常,为了让JVM找到本机函数,它们必须以某种方式命名。e、 例如,对于
java.lang.Object.registerNatives
,相应的C函数名为java\u java\u lang\u Object\u registerNatives
。通过使用registernations
(或者更确切地说,JNI函数registernations
),您可以随意命名您的C函数。Java中的一些方法是本机的,原因有两个(我可以看到):