电信Java面试:常见的14个Java面试题
2019年9月27日 - 网易
threadlocal并不能解决多线程共享变量的问题,同一个threadlocal所包含的对象,在不同的thread中有不同的副本,互不干扰用于存放线程上下文变量,方便同一线程对变量的前后多次读取,如事务、数据库connection连接,在web编程中使用的更多问题:注意线程池场景使用threadlocal,因为实际变量值存放在了thread的threadlocalmap类型...
详情
备战金九银十:2019最新高并发面试题大全(含详细答案解析)
2019年7月27日 - 网易
在synchronized和volatile提供的可见性保证中可能会用到内存屏障,内存屏障可以刷新缓存,使缓存无效。同时内存屏障会抑制一些编译器优化操作,大多数操作不能被重排序。10.jvm同步优化?jvm可以通过优化去掉一些不必要的锁,从而减少同步开销。比如一个对象只能被当前线程访问,其他线程不会与当前线程在这个锁上发生同步,jvm...
详情
Java 种15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁等等
2019年6月14日 - 网易
代码也比较简单,使用原子引用来存放线程,同一线程两次调用lock()方法,如果不执行unlock()释放锁的话,第二次调用自旋的时候就会产生死锁,这个锁就不是可重入的,而实际上同一个线程不必每次都去释放锁再来获取锁,这样的调度切换是很耗资源的。把它变成一个可重入锁:importjava.util.concurrent.atomic.AtomicRefer...
详情