一段时间以来,我一直在努力寻找这个问题的答案,但我认为我的部分问题是我真的不知道如何表达我的问题。我知道JVM最终会在运行时执行Java程序需要执行的所有系统调用,我的困惑在于Java类告诉JVM执行此操作的底层方式。
以标准Java库中的File类为例。据我所知,这被认为是在Java中打开/创建文件的最基本的API。但是,File只是另一个类,对吧?所以从理论上讲,我应该能够从头开始编写自己的File类,而不是使用预先存在的File类,对吧?我该怎么做呢?在告知VM实际创建文件的file类中发生了什么?我查看了File类的源代码,它看起来调用了另一个名为VMFile的类,但我找不到VMFile是什么的解释。当我查看VMFile源代码时,它只有函数声明,没有定义。
谢谢你的帮助。
发布于 2020-12-04 01:46:01
Java Native Interface (JNI)是Java类和操作系统之间的粘合剂。本机方法有一个' Native‘属性(look it up in the JLS)。
https://stackoverflow.com/questions/65136669
复制相似问题