2020年2月14日

重排序

摘要: 1.Java平台的编译器: Java平台有两种编译器:javac(静态编译器)和JIT(即时编译器)。 javac 将源代码文件编译成字节码文件,在代码编译阶段介入 JIT 将字节码动态编译为Java虚拟机宿主机的机器码,在Java程序运行过程中介入 zzz 阅读全文

posted @ 2020-02-14 23:46 shammgod_code 阅读(161) 评论(0) 推荐(0) 编辑

2020年2月2日

线程的生命周期状态

摘要: Thread.State的值是一个枚举值: NEW: RUNNABLE: BLOCKED: WAITING: TIMED_WAITING: TERMINATED: 阅读全文

posted @ 2020-02-02 23:13 shammgod_code 阅读(111) 评论(0) 推荐(0) 编辑

2020年1月9日

并发的有序性

摘要: zz 阅读全文

posted @ 2020-01-09 19:22 shammgod_code 阅读(192) 评论(0) 推荐(0) 编辑

2020年1月3日

并发的可见性

摘要: 多线程环境下,一个线程对某个共享变量进行更新之后,后续访问该变量的线程可能无法立刻读取到这个更新的结果,甚至永远也无法读取到这个更新的结果,这就是线程安全问题的另外一个表现形式:可见性 多线程程序在可见性方面存在问题意味着某些线程读取到了旧数据,而这可能导致程序出现我们所不期望的结果。 阅读全文

posted @ 2020-01-03 02:46 shammgod_code 阅读(231) 评论(0) 推荐(0) 编辑

并发的原子性

摘要: 对于涉及共享变量访问的操作,若该操作从其执行线程以外的任意线程来看是不可分割的,那么该操作就具有原子性。原子操作是多线程环境下的一个概念,它是针对访问共享变量的操作而言的。原子操作的“不可分割”包括以下两层含义: 读写某个共享变量的操作从其执行线程以外的任何线程来看,该操作要么已经执行结束要么尚未发 阅读全文

posted @ 2020-01-03 02:05 shammgod_code 阅读(233) 评论(0) 推荐(0) 编辑

2019年12月27日

Java内存模型

摘要: Java虚拟机规范试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果。在JDK1.5发布后,Java的内存模型已经成熟和完善起来了。 1. 主内存与工作内存: Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟 阅读全文

posted @ 2019-12-27 01:21 shammgod_code 阅读(230) 评论(0) 推荐(0) 编辑

缓存一致性协议MESI

摘要: 1. 缓存一致性协议的由来: 计算机的存储设备速度与cpu的运算速度之间是数量级的差距,现代计算机不得不加入一层读写速度尽可能接近cpu运算速度的高速缓存来作为内存和cpu之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中,这样cpu就无须等待缓慢的 阅读全文

posted @ 2019-12-27 01:16 shammgod_code 阅读(400) 评论(0) 推荐(0) 编辑

2019年12月23日

lsof

摘要: zz 阅读全文

posted @ 2019-12-23 21:44 shammgod_code 阅读(89) 评论(0) 推荐(0) 编辑

nmap

摘要: https://nmap.org/ 阅读全文

posted @ 2019-12-23 21:10 shammgod_code 阅读(125) 评论(0) 推荐(0) 编辑

2019年12月20日

elastcisearch简介

摘要: mac安装es:$ brew install elasticsearch 启动:$ brew services start elasticsearch 验证es启动成功:http://localhost:9200 mac安装kibana:$ brew install kibana 启动:$ brew 阅读全文

posted @ 2019-12-20 00:33 shammgod_code 阅读(226) 评论(0) 推荐(0) 编辑

导航