Si verificas el código de la clase System (Openjdk) lo encontraras:
http://grepcode.com/file/repository....stem.java#1087
Código Java:
Ver originalprivate static void More ...initializeSystemClass() {
1089 initProperties(props);
1090 sun.misc.Version.init();
1097
1098 // Load the zip library now in order to keep java.util.zip.ZipFile
1099 // from trying to use itself to load this library later.
1100 loadLibrary("zip");
1101
1102 // Setup Java signal handlers for HUP, TERM, and INT (where available).
1103 Terminator.setup();
1104
1105 // The order in with the hooks are added here is important as it
1106 // determines the order in which they are run.
1107 // (1)Console restore hook needs to be called first.
1108 // (2)Application hooks must be run before calling deleteOnExitHook.
1109 Shutdown.add(sun.misc.SharedSecrets.getJavaIOAccess().consoleRestoreHook());
1110 Shutdown.add(ApplicationShutdownHooks.hook());
1111 Shutdown.add(sun.misc.SharedSecrets.getJavaIODeleteOnExitAccess());
1112
1113 // Initialize any miscellenous operating system settings that need to be
1114 // set for the class libraries. Currently this is no-op everywhere except
1115 // for Windows where the process-wide error mode is set before the java.io
1116 // classes are used.
1117 sun.misc.VM.initializeOSEnvironment();
1118
1119 // Set the maximum amount of direct memory. This value is controlled
1120 // by the vm option -XX:MaxDirectMemorySize=<size>. This method acts
1121 // as an initializer only if it is called before sun.misc.VM.booted().
1122 sun.misc.VM.maxDirectMemory();
1123
1124 // Set a boolean to determine whether ClassLoader.loadClass accepts
1125 // array syntax. This value is controlled by the system property
1126 // "sun.lang.ClassLoader.allowArraySyntax". This method acts as
1127 // an initializer only if it is called before sun.misc.VM.booted().
1128 sun.misc.VM.allowArraySyntax();
1129
1130 // Subsystems that are invoked during initialization can invoke
1131 // sun.misc.VM.isBooted() in order to avoid doing things that should
1132 // wait until the application class loader has been set up.
1133 sun.misc.VM.booted();
1134
1135 // The main thread is not added to its thread group in the same
1136 // way as other threads; we must do it ourselves here.
1138 current.getThreadGroup().add(current);
1139
1140 // Allow privileged classes outside of java.lang
1141 sun.misc.SharedSecrets.setJavaLangAccess(new sun.misc.JavaLangAccess(){
1142 public sun.reflect.ConstantPool More ...getConstantPool(Class klass) {
1143 return klass.getConstantPool();
1144 }
1145 public void More ...setAnnotationType(Class klass, AnnotationType type) {
1146 klass.setAnnotationType(type);
1147 }
1148 public AnnotationType More ...getAnnotationType(Class klass) {
1149 return klass.getAnnotationType();
1150 }
1151 public <E extends Enum<E>>
1152 E[] More ...getEnumConstantsShared(Class<E> klass) {
1153 return klass.getEnumConstantsShared();
1154 }
1155 public void More ...
blockedOn(Thread t, Interruptible b
) { 1156 t.blockedOn(b);
1157 }
1158 });
1159 }