Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于Java中类对象的问题_Java - Fatal编程技术网

关于Java中类对象的问题

关于Java中类对象的问题,java,Java,我试图回答一个关于扩展Object类和重写toString方法的问题,这时我注意到Object类中的一些方法被定义为native,这意味着它们的实现依赖于操作系统,并考虑提出这两个问题: 为什么类对象中的某些方法被定义为本机方法 registerNatives方法具体做什么?本机方法是需要连接到JVM内部的方法,例如clone(),它需要告诉JVM复制正在克隆的任何对象的基本内存结构 本机方法是需要挂接到JVM内部的方法,例如clone(),它需要告诉JVM复制要克隆的任何对象的基本内存结构 本

我试图回答一个关于扩展Object类和重写toString方法的问题,这时我注意到Object类中的一些方法被定义为native,这意味着它们的实现依赖于操作系统,并考虑提出这两个问题:

为什么类对象中的某些方法被定义为本机方法


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中的一些方法是本机的,原因有两个(我可以看到):

  • 它们需要不容易通过Java本身公开的资源。例如,'getClass()'使用一些低级C例程来引用对象类,这就引出了第二个原因