05 2021 档案
摘要:程序次序规则:在一个线程内一段代码的执行结果是有序的。就是还会指令重排,但是随便它怎么排,结果是按照我们代码的顺序生成的不会变。 管程锁定规则:就是无论是在单线程环境还是多线程环境,对于同一个锁来说,一个线程对这个锁解锁之后,另一个线程获取了这个锁都能看到前一个线程的操作结果!(管程是一种通用的同步
阅读全文
摘要:浅析JDK 动态代理和CGLIB动态代理 先说说动态代理有什么作用: 可以横向扩展被代理类的功能 可以绕过方法的权限控制,拿到类中的全部方法 动态代理和静态代理有什么区别: 静态代理需要提前知道被代理的类,而动态代理则没有这个限制 静态代理的实现Demo: public class Object {
阅读全文
摘要:JVM方法调用的实现 JVM的方法调用共有五种类型,分别是:invokestatic、invokespecial、invokevirtual、invokeinterface、invokedynamic invokestatic:调用静态方法的时候 invokespecial:调用私有实例方法及构造器
阅读全文
摘要:类加载器及类的初始化流程 类的初始化一共有三个阶段:类加载、链接、初始化 类加载 类加载的过程,就是将字节流加载进JVM方法区并生成Class对象的过程。类加载过程是通过类加载器实现的,主要有三个主要的类加载器: * bootstrap class loader:根类加载器,这个加载器不是Java语
阅读全文
摘要:Q:Java对象的hashcode是怎么得到的 A:Java对象的hashcode是native方法,不是通过Java实现的。hashcode的值是根据对象的内存地址得到的一串数字。 Q:如果两个对象的hashcode相等,那么两个对象的==是否也想等? A:不一定,这个说法顺序弄反了。应该改为:如
阅读全文
摘要:重写父类方法:control + o 实现父类方法:control + i 最全的一个按键:control + 回车
阅读全文

浙公网安备 33010602011771号