- 首页 > 人文 > >
Java:Java JVM常见面试题及答案:类加载器篇( 二 )
共享功能:可以避免重复加载 , 当父亲已经加载了该类的时候 , 子类不需要再次加载 , 一些Framework层级的类一旦被顶层的ClassLoader加载过就缓存在内存里面 , 以后任何地方用到都不需要重新加载 。
隔离功能:java核心类库的纯净和安全 , 防止恶意加载 。
如何打破双亲委派模型?
- 双亲委派模型的逻辑都在loadClass()中 , 重写loaderClass()、findClass()
- 系统自带的三个类加载器都加载特定目录下的类 , 如果我们自己的类加载器放在一个特殊的目录 , 那么系统的加载器就无法加载 , 也就是最终还是由我们自己的加载器加载
自定义ClassLoader
- loadClass(String nameboolean resolve):根据指定的二进制名称加载类
- findClass(String name): 根据二进制名称来查找类
- 直接使用或继承已有的ClassLoader实现:java.net.URLClassLoader、java.security.SecureClassLoader、 java.rmi.server.RMIClassLoader
- 在调用loadClass() , 会先根据委派模型在父加载器中加载 , 如果加载失败 , 则会调用自己的findClass方法来完成加载
5、引起类加载操作的五个行为
- 遇到new、getstatic、putstatic或invokestatic这四条字节码指令
- 反射调用的时候 , 如果类没有进行过初始化 , 则需要先触发其初始化
- 子类初始化的时候 , 如果其父类还没初始化 , 则需先触发其父类的初始化
- 虚拟机执行主类的时候(有 main(string[
args))
- JDK1.7 动态语言支持
6、Java对象创建时机
- 使用new关键字创建对象
- 使用Class类的newInstance方法(反射机制)
- 使用Constructor类的newInstance方法(反射机制)
- 使用Clone方法创建对象
- 使用(反)序列化机制创建对象
推荐阅读
-
在职研究生各个都是国家承认,只是获得方式大不同,在职研究生有3大文凭
-
-
悠乐影视|实力排在刘伯承之前,但下场却很惨,他是日本公认的军事家
-
-
【望借金正恩讲话推动韩朝关系发展】韩国统一部:望借金正恩讲话推动韩朝关系发展
-
奢侈品包上有划痕怎么处理 花露水能去掉皮具上的划痕吗
-
-
-
时尚|为何日本女生穿搭简单但很有女人味?她们的搭配小心机,你忽略了
-
票房|投资100万拍电影收益360万?别信!这3个人靠这招骗走了4500余万……
-
《披哥3》成就了蔡国庆,捧红了陈楚生,最有希望的他反走下坡路
-
进出口|权威发布|同比增长21.0%!上半年临沂商城实现网络零售额115.2亿元
-
-
-
#玩乐足迹#宁夏提前下达2020年全域旅游专项资金6300多万元
-
服务|富途客户数突破百万!跻身“百万级”客户券商行列
-
「笑谈千峰」唯闻玉磬,但此情依旧。,时尚街拍/水落红莲
-
-
【雨朵镇】黔西县雨朵镇:辣椒“多”起来群众“富”起来
-
川观新闻|中铁二院工程集团公司原党委常委、董事、副总经理、总会计师胡光涛 接受纪律审查和监察调查