摘要:
一、创建自定义类加载器 打印结果 二、完善上一个实例创建的类加载器 命名空间: 每个类加载器都有自己的命名空间,命名空间由该加载器及所有父加载器所加载的类组成。 在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类。 在不同的命名空间中,有可能会出现类的完整名字(包括类的包名)相同的 阅读全文
posted @ 2019-06-09 22:37 work hard work smart 阅读(299) 评论(0) 推荐(0) 编辑
|
|||
摘要:
一、创建自定义类加载器 打印结果 二、完善上一个实例创建的类加载器 命名空间: 每个类加载器都有自己的命名空间,命名空间由该加载器及所有父加载器所加载的类组成。 在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类。 在不同的命名空间中,有可能会出现类的完整名字(包括类的包名)相同的 阅读全文
posted @ 2019-06-09 22:37 work hard work smart 阅读(299) 评论(0) 推荐(0) 编辑
摘要:
创建如下Demo 运行结果 创建Demo2 打印结果: 创建Demo3 打印结果 4、Demo4 使用反射使类初始化 打印结果 说明反射Class.forName会使类初始化。而调用ClassLoader类的loadClass方法加载一个类,并不是对类的主动使用,不会导致类的初始化 阅读全文
posted @ 2019-06-09 20:22 work hard work smart 阅读(188) 评论(0) 推荐(0) 编辑
摘要:
1、创建FinalTest类,里面有一个final常量x 然后在Main方法里打印fianl常量。打印结果 2、然后去掉final, 打印结果为: 3、将fianl常量改为随机生成 打印结果 阅读全文
posted @ 2019-06-09 20:19 work hard work smart 阅读(373) 评论(0) 推荐(0) 编辑
摘要:
1、类加载器的层次结构 在双亲委托机制中,各个加载器按照父子关系形成了树形结构(逻辑意义),除了根加载器之外,其余的类加载器都有且只有一个父加载器。 打印结果 null说明classLoader是启动类加载器 2、类加载器的双亲委托机制 3、返回String类的ClassLoader 返回结果 nu 阅读全文
posted @ 2019-06-09 19:29 work hard work smart 阅读(296) 评论(0) 推荐(0) 编辑 |
|||