Java内存区域
2019-02-09
Java虚拟机在运行程序时会把其自动管理的内存划分为以下几个区域,每个区域都有的用途以及创建销毁的时机。接下来会分别介绍各个区域的功能。
Carpe diem
Java虚拟机在运行程序时会把其自动管理的内存划分为以下几个区域,每个区域都有的用途以及创建销毁的时机。接下来会分别介绍各个区域的功能。
锁——是为了解决并发操作引起的脏读、数据不一致的问题。JVM提供了synchronized
关键字来实现对变量的同步访问以及用wait
和notify
来实现线程间通信。在jdk1.5以后,JAVA提供了Lock
类来实现和synchronized
一样的功能,并且还提供了Condition
来显示线程间通信。
synchronized是基于Monitor来实现同步的。
ConcurrentHashMap本质上是一个Segment数组,而一个Segment实例又包含若干个桶,每个桶中都包含一条由若干个 HashEntry 对象链接起来的链表。总的来说,ConcurrentHashMap的高效并发机制是通过以下三方面来保证的: