摘要: 1 、锁池 所有需要竞争同步锁的线程都会被放到锁池中,比如当前对象的锁已经被其中一个线程得到,则其他线程需要在这个锁池进行等待,当前面的线程释放同步锁后锁池中的线程去竞争同步锁,当某个线程得到后进入就绪队列进行等待CPU资源分配。 2、等待池 当我们调用wait() 方法后,线程会放到等待池当中,等 阅读全文
posted @ 2021-03-07 22:30 余一洋 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 新建 (new ) :新创建一个线程 就绪(Runnable) :线程对象创建后,其他线程调用了该对象的start方法,该状态的线程位于可运行线程池中,变得可运行, 等待获取CPU的使用权 运行(running) :就绪状态的线程或者CPU 的使用权,执行程序代码 阻塞(blocked) :阻塞状态 阅读全文
posted @ 2021-03-07 21:41 余一洋 阅读(95) 评论(0) 推荐(0) 编辑
摘要: GC是什么时候执行的 垃圾回收是一种回收无用内存空间并使其对未来实例可用的过程。 Eden 区:当一个实例被创建了,首先会被存储在堆内存年轻代的 Eden 区中。 Survivor 区(S0 和 S1):作为年轻代 GC(Minor GC)周期的一部分,存活的对象(仍然被引用的)从 Eden 区被移 阅读全文
posted @ 2021-03-07 21:21 余一洋 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: Mapper 接口如何实现方法的? 通过JDK 的动态代理 mybaits 一级缓存和二级缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 Mybatis的一级缓存是默认开启的,它只相对于同一个SqlSession有效,所以也称之为SqlSession缓存。当参数和SQL完全相同 阅读全文
posted @ 2021-03-07 00:32 余一洋 阅读(176) 评论(0) 推荐(0) 编辑