开发者社区> 问答> 正文

Java对象创建时,虚拟机采用什么方式来保证线程安全?

Java对象创建时,虚拟机采用什么方式来保证线程安全?

展开
收起
游客gkv5feo4nm3qc 2022-04-02 18:51:17 1051 0
1 条回答
写回答
取消 提交回答
  • 1.CAS+失败重试:乐观锁是每次不加锁而是假设没有冲突而去完成某项操作,如果这个时候是冲突失败了,那么就去重试,一直重试到成功为止。虚拟机采用CAS配上失败重试的方式保证更新操作的原子性;

    2.TLAB:为每一个线程预先在Eden区分配一块儿内存,JVM在给线程中的对象分配内存时,首先会在TLAB分配,当对象大于TLAB中的剩余内存或TLAB的内存已用尽时,再采用上述的CAS进行内存分配。

    2022-04-02 18:53:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载