对象池
http://commons.apache.org/proper/commons-pool/index.html
异步化
本地调用异步化
- 线程池技术
- @Async注解
- 生产者消费者模式(MQ等)
远程调用异步化
- AsyncRestTemplate
- WebClient(spring 5)
Sychronized
对象头:Mark word,类型指针,数组长度
优化机制
- 锁分级
- 锁消除
- 锁粗化
ReentrantLock
公平锁;如果一个线程持有锁或者其它线程在等待队列中等待这个锁,那么新发出的请求的线程将被放入到队列中
非公平锁:当锁被某个线程持有时,新发出请求的线程才会被放入到队列中。如果在发出请求时,锁变成可用状态,这个线程会跳过队列中的等待线程获得锁