06 2022 档案
摘要:乐观锁 无锁编程,更新数据只会判断有没有其他线程更改了这个数据。适合读操作多的场景 悲观锁 适合写操作多的场景,先加锁保证写操作时数据正确 总结 一个类中方法被synchronized修饰,整个资源被加上了悲观锁,其他被synchronized修饰的方法也被锁住。多个线程访问同个资源对象的不同方法,
阅读全文
摘要:JUC概念 进程和线程 一个进程包括多个线程 进程指的是一个正在运行的应用程序,进程是一个资源分配的最小单位 线程是程序中一个单元执行流,程序执行的最小单位 用户线程:基本我们编程的线程都是用户线程 主线程结束,用户线程还在,jvm存活 守护线程:如垃圾回收 用户线程设置成守护线
阅读全文
摘要:jvm概述 结构图 虚拟栈 栈的存储单位:栈帧(局部变量表,操作数栈,动态链接,方法返回地址,一些附加信息) 局部变量表:存储的基本单位是slot,4个字节,可重复利用 操作数栈:在方法执行过程中,根据字节码指令,在栈中写入数据或提取数据 代码追踪:javap -v xxx.class或者使用ide
阅读全文