摘要: 装载:将Java二进制文件导入JVM中,生成class文件 连接: 校验:检查载入class文件的正确性 准备:给类的静态变量分配空间 解析:将符号引用转成直接引用 初始化:对类的静态变量,静态方法,静态代码块执行初始化操作;先初始化父类在初始化子类 类加载器收到类加载请求,首先将请求委派给父类加载 阅读全文
posted @ 2018-03-08 15:38 *青锋* 阅读(236) 评论(0) 推荐(0) 编辑
摘要: String是字符串常量;StringBuffer,StringBuilder是字符串变量 StringBuffer是线程安全的且效率低;StringBuilder是线程不安全的故效率高 操作少量字符串,使用String;单线程下操作大量字符串,使用StringBuilder;多线程下操作大量字符串 阅读全文
posted @ 2018-03-08 15:10 *青锋* 阅读(96) 评论(0) 推荐(0) 编辑
摘要: Lock也就是ReentrantLock,和synchronized一样都是可重入锁,即同一个线程再次进入同步代码中可以直接使用自己已经获得的锁定 例:A,B两个线程都需要获得对象Obj的锁定,假设A获得了Obj的锁定,B等待A释放锁定 如果使用synchronized,A不释放,B将一直等待 如果 阅读全文
posted @ 2018-03-08 14:56 *青锋* 阅读(716) 评论(0) 推荐(0) 编辑
摘要: Java GC是Java的垃圾回收机制 Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆上进行内存分配。为了高效的进行垃圾回收,虚拟机把堆内存分为新生代,老年代和永久代3个区域 新生代可以分为Eden区和Survivor Space(S0,S1)区,大多数情况下,对象在Eden区分 阅读全文
posted @ 2018-03-08 14:08 *青锋* 阅读(734) 评论(0) 推荐(0) 编辑