玩转多线程 目录: 创建多线程的三种方式 extends Thread implements Runnable 匿名类 线程创建方式 有关构造函数中使用匿名类的说明 多线程的核心理论 共享性 互斥性 原子性 可见性 有序性 synchronized 使用方法 内核剖析 volatile 使用方法 使 ...
分类:
编程语言 时间:
2020-03-21 14:45:12
阅读次数:
49
通过代码的方式演示了,内存的可见性和禁止指令重......
分类:
其他好文 时间:
2020-03-18 13:58:49
阅读次数:
44
线程间通信的几种方式: 1.共享内存 2.消息传递 Java中的线程通信的方式有如下: 1.volatile关键字 实现共享变量 2.Object类的wait() notify()notifyAll()方法 3.CountDownLatch 并发组件 中国的wait() 和down()方法 4.Re ...
分类:
编程语言 时间:
2020-03-18 13:44:26
阅读次数:
169
因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知! volatile?是并发编程的重要组成部分,也是面试常被问到的问题之一。不要向小强那样,因为一句:volatile?是轻量级的?synchronized,而与期望已久的大厂失之交臂。 volatile 有两大特 ...
分类:
其他好文 时间:
2020-03-18 09:50:31
阅读次数:
43
读锁也叫共享锁 写锁也叫独享锁 读锁写锁都会造成死锁的问题 class MyCache{ private volatile Map<String,String> map = new HashMap<>(); private ReadWriteLock rwLock = new ReentrantRe ...
分类:
其他好文 时间:
2020-03-15 19:15:45
阅读次数:
77
根据 SIM800 手册查询得知,此命令是将当前活动数据储存到非易失性存储器。 非易失性存储器(英语:Non-Volatile Memory,缩写:NVM)是指当电流关掉后,所存储的数据不会消失的电脑存储器。 类似的相关命令还有: ATZ (TA将所有当前参数设置为用户定义的配置文件) AT&F ( ...
分类:
其他好文 时间:
2020-03-15 09:47:38
阅读次数:
217
以下内容均摘抄自他人博客,正确性有待考察,请以质疑的态度阅读学习,若有错误请留言指正 stl用过哪些容器? Vector:动态数组 List:双向链表 Deque:与vector类似,但支持双端操作。 Set:关联容器 集合,底层红黑树实现。 Map:关联容器 键值对,底层红黑树实现。 Stack: ...
分类:
其他好文 时间:
2020-03-14 19:59:21
阅读次数:
59
Java深入学习03:happens-before规则 为什么会有happens-before 规则? 因为jvm会对代码进行编译优化,指令会出现重排序的情况,为了避免编译优化对并发编程安全性的影响,需要happens-before规则定义一些禁止编译优化的场景,保证并发编程的正确性。 1. 规则一 ...
分类:
移动开发 时间:
2020-03-12 18:46:32
阅读次数:
78
volatile关键字和ThreadLocal 1、并发编程中的三个概念 原子性:一个或多个操作。要么全部执行完成并且执行过程不会被打断,要么不执行。最常见的例子:i++/i--操作。不是原子性操作,如果不做好同步性就容易造成线程安全问题。 可见性:多个线程访问同一个变量,一个线程改变了这个变量的值 ...
分类:
编程语言 时间:
2020-03-11 15:29:22
阅读次数:
69
需求假设:假设在包com.zhoutao.controller下有方法getKey()方法,在JavaEE中,通过AOP获得该方法的的对象method,现在通过该对象的getName方法,仅仅只能获得getKey的结果,现在我需要的是com.zhoutao.controller.getKay 那么该 ...
分类:
其他好文 时间:
2020-03-10 01:26:11
阅读次数:
139