为什么Java中synchronized同步的对象不能是Integer等类型
2016-06-04 20:09
791 查看
为什么Java中synchronized同步的对象不能是Integer等类型?
原因是Java的自动封箱和解箱操作在作怪。这里的i++实际上是i = new Integer(i+1),所以执行完i++后,i已经不是原来的对象了,同步块自然就无效了
相关文章推荐
- JAVA-WEB开发第一讲[2016-06-04]eclipse的下载
- Java开发中的23种设计模式详解
- struts2请求参数处理
- java_浮点型加减乘除精确计算
- springmvc+mybatis+maven+junit实现网页的增删查改
- Struts2的动态调用Action方法和默认Action
- Java中的异常 Exception
- JAVA 对象引用,以及对象赋值
- Java EE — Servlet 01 Servlet 开发流程
- SpringMVC注入Spring的bean
- Java线程问题(基础回顾)
- 利用IO流实现基本类型与byte数组的互转
- 抵御反射创建单例模式的对象
- 【JAVA】八 HableMap HashTable
- 【JAVA】七 JAVA Dictionary 一 HashTable
- SpringMVC-访问静态页面
- Spring框架中的单例Beans是线程安全的么
- Java 匿名内部类
- 编程之美2.2不要被阶乘吓倒Java版
- JAVA之旅(十三)——线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this