ナンセンス不定記 このページをアンテナに追加 RSSフィード

2008-07-03

sun.misc.Unsafe

sun.misc.Unsafeのフィールド/メソッド一覧を出力してみる

import sun.misc.Unsafe;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class UnsafeClass {
    public static void main(String[] args) throws Exception {
        Class uc = Unsafe.class;
        Field[] fields = uc.getDeclaredFields();
        for (int i = 0; i < fields.length; i++) {
            System.out.println(fields[i].toString().replace("sun.misc.Unsafe.", "") + ";");
        }
        Method[] methods = uc.getDeclaredMethods();
        for (int i=0; i<methods.length; i++) {
            System.out.println(methods[i].toString().replace("sun.misc.Unsafe.", "") + ";");
        }
    }
}

と、

private static final sun.misc.Unsafe theUnsafe;
public static final int INVALID_FIELD_OFFSET;
public native java.lang.Object getObject(java.lang.Object,long);
public java.lang.Object getObject(java.lang.Object,int);
public native boolean getBoolean(java.lang.Object,long);
public boolean getBoolean(java.lang.Object,int);
public native byte getByte(java.lang.Object,long);
public byte getByte(java.lang.Object,int);
public native byte getByte(long);
public native short getShort(long);
public native short getShort(java.lang.Object,long);
public short getShort(java.lang.Object,int);
public char getChar(java.lang.Object,int);
public native char getChar(long);
public native char getChar(java.lang.Object,long);
public native int getInt(java.lang.Object,long);
public native int getInt(long);
public int getInt(java.lang.Object,int);
public native long getLong(java.lang.Object,long);
public long getLong(java.lang.Object,int);
public native long getLong(long);
public float getFloat(java.lang.Object,int);
public native float getFloat(java.lang.Object,long);
public native float getFloat(long);
public native double getDouble(long);
public double getDouble(java.lang.Object,int);
public native double getDouble(java.lang.Object,long);
public native long getAddress(long);
public void putObject(java.lang.Object,int,java.lang.Object);
public native void putObject(java.lang.Object,long,java.lang.Object);
public void putBoolean(java.lang.Object,int,boolean);
public native void putBoolean(java.lang.Object,long,boolean);
public native void putByte(long,byte);
public native void putByte(java.lang.Object,long,byte);
public void putByte(java.lang.Object,int,byte);
public void putShort(java.lang.Object,int,short);
public native void putShort(java.lang.Object,long,short);
public native void putShort(long,short);
public void putChar(java.lang.Object,int,char);
public native void putChar(java.lang.Object,long,char);
public native void putChar(long,char);
public native void putInt(java.lang.Object,long,int);
public native void putInt(long,int);
public void putInt(java.lang.Object,int,int);
public native void putLong(java.lang.Object,long,long);
public void putLong(java.lang.Object,int,long);
public native void putLong(long,long);
public void putFloat(java.lang.Object,int,float);
public native void putFloat(java.lang.Object,long,float);
public native void putFloat(long,float);
public native void putDouble(java.lang.Object,long,double);
public native void putDouble(long,double);
public void putDouble(java.lang.Object,int,double);
public native void putAddress(long,long);
public native java.lang.Object getObjectVolatile(java.lang.Object,long);
public native boolean getBooleanVolatile(java.lang.Object,long);
public native byte getByteVolatile(java.lang.Object,long);
public native short getShortVolatile(java.lang.Object,long);
public native char getCharVolatile(java.lang.Object,long);
public native int getIntVolatile(java.lang.Object,long);
public native long getLongVolatile(java.lang.Object,long);
public native float getFloatVolatile(java.lang.Object,long);
public native double getDoubleVolatile(java.lang.Object,long);
public native void putObjectVolatile(java.lang.Object,long,java.lang.Object);
public native void putBooleanVolatile(java.lang.Object,long,boolean);
public native void putByteVolatile(java.lang.Object,long,byte);
public native void putShortVolatile(java.lang.Object,long,short);
public native void putCharVolatile(java.lang.Object,long,char);
public native void putIntVolatile(java.lang.Object,long,int);
public native void putLongVolatile(java.lang.Object,long,long);
public native void putFloatVolatile(java.lang.Object,long,float);
public native void putDoubleVolatile(java.lang.Object,long,double);
public native java.lang.Object allocateInstance(java.lang.Class) throws java.lang.InstantiationException;
public final native boolean compareAndSwapObject(java.lang.Object,long,java.lang.Object,java.lang.Object);
public final native boolean compareAndSwapLong(java.lang.Object,long,long,long);
public final native boolean compareAndSwapInt(java.lang.Object,long,int,int);
public native void park(boolean,long);
public native void unpark(java.lang.Object);
private static native void registerNatives();
public static sun.misc.Unsafe getUnsafe();
public native void throwException(java.lang.Throwable);
public native java.lang.Class defineClass(java.lang.String,byte[],int,int,java.lang.ClassLoader,java.security.ProtectionDomain);
public native java.lang.Class defineClass(java.lang.String,byte[],int,int);
public native long objectFieldOffset(java.lang.reflect.Field);
public native int addressSize();
public native long allocateMemory(long);
public native int arrayBaseOffset(java.lang.Class);
public native int arrayIndexScale(java.lang.Class);
public native void copyMemory(long,long,long);
public native void ensureClassInitialized(java.lang.Class);
public int fieldOffset(java.lang.reflect.Field);
public native void freeMemory(long);
public native void monitorEnter(java.lang.Object);
public native void monitorExit(java.lang.Object);
public native int pageSize();
public native long reallocateMemory(long,long);
public native void setMemory(long,long,byte);
public java.lang.Object staticFieldBase(java.lang.Class);
public native java.lang.Object staticFieldBase(java.lang.reflect.Field);
public native long staticFieldOffset(java.lang.reflect.Field);

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証