2015-05-15 28 views
7

W pakiecie sun.misc zobaczyłem te metody pod klasą Unsafe.Gdzie mogę znaleźć kod źródłowy dla "natywnych" metod w bibliotece Java?

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); 

Wydaje się, że metody te są niepodzielne i są napisane w C, ale nie mogę znaleźć kodu źródłowego tych metod na Github .. Czy ktoś ma jakieś pomysły na ten temat? Jak mogę łatwo znaleźć implementację open source dla tych metod?

Odpowiedz

0

Można pobrać kod źródłowy JDK7 OpenJDK. Istnieje udział w folderze (jdk \ src \ share), w którym można uzyskać kod źródłowy. Folder natywny (jdk \ src \ share \ native) ma źródło napisane (w c i C++):

  1. jdk \ src \ linux źródło dla systemu Linux.
  2. jdk \ src \ windows źródło dla systemu Windows.
  3. jdk \ src \ solaris souce for solaris.
  4. jd \ src \ share common source.
0

Twoje pytanie konkretnie prosi o java 8. Uruchomić to z linii poleceń (trzeba Mercurial klienckiego zainstalowanego)

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

To będzie Ci kod źródłowy HotSpot i wszystkiego innego.