
java基础
lzcWHUT
这个作者很懒,什么都没留下…
展开
-
Synchronized实现原理
查看带有Synchronized语句块的class文件可以看到在同步代码块的起始位置插入了moniterenter指令,在同步代码块结束的位置插入了monitorexit指令。(JVM需要保证每一个monitorenter都有一个monitorexit与之相对应,但每个monitorexit不一定都有一个monitorenter)但是查看同步方法的class文件时,同步方法并没有通过指令moni...原创 2019-06-12 15:58:44 · 16283 阅读 · 9 评论 -
Java内存泄漏
Java内存泄漏引起的原因: 内存泄漏是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费称为内存泄漏。 长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄漏,尽管短生命周期对象已经不再需要,但是因为长生命周期持有它的引用而导致不能被回收,这就是Java中内存泄漏的发生场景。 造成内存泄漏的几种情况: 静态集合类引起内存泄漏 像HashM...原创 2019-07-26 10:01:24 · 157 阅读 · 0 评论 -
Java中的BIO、NIO、AIO(NIO2)
在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下: 序号 问题 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是...转载 2019-08-16 19:19:01 · 191 阅读 · 0 评论 -
Java 如何有效地避免OOM:善于利用软引用和弱引用
Java 如何有效地避免OOM:善于利用软引用和弱引用 想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲: 一.了解 强引用、软引用、弱引用、虚引用的概念 二.进一步理解软引用和弱引用 三.如何利用软引用和弱引用解决OO...原创 2019-08-22 09:04:12 · 389 阅读 · 0 评论 -
双重检查单例为什么要加volatile
双重检测锁实例: public class Single { private Factory factory; public Factory getFactory(){ if (factory == null){//① synchronized (Single.class){//② if (factory ...转载 2019-08-26 22:06:37 · 2626 阅读 · 0 评论