本文目录
Java中对本身线程安全的方法加锁,锁不会被优化掉吗
jvm会优化无竞争状态下的锁,但它还是锁,不会优化掉。我自己的工具类里都会重写BufferedInputStream/BufferedOutputStream,只是简单的把synchronized去掉,性能会提高很多。
Java Thread为何需要同步及同步synchronized条件
说一个卖票的例子,票的总数是固定的,而卖票的平台却有很多,如果所有的平台都只各卖各的,卖一张就将将票的总数减一,那么其他怎么知道到底还有多少票呢?因此各个平台之间需要同步。而synchronized就是Java中实现同步的一种方式,它的条件就是当前执行这块代码的对象或者类。