![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
hard-working-monkey
这个作者很懒,什么都没留下…
展开
-
Volatile与Synchronize
votatile是轻量级同步锁,只能修饰变量,能保证并发的情况下,多个线程间共享变量的可见性,不能用来做同步操作,因为多线程访问votatile不会阻塞 synchronize是重量级互斥锁,开销相比votatile大的多,能修饰方法和代码块,能保证可见性和原子性,并发情况下,多个线程在临界区争夺锁资源,出现阻塞 java虚拟机有自己的内存模型(Java Memory Model,JMM),JMM可以屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都能达到一致的内存访问效果。 JM翻译 2020-07-14 13:42:03 · 163 阅读 · 0 评论 -
JDK7中HashMap的解析(未完)
1、HashMap采用的是数据+链表的存储结构 2、初始化默认长度为16,每次扩容*2,负载因子默认0.75 3、 扩容核心类 void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length; for (Entry<K,V> e : table) { ...原创 2020-04-26 11:51:07 · 180 阅读 · 0 评论 -
Long相关的比较问题
一、问题描述 开发过程中遇到如下问题 Long a = 100L; Long b = 100L; System.out.println(a == b); System.out.println(a.equals(b)); System.out.println(a == 100); System.out.println(a.equals(100)); 输出结果: true true true f...转载 2019-11-11 14:34:49 · 418 阅读 · 0 评论