多线程同步的方法:
1. wait和notify或者notifyAll
2. condition.await();
condition.await(10, TimeUnit.SECONDS);
condition.signal();
condition.signalAll();
java导致内存泄露的原因很明确:
长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。
请举出会引起Java内存泄漏的例子?
- java.lang.StackOverflowError
- java.lang.OutOfMemoryError:java heap space
- java.lang.OutOfMemoryError:GC overhead limit exceeeded
- java.lang.OutOfMemoryError:Direct buffer memory
- java.lang.OutOfMemoryError:unable to create new native thread
- java.lang.OutOfMemoryError:Metaspac
只写java.lang.OutOfMemoryError后面的