繁体   English   中英

我在哪里可以找到Java库中`native`方法的源代码?

[英]Where can I find the source code for `native` methods in Java library?

sun.misc包中,我在Unsafe类下看到了这些方法。

public final native boolean compareAndSwapObject(Object var1, long var2, Object var4, Object var5);

public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);

public final native boolean compareAndSwapLong(Object var1, long var2, long var4, long var6);

似乎这些方法都是原子的并且是用C语言编写的,但我在Github上找不到这些方法的源代码。有没有人对此有任何想法? 如何轻松找到这些方法的开源实现?

您可以下载OpenJdk源代码JDK7 有一个文件夹共享(jdk \\ src \\ share),您可以在其中获取源代码。 文件夹native(jdk \\ src \\ share \\ native)有源代码(用c和c ++编写):

  1. 用于linux的jdk \\ src \\ linux源码。
  2. 用于Windows的jdk \\ src \\ windows源代码。
  3. solaris的jdk \\ src \\ solaris源。
  4. jd \\ src \\ share共同来源。

谢谢哥们儿

最后,我在github镜像中找到了jdk7-hotspot的源代码:

https://github.com/openjdk-mirror/jdk7u-hotspot/blob/master/src/share/vm/prims/unsafe.cpp

你的问题特别要求java 8 从命令行运行(您需要安装Mercurial客户端)

hg clone http://hg.openjdk.java.net/jdk8/jdk8

这将为您提供HotSpot和其他所有内容的源代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM