Java对象创建时,虚拟机采用什么方式来保证线程安全?
1.CAS+失败重试:乐观锁是每次不加锁而是假设没有冲突而去完成某项操作,如果这个时候是冲突失败了,那么就去重试,一直重试到成功为止。虚拟机采用CAS配上失败重试的方式保证更新操作的原子性;
2.TLAB:为每一个线程预先在Eden区分配一块儿内存,JVM在给线程中的对象分配内存时,首先会在TLAB分配,当对象大于TLAB中的剩余内存或TLAB的内存已用尽时,再采用上述的CAS进行内存分配。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。