Java 中的自旋锁和适应性自旋锁!

herman 3周前 (11-21) 81浏览

阅读过上篇文章的网友,可能会发现上一篇文章中已经出现了一个自旋锁! 什么?怎么可能?你在上一篇文章中连一个自旋锁的字都没提,怎么可能有自旋锁(欺骗我农村来的是吧,一定是)? 我怎么可能会骗你呢?就算骗了你,也骗不了其他人,那么多读者,...

从“图”学习乐观锁与悲观锁(CAS以及ABA问题)

herman 3周前 (11-20) 77浏览

前面写了好几篇关于 HashMap 的文章,有人在微信群里给我反馈说想看点别的。其实我也想换了,HashMap 写来写去就那么点内容,还能写出 bug 出来(大笑)!所以,索性我今天就换个新内容!乐观锁 VS 悲观锁! 其实吧,写锁也写不出...

HashMap 在JDK1.8与JDK1.7的性能测试对比

herman 3周前 (11-20) 104浏览

任何数据结构的产生总对应着要解决一个实际的问题!我在《HashMap 存在的意义是什么?》这篇文章中总结到:HashMap 这种数据结构解决存取一组 key-vaule 键值对数据,并且在插入、删除、遍历都有不错性能的数据结构。我们也知道,JDK...

从 HashMap 的扩容机制来说它为什么不是线程安全的!

herman 3周前 (11-20) 77浏览

我在前面的文章《Java 线程安全的3大核心:原子性、可见性、有序性》中已经说到了什么是线程安全!根据这篇文章,我们对照着 HashMap 来说说它为什么不是线程安全的? 前面我也强调过多次,回答是不是线程安全的请从:原子性、可见性、有序性...

HashMap 存在的意义是什么?

herman 3周前 (11-20) 99浏览

我一直在思考一个问题:HashMap 存在的意义是什么?也就是说 Java 为什么要设计 HashMap?我问了很多面试者以及很多 CSDN 的博客专家都没有找到想要的答案!于是我自己查了很多资料想找 HashMap 为什么需要这样设计?最终都没...

学会 Java 中的锁,你只需要记住 6 句法则即可!

herman 4周前 (11-17) 159浏览

Java 中日常用到的锁大概有 14 种:悲观锁、乐观锁、自旋锁、适应性自旋锁、无锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、非可重入锁、独享锁、共享锁。 每种锁都有不同的使用场景!具体哪种场景使用哪种锁,你只需要回答下面 ...

Out of memory:Kill process or sacrifice child

herman 4周前 (11-15) 68浏览

这个错误同样不常见,很少有人遇到,但并不代表它不存在!今天就来说说 Out of memory: Kill process or sacrifice child。 我们知道,操作系统(operating system)构建在进程(...

java.lang.OutOfMemoryError: Unable to create new native thread

herman 4周前 (11-14) 101浏览

没有一样东西是可以随便挥霍的,亲情、爱情都不行。JVM 也不行! 程序也都是和现实世界规律一致的。Java 中存在多线程,支持同时执行多项任务。所以物理机上即使只有一个CPU,我们也可以同时运行多个程序。 JVM 中的线程也需要内存空...

java.lang.OutOfMemoryError: Metaspace

herman 4周前 (11-14) 107浏览

最近,我在推广我的个人微信公众号:业余草。我发现当我认认真真写技术文章的时候,看的人并不多。当我写热点事件,或者科技新闻后发现阅读量又大幅的提升。于是,我就得出一个结论:技术越深的文章看的人越深;技术中等的次之;技术偏初级的看的人最多!这是为什么...