博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java虚拟机类加载器
阅读量:6479 次
发布时间:2019-06-23

本文共 1355 字,大约阅读时间需要 4 分钟。

当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:

       bootstrap classloader
                |
       extension classloader
                |
       system classloader

bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类,是最顶层的ClassLoader,它比较特殊,不是java.lang.ClassLoader的子类,而是用C++编写集成在JVM中的。在Hotspot的JVM中,在执行java的命令中使用-Xbootclasspath选项或使用- D选项指定sun.boot.class.path系统属性值可以指定附加的类。这个加载器的在JVM启动的时候用来加载一些核心类的,比如:rt.jar,resources.jar,charsets.jar,jce.jar等,可以运行下面代码看都有哪些:

大家可以通过执行以下代码来获得bootstrap classloader加载了那些核心类库:

   URL[] urls=sun.misc.Launcher.getBootstrapClassPath().getURLs();
   for (int i = 0; i < urls.length; i++) {
     System.out.println(urls.toExternalform());
   }

在试验过程中,如果你使用eclipse,可能遇到如下问题:

Multiple markers at this line

- Access restriction: The type 'Launcher' is not API (restriction on required library 'C:
\Program Files\Java\jre1.8.0_51\lib\rt.jar')
- Access restriction: The method 'Launcher.getBootstrapClassPath()' is not API
(restriction on required library 'C:\Program Files\Java\jre1.8.0_51\lib\rt.jar')
- Access restriction: The method 'URLClassPath.getURLs()' is not API (restriction on
required library 'C:\Program Files\Java\jre1.8.0_51\lib\rt.jar')

PS:这是由于“sun.misc.Launcher”默认是受保护的,不是一个公共的api,解决办法有种

1.在eclipse中去掉“jre system libary”,手工添加jdk目录下的jar包

2.在eclipse选项版中,Windows->preferences->java->compiler>errors/warning->forbidden reference

   error修改为warning

转载于:https://www.cnblogs.com/ceres/p/4980552.html

你可能感兴趣的文章
集合异常之List接口
查看>>
Softmax回归
查看>>
紫书 习题11-11 UVa 1644 (并查集)
查看>>
App工程结构搭建:几种常见Android代码架构分析
查看>>
使用openssl进行证书格式转换
查看>>
ZOJ 3777 Problem Arrangement
查看>>
Callable和Future
查看>>
少用数字来作为参数标识含义
查看>>
ScrollView中嵌套ListView
查看>>
Algs4-2.3.1如何切分数组
查看>>
观察者模式
查看>>
在properties.xml中定义变量,在application.xml中取值问题
查看>>
js 数组
查看>>
cell reuse & disposebag
查看>>
【故障处理】ORA-12545: Connect failed because target host or object does not exist
查看>>
云时代,程序员将面临的分化
查看>>
js判断移动端是否安装某款app的多种方法
查看>>
学习angularjs的内置API函数
查看>>
4、输出名称 Exported names
查看>>
Pre-echo(预回声),瞬态信号检测与TNS
查看>>