10 2020 档案

摘要:Synchronized 和Lock区别 1.Synchronized是内置的java关键字,Lock是一个java类 2.Synchronized无法判断获取锁的状态,Lock可以判断是否获取到了锁 3.Synchronized会自动释放锁,lock必须要手动释放锁,不然会死锁 4.Synchro 阅读全文
posted @ 2020-10-16 14:54 scenario 阅读(100) 评论(0) 推荐(0)
摘要:sleep和wait的区别 1.来自不同的类 wait=>Object sleep=>Thread 2.关于锁的释放 wait会释放锁,sleep睡觉了,抱着锁睡觉,不会释放! 3.使用的方位是不同的 wait必须在同步代码块中使用 sleep可以在任何地方使用 4、是否需要被唤醒 sleep不需要 阅读全文
posted @ 2020-10-15 15:07 scenario 阅读(198) 评论(0) 推荐(0)
摘要:什么时候会发生类初始化 类的主动引用(一定会发生类的初始化) 当虚拟机启动,先初始化main方法所在的类 new一个类的对象 调用类的静态成员(除了final常量)和静态方法 使用java.lang.reflect包的方法对类进行反射调用 当初始化一个类,如果其父类没有被初始化,则会先初始化它的父类 阅读全文
posted @ 2020-10-10 09:46 scenario 阅读(123) 评论(0) 推荐(0)
摘要:类的加载与ClassLoader的理解 加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象. 链接:将Java类的二进制代码合并到JVM的运行状态之中的过程. 验证:确保加载的类信息符合JVM规范,没 阅读全文
posted @ 2020-10-09 14:58 scenario 阅读(108) 评论(0) 推荐(0)
摘要:获取Class类的实例 若已知具体的类,通过类的class属性获取,该方法最为安全可靠,程序性能最高. Class clazz = Person.class; 已知某个类的实例,调用该实例的getClass()方法获取Class对象 Class clazz = person.getClass(); 阅读全文
posted @ 2020-10-09 14:56 scenario 阅读(188) 评论(0) 推荐(0)