在sun.misc
包中,我在Unsafe
class。
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上找到这些方法的源代码。有没有人对此有任何想法?如何轻松找到这些方法的开源实现?
答案 0 :(得分:6)
您可以在此处查看OpenJDK代码:http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/tip/src/share/vm/prims/unsafe.cpp
答案 1 :(得分:0)
您可以下载OpenJdk源代码JDK7。有一个文件夹共享(jdk \ src \ share),您可以在其中获取源代码。文件夹native(jdk \ src \ share \ native)有源代码(用c和c ++编写):
答案 2 :(得分:0)
谢谢@Buddy
最后,我在Github镜像中找到jdk7-hotspot的源代码:
https://github.com/openjdk-mirror/jdk7u-hotspot/blob/master/src/share/vm/prims/unsafe.cpp
答案 3 :(得分:0)
您的问题明确要求var canvasGraphic = (function(){
return {
getCanvas:function(){
var canvas = document.createElement("canvas");
var body = document.getElementsByTagName("body")[0];
body.appendChild(canvas);
canvas.style.border = "black solid";
}
}
})();
canvasGraphic.getCanvas();
。从命令行运行此命令(您需要安装java 8
客户端)
Mercurial
这将为您提供hg clone http://hg.openjdk.java.net/jdk8/jdk8
及其他所有内容的源代码。