多线程程序解决三个问题
1.安全性:指共享变量
2.活跃性:死锁、活锁、循环等待
2.性能问题
对象内存
1.对象头:标记数据(hash码、锁、gc信息)+对象指针,64bit jvm 占用64+64=128=16bytes 开启指针压缩策略的话,16-4=12字节
2.实例数据
3.填充数据
4.数组对象多4个字节,存储数组的长度
sycronized保证线程间的共享变量同步,但不保证线程之间变量之间的可见性。
1.安全性:指共享变量
2.活跃性:死锁、活锁、循环等待
2.性能问题
1.对象头:标记数据(hash码、锁、gc信息)+对象指针,64bit jvm 占用64+64=128=16bytes 开启指针压缩策略的话,16-4=12字节
2.实例数据
3.填充数据
4.数组对象多4个字节,存储数组的长度
sycronized保证线程间的共享变量同步,但不保证线程之间变量之间的可见性。
本文标题:并发编程
本文链接:https://www.haomeiwen.com/subject/ozdhrktx.html
网友评论