今天我们先来一个小的Demo来了解类的加载顺序。

 public class ClassLoaderTest {
public static void main(String[] args) {
System.out.println("*******************测试类的加载顺序开始*******************");
new SubClass();
System.out.println("*******************测试类的加载顺序结束*******************");
/**
* 测试结果:
* *******************测试类的加载顺序开始*******************
ParentClass 静态代码块....
SubClass 静态代码块....
ParentClass 匿名内部类....
ParentClass 构造函数....
SubClass 匿名内部类....
SubClass 构造函数....
*******************测试类的加载顺序结束*******************
*/
} } class ParentClass{
ParentClass(){
System.out.println("ParentClass 构造函数....");
} static{
System.out.println("ParentClass 静态代码块....");
} {
System.out.println("ParentClass 匿名内部类....");
} } class SubClass extends ParentClass{
SubClass(){
System.out.println("SubClass 构造函数....");
} static{
System.out.println("SubClass 静态代码块....");
} {
System.out.println("SubClass 匿名内部类....");
} }

由上测试结果可以得出结论:

9行10行对比说明:父类优先于子类加载,

11,12行对比说明:匿名内部类优先于构造函数

9,10 和11,12,13,14对比:说明静态代码块优先于类存在

总结以上:1.父类优先于子类加载,2.静态变量优先于类存在,3.匿名内部类优先于对象存在

1.类的加载机制_继承类的加载(一个小的Demo)说明的更多相关文章

  1. Java类的继承与方法调用的一个小问题

    public class Father { protected void server(int i){ switch (i){ case 1: methodone(); break; case 2: ...

  2. 57.fielddata预加载机制以及序号标记预加载

    如果真的要对分词的field执行聚合,那么每次都在query-time的同时由es生成fielddata并加载到内存中来,速度可能会比较慢,性能很差,改善性能的方式就是预先生成fielddata值并加 ...

  3. java中方法的参数传递机制_一个对象被当作参数传递到一个方法后

    一个例子: 在Boy.java类中 在Girl.java类中      在marry方法中的this指的是这个方法所属的对象的引用,在这里指的是girl这个对象 在BoyGirlTest.java测试 ...

  4. 深入理解ClassLoader(四)—类的父委托加载机制

    上几次我们介绍到了JVM内部的几个类加载器,我们来重新画一下这个图,再来看一下他们之间的关系.

  5. Jvm类的加载机制

    1.概述 虚拟机加载Class文件(二进制字节流)到内存,并对数据进行校验.转换解析和初始化,最终形成可被虚拟机直接使用的Java类型,这一系列过程就是类的加载机制. 2.类的加载时机 类从被虚拟机加 ...

  6. Yii2的深入学习--自动加载机制

    Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个  ...

  7. Yii2的深入学习--自动加载机制(转)

    Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个  ...

  8. Dubbo 扩展点加载机制:从 Java SPI 到 Dubbo SPI

    SPI 全称为 Service Provider Interface,是一种服务发现机制.当程序运行调用接口时,会根据配置文件或默认规则信息加载对应的实现类.所以在程序中并没有直接指定使用接口的哪个实 ...

  9. Spring IOC - 控制反转(依赖注入) - 懒加载机制

    懒加载机制 Spring默认会在容器初始化的过程中,解析xml,并将单例的bean创建并保存到map中,这样的机制在bean比较少的时间问题不大,但一旦bean非常多时,Spring需要在启动的过程中 ...

随机推荐

  1. SpringMVC拦截器配置

    1.首先在springmvc.xml中添加配置 <mvc:interceptors> <mvc:interceptor> <mvc:mapping path=" ...

  2. Android开发之点击事件(Button)

    Button点击事件 创建项目: 1.Fiel-------->New ------->Android Application Project 2.将Form Widght 文件中的But ...

  3. vo和pojo

    pojo直接描述数据库中的表和字段,一一对应 vo的话,可以多添加些属性,比如code对应的name,或者标识符等等 查询列表的时候也可以直接用vo,但是修改或添加记录必须是pojo QueryVo ...

  4. 10分钟复习javaweb

    html:是网页的骨架,静态网页初步的轮廓,简单粗糙,僵硬又没有美感.表单的标签<form>,里面的<input>很常用,里面有type属性等css:为了更加灵活,常与div一 ...

  5. jquery zTree搜索高亮的例子

    思路: 搜索的时候发请求到后台,后台根据关键字找到匹配的节点,并将这些节点添加一个标志light: 后面就根据这个light为true就高亮,false就不高亮: 后台将这些节点返回到前台,前台展示: ...

  6. Web jsp开发学习——实现页面跳转和传参

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti ...

  7. opengl 入门浅学(一)

    因为要做图形学的实验,又是要以OPENGL为基础,所以就稍微在网上查了一些资料. 我是带着目的去学习的,所以就没有打基础之类的学很深,浅尝. 今天试着搭简单框架,画出一个图形.大神请出门左转. #in ...

  8. 03-IP网际协议

    IP I P是T C P / I P协议族中最为核心的协议.所有的 T C P.U D P.I C M P及I G M P数据都以I P数据报格式传输. 不可靠( u n r e l i a b l ...

  9. win下使用git-bash工具进行ssh免密登录服务器

    1.ssh-keygen.exe 生成公钥私钥(.pub) 2.ssh-agent.exe bash  指定工具 3.ssh-add.exe   ****   添加私钥 OK

  10. VMware虚拟机上配置nginx后,本机无法访问问题(转载)

    转自:http://www.server110.com/nginx/201407/10794.html 把nginx装在CentOS上,用本机访问虚拟机的时候却出现了不能访问的问题,查了资料以后,原来 ...