摘要: JVM类加载机制 一、概述 JVM类加载机制分为五个部分:加载、验证、准备、解析、初始化。 1.1、加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的对象,作为方法区这个类的各种数据的入口。注意这里不一定非要从一个Class文件获取,这里既可以从ZIP包中读取,也可以在运行时 阅读全文
posted @ 2020-11-12 23:59 springcode 阅读(133) 评论(0) 推荐(0)
摘要: 锁 一、悲观锁和乐观锁 乐观锁:每次去拿数据时都默认不会有其他线程修改数据,所以每次都不会加锁,但在更新数据的时候会比对一下数据有没有被修改,如果被修改,重新拿取数据,没有则修改数据,乐观锁一般使用CAS机制实现。适用于读多的场景 悲观锁:每次拿取数据都认为会有线程修改我的数据,所以每次都会上锁,阻 阅读全文
posted @ 2020-11-12 18:29 springcode 阅读(136) 评论(0) 推荐(0)
摘要: 多线程细节讲解 一、终止线程的四种方式 1、正常运行结束 2、使用退出标志退出线程 一般run方法执行完,线程应该正常结束,但是常常有些线程是伺服线程(即只有获得某种信号,才会停止的线程)最常见的就是在while循环当中的线程,设置一个boolean类型的标志,来退出循环。 之所以使用volatil 阅读全文
posted @ 2020-11-12 16:32 springcode 阅读(232) 评论(0) 推荐(0)
摘要: 多线程 一、实现方式 Thread、runable、callable、线程池 四大线程池:newCachedThreadPool、newFixedThreadPool、newScheduledThreadPool、newSingleThreadExecutor. newCachedThreadPoo 阅读全文
posted @ 2020-11-12 15:52 springcode 阅读(94) 评论(0) 推荐(0)