java - java.io.FileOutputStream.write(int, boolean) native 方法的源代码

标签 java jvm java-native-interface native

如问题中所述,我正在寻找 java.io.FileOutputStream#write(int, boolean) native 方法的源代码。我在 Ubuntu 16.04 上,我正在使用 OpenJDK 8。我已经从 http://hg.openjdk.java.net/jdk8 下载了OpenJDK 8 和 OpenJDK 8 HotSpot 项目的源代码。我可以找到其他 native 方法的实现(例如 System.currentTimeMillisSystem.arrayscopy)但我找不到 FileOutputStream.write(int, boolean).

我在 /usr/lib/jvm/java-8-oracle/jre/lib/amd64 中看到大量库。您能否让我知道所有包含 Java 运行时源代码的地方并帮助我找到 FileOutputStream.write(int, boolean) 实现?

最佳答案

在名为 src/java.base/unix/native/libjava/FileOutputStream_md.c 的文件中有两种实现,一种用于 unix,一种用于 Windows,两者看起来都像这样。

JNIEXPORT void JNICALL
Java_java_io_FileOutputStream_write(JNIEnv *env, jobject this, jint byte, jboolean append) {
    writeSingle(env, this, byte, append, fos_fd);
}

关于java - java.io.FileOutputStream.write(int, boolean) native 方法的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52879860/

相关文章:

Java JNI编程: Actual usage of the Global References

java - 使用 jaxb 解码 xml 文档的中间部分

java - 将 double 值与 double 常数进行比较

java - 显示 bash :/usr/lib/jvm/java-7-oracle=/usr/lib/jvm/java-8-oracle: No such file or directory in terminal

java - JVM 是否保证缓存非 volatile 变量?

java - JNI-java.lang.UnsatisfiedLinkError但函数签名正确

java - 有没有办法使用 JNI 从 Java 调用 C++ 的 STL 库?

java - 64位ant.jar

java - Spring MVC - 将相同的对象从一个页面传输到另一个页面

java - Java 中的 listFiles() 方法在 .jar 中不起作用