线程在操作系统使用不同的资源,一般以以下方式使用这些资源。 1)请求一个资源。 2)使用这个资源。 3)释放资源。 1什么是死锁 2解决死锁的办法 上述代码我们这么解决死锁呢 1、什么是死锁? 死锁的情况是,一些线程被阻塞,每个线程都拥有一个资源,并且等待另外一个进程以获取另外的一个资源。 想了想类似于生活中的哪些情形,我拥有有一本书(资源使用)叫做《java并发编程》 ,你拥有一本叫《java虚拟机》,我需要你的才能把java理解的更好,你也需要我的书,我们都各自拥有一本,但都需要得到对方的书籍而完成某个“学习线…

2017年12月8日 0条评论 7点热度 阅读全文

首先是什么是java内存模型 计算机硬件内存模型 java内存模型 java虚拟机运行时数据区 1程序计数器 2 虚拟机栈 3 本地方法栈 4 堆 5 方法区 java内存模型与计算机内存之间的连接 原子性可见性与有序性 1原子性 2可见性 3有序性 指令重排 Happen-before原则 先行发生原则 总结 首先是什么是java内存模型?   不同的操作系统有不同的内存模型,“内存模型”一词可以理解为在特定操作写一下,对特定的内存或者高速缓存进行读写访问的抽象过程。   不同的物理机有不同的内存模型。而java…

2017年11月29日 0条评论 1点热度 阅读全文