private static native void registerNatives();
static {
registerNatives();
}
private static void initializeSystemClass() {
// 初始化props
props = new Properties();
initProperties(props);
sun.misc.VM.saveAndRemoveProperties(props);
//获取系统相关的换行符
lineSeparator = props.getProperty("line.separator");
sun.misc.Version.init();
//分别创建in、out、err的实例对象,并通过setXX0()初始化,查看setXX0()方法可知,这是个native方法,将系统的标准流管理到类内的对象
FileInputStream fdIn = new FileInputStream(FileDescriptor.in);
FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);
FileOutputStream fdErr = new FileOutputStream(FileDescriptor.err);
setIn0(new BufferedInputStream(fdIn));
setOut0(new PrintStream(new BufferedOutputStream(fdOut, 128), true));
setErr0(new PrintStream(new BufferedOutputStream(fdErr, 128), true));
//加载zip包以获取java.util.zip.ZipFile这个类,以便之后加载利库使用
loadLibrary("zip");
// 设置平台相关的信号处理
Terminator.setup();
// 初始化sun.misc相关的环境变量
sun.misc.VM.initializeOSEnvironment();
// 主线程不会在同一个线程组中添加相同的线程,我们必须在这里自己实现。注释半天没弄明白,看代码就是主线程自己把自己加到了自己的线程组中......
Thread current = Thread.currentThread();
current.getThreadGroup().add(current);
// 注册共享秘钥?注释没看明白,该方法就是实例化一个JavaLangAccess
setJavaLangAccess();
// 子系统在初始化的时候可以调用sun.misc.VM.isBooted(),以保证在application类加载器启动前不做任何事。booted()其实就是改了个状态,使isBooted()变为true。
sun.misc.VM.booted();
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有