上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 35 下一页
摘要: 栈上分配 无需调整 1小 2 线程私有不会被其他线程所共享 3 没有逃逸 在某一段代码里使用 出了代码块 没人使用 4 标量替换 整个对象T 里面有两个类型 int m int n 可以使用m 和 n 替换对象T 栈上分配不下了 会优先进行本地的分配TLAB 无需调整 当多个线程都向伊甸区做分配时, 阅读全文
posted @ 2022-04-28 09:42 花心大萝卜li 阅读(55) 评论(0) 推荐(0)
摘要: 将内存分为几大块 第一块为新生代 new /young 刚new 出来的对象 新生代包含 eden(伊甸区)和两个survivor 比例为8:1:1 enden区回收之后进入survivor区 新生代大量死去,少量存活,采用复制算法 老年代存活率较高,回收较少 ,采用MC 或者MS 算法 第二块为老 阅读全文
posted @ 2022-04-28 09:16 花心大萝卜li 阅读(84) 评论(0) 推荐(0)
摘要: 1invokeStatic 2invokeVirtual 3invokeInterface 4invokespecial 5invokeDynamic invokeStatic 虚拟机优化 invokeVirtual 多数方法都是用的它 invokeVirtual 自带多态(new 的是哪个对象 就 阅读全文
posted @ 2022-04-28 08:25 花心大萝卜li 阅读(140) 评论(0) 推荐(0)
摘要: 查看具体命令花费多长时间 SELECT * FROM `account`show PROFILES;show PROFILE;SELECT * FROM `account`show PROFILE for QUERY 48 查看第query id 为48 表的运行状态show profile cpu 阅读全文
posted @ 2022-04-27 23:05 花心大萝卜li 阅读(45) 评论(0) 推荐(0)
摘要: bipush 将100 压栈 istore_1 将100 弹出到局部变量表索引为1的位置 return sipushi 200 因为底层是btye 最多容纳127 若超出 是si200(short)转换为int 类型 压栈 istore_1 弹出到局部变量表中 参数 k 数存放在局部变量表的 sip 阅读全文
posted @ 2022-04-27 16:39 花心大萝卜li 阅读(115) 评论(0) 推荐(0)
摘要: 下一条该执行的指令 存放在PC(程序计数器) 虚拟机的运行 类似这样的循环 while(not end){ 取pc中的位置 找到对应的指令 执行该指令 pc++ } 每一个线程都有自己的PC 计数器 栈在虚拟机中有两块内容 一个是JVM stacks jvm stacks 归线程独有的 线程里面装的 阅读全文
posted @ 2022-04-27 14:16 花心大萝卜li 阅读(40) 评论(0) 推荐(0)
摘要: 因为偏向锁是没有位置存放hashcod 的 因此在调用锁对象的Object.hash()或者System.identity.HashCode()方法会导致偏向锁或轻量锁升级 无锁状态则存放在markward里 重量锁monitor 中 阅读全文
posted @ 2022-04-27 10:36 花心大萝卜li 阅读(37) 评论(0) 推荐(0)
摘要: run 方法是方法的调用 先去运行run方法里面的 运行完了 在运行main方法里面的代码 但是start 方法是Thread 继承的方法 他可以分支两条线程 一条是run方法 一条是main 主方法 线程3个启动方式1.extends Thread 重写run 方法 new Thread ().s 阅读全文
posted @ 2022-04-27 10:19 花心大萝卜li 阅读(27) 评论(0) 推荐(0)
摘要: CAS compare and swap 什么是CAS? 假设内存里面放的是0 我们现在多线程访问这个0 每个线程都想给这个0 加1 如果我们想让数据一致 必须先加锁sys JUC这个包出现之后出现了CAS操作 CAS 把内存中的0 拿到CPU中做计算 做完计算后0变成1 然后把1 写回去 写回去的 阅读全文
posted @ 2022-04-26 21:48 花心大萝卜li 阅读(221) 评论(0) 推荐(0)
摘要: 乐观锁,自旋锁 无锁 cas 从CPU读取数据内存 值v 假如是0 修改为1 然后往回写 以前需要上锁 但是乐观锁不上锁了 在往回写的过程中判断 若内存中的数据依然为0 那么就没有线程修改 把0改成1 若其他线程修改 那么在往回写的过程中 会发现线程已经修改 已经不是0了 那么 就继续读取内存中修改 阅读全文
posted @ 2022-04-26 13:11 花心大萝卜li 阅读(80) 评论(0) 推荐(0)
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 35 下一页