03 2021 档案
摘要:1.首先自定义加载器会委托父类加载器加载,这时候就到了应用程序类加载器这时候看此类加载器中有没有加载过,应用程序类加载器再委托给扩展类加载器加载,此时看扩展类加载器有没有加载过,它再委托给启动类加载器加载,看它有没有加载过,最后再给自己加载。 双亲委派机制的作用 1、防止重复加载同一个.class。
阅读全文
摘要:1.对象头 2.实例数据 3.对齐填充(计算机对象头+实例数据如果不能被8整除,它默认会给你加几个字节让你能够被8整除,刚好被8整除则没有对其填充部分)
阅读全文
摘要:1.偏向锁:当没有资源竞争的时候是拿将线程的id拿到加锁对象的内部存着,当后面的线程运行来时来看看当前线程id和解锁对象中的线程id是否一致 2.轻量级锁:当有轻微的资源竞争的情况,就会采用CAS比较并交换的方式,因为自旋锁线程太多的时候会很耗费cpu(因为线程没有拿到锁会一直在while循环尝试着
阅读全文