摘要: 摘自:平凡希 一、yield()介绍 yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行 阅读全文
posted @ 2021-03-08 21:36 ZSJ-白 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 摘自:平凡希 一、wait()、notify()、notifyAll()等方法介绍 在Object.java中,定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。而notify()和no 阅读全文
posted @ 2021-03-08 21:01 ZSJ-白 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 摘自:平凡希 1、synchronized原理 在java中,每一个对象有且仅有一个同步锁。这也意味着,同步锁是依赖于对象而存在。当我们调用某对象的synchronized方法时,就获取了该对象的同步锁。例如,synchronized(obj)就获取了“obj这个对象”的同步锁。不同线程对同步锁的访 阅读全文
posted @ 2021-03-08 20:01 ZSJ-白 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 转自: 平凡希 一、初识LinkedHashMap 上篇文章讲了HashMap。HashMap是一种非常常见、非常有用的集合,但在多线程情况下使用不当会有线程安全问题。 大多数情况下,只要不涉及线程安全问题,Map基本都可以使用HashMap,不过HashMap有一个问题,就是迭代HashMap的顺 阅读全文
posted @ 2021-03-08 16:13 ZSJ-白 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 转自: 平凡希老师 https://www.cnblogs.com/xiaoxi/p/7474026.html 一、出现背景 1、线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 2、效 阅读全文
posted @ 2021-03-08 16:03 ZSJ-白 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 转自: 平凡希老师 https://www.cnblogs.com/xiaoxi/p/5822209.html 1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。 阅读全文
posted @ 2021-03-08 15:48 ZSJ-白 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 转自: 平凡希老师 https://www.cnblogs.com/xiaoxi/p/6097932.html ArrayList ArrayList是最常见以及每个Java开发者最熟悉的集合类了,顾名思义,ArrayList就是一个以数组形式实现的集合,以一张表格来看一下ArrayList里面有哪 阅读全文
posted @ 2021-03-08 15:06 ZSJ-白 阅读(124) 评论(0) 推荐(0) 编辑