java
罗_55
大龄码农
展开
-
CPU缓存和内存屏障
三级缓存–L1、L2、L3缓存与主内存间通信一般经过3级缓存cpu在读取数据时,先在L1中寻找,然后L2寻找,再到L3寻找,最后是内存,再然后是外存储器MESI协议–缓存一致性协议,规定每条缓存有个状态位,共4个:修改态(Modified)-此cache行已被修改过(脏行)内容已不同于主存,为cache专有专有态(Exclusive)-此cache行内容同主存,但不出现于其它cache...原创 2019-11-15 20:27:54 · 136 阅读 · 0 评论 -
线程中止方式
Stopstop方式已被弃用,它会强行中断程序的运行,导致线程安全问题public class Demo3 { public static void main(String[] args) throws InterruptedException { StopThread thread = new StopThread(); thread.start(); // 休眠...原创 2019-11-15 19:40:35 · 88 阅读 · 0 评论 -
简单理解java线程状态
线程的状态State是个枚举类enum,共6种运行状态程序运行状态:①New:新建但未运行②Runnable:可运行等待CPU调度③Blocked:被阻塞,如在synchronized方法阻塞④Waiting:等待线程通知调度,不带超时的方式:Object.wait/Thread.join/LockSupport.park⑤Timed Waiting:具有指定时间的等待,带超时的方式...原创 2019-11-11 14:51:25 · 121 阅读 · 0 评论 -
java程序运行原理
第一步java源代码编译为class字节码文件;借助UE等工具可查看16进制文件,字节码文件按照严格的格式记录了版本、访问标志、常量池、当前类、超级类、接口、字段、方法、属性可借助javap命令查看一般常用的是-v -l -c三个选项。javap -v 输出行号、本地变量表信息、反编译汇编代码,还会输出当前类用到的常量池等信息。javap -l 会输出行号和本地变量表信息。javap...原创 2019-11-11 13:43:52 · 194 阅读 · 0 评论