
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java编程开发语言是目前大多数人都在学习的一个编程开发语言,而本文我们就通过案例分析来简单了解一下,Java编程类加载基础知识分享。
一、什么是类的加载?
答:java时分两步的,编译和运行,类的加载指的是将编译生成的类的class文件读入内存,并为之创建一个java.lang.Class对象。类的加载过程是由类加载器来完成,而类加载器由JVM提供。
二、类的加载器有哪些?
1.BootstrapClassLoader:负责加载%JAVA_HOME%/jre/lib下的jar包,或者说jdk的本地jar包,比如rt.jar解压后中就包含了我们常用的java类的class文件
2.ExtensionClassLoader:负责加载%JAVA_HOME%/jre/ext或者java.ext.dirs系统熟悉指定的目录的jar包,或者说jdk中内部实现的扩展类
3.SystemClassLoader:自定义加载器的父类,负责加载ClassPath下的类文件(程序中的类文件)
三、什么是双亲委派机制?
1.目的:为了防止内存中存在多份同样的字节码(安全),他不会尝试自己加载类,而是把请求委托给父加载器去完成,依次向上
2.解释:只有当父加载器在自己搜索范围内找不到特定的类时(即ClassNotFoundException),子加载器才会尝试自己去加载
3.举例:String.class进行加载时,他会从下至上依次委托,直到BootstrapClassLoader为止,这就保证了基础的类始终由BootstrapClassLoader进行加载。如果没有这个机制,我们就可以当“坏人”,自定义加载器去加载多份String.class文件
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。