- 博客(5)
- 收藏
- 关注
原创 高性能专题
高性能编程实战练习 练习课题: 模拟个人账单,从数据库查询数据,输出文件; 数据准备–按日插入(本次共插入了2000条)购买商品消费记录,查询后按日统计输出文件;如下图所示 单任务版本实现 第一个版本代码完成 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.i...
2019-12-30 18:12:27
162
原创 CPU缓存和内存屏障
三级缓存–L1、L2、L3 缓存与主内存间通信一般经过3级缓存 cpu在读取数据时,先在L1中寻找,然后L2寻找,再到L3寻找,最后是内存,再然后是外存储器 MESI协议–缓存一致性协议,规定每条缓存有个状态位,共4个: 修改态(Modified)-此cache行已被修改过(脏行)内容已不同于主存,为cache专有 专有态(Exclusive)-此cache行内容同主存,但不出现于其它cache...
2019-11-15 20:27:54
125
原创 线程中止方式
Stop stop方式已被弃用,它会强行中断程序的运行,导致线程安全问题 public class Demo3 { public static void main(String[] args) throws InterruptedException { StopThread thread = new StopThread(); thread.start(); // 休眠...
2019-11-15 19:40:35
78
原创 简单理解java线程状态
线程的状态State是个枚举类enum,共6种运行状态 程序运行状态: ①New:新建但未运行 ②Runnable:可运行等待CPU调度 ③Blocked:被阻塞,如在synchronized方法阻塞 ④Waiting:等待线程通知调度,不带超时的方式:Object.wait/Thread.join/LockSupport.park ⑤Timed Waiting:具有指定时间的等待,带超时的方式...
2019-11-11 14:51:25
112
原创 java程序运行原理
第一步java源代码编译为class字节码文件; 借助UE等工具可查看16进制文件,字节码文件按照严格的格式记录了版本、访问标志、常量池、当前类、超级类、接口、字段、方法、属性 可借助javap命令查看 一般常用的是-v -l -c三个选项。 javap -v 输出行号、本地变量表信息、反编译汇编代码,还会输出当前类用到的常量池等信息。 javap -l 会输出行号和本地变量表信息。 javap...
2019-11-11 13:43:52
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人