07 2020 档案

摘要:我们继续接上篇,本篇是对unlock方法的跟踪解析。 调用lock.unlock(); 进入后发现,还是使用了sync对象的方法,上篇中以及说明了,sync实际上是对于AQS的一种实现,实现一部分AQS提供的抽象方法。 我们进入release方法看看 我们能看到,进入后,传递的参数是一,这个是加锁的 阅读全文
posted @ 2020-07-26 11:03 WildY 阅读(121) 评论(0) 推荐(0)
摘要:1.强引用 jvm在进行GC的时候,也不会去删除具有强引用的内存,即使内存以及不够用了,如果强引用的对象过多,超出了JVM的大小,那么就会发生内存溢出异常。 例如,Object obj = new Object() 就是一个强引用。 2.软引用 JVM在GC的时候,不会优先去删除只被软引用的对象,只 阅读全文
posted @ 2020-07-26 10:29 WildY 阅读(134) 评论(0) 推荐(0)
摘要:ReentrantLock 锁 加锁和解锁 我们从常用的lock方法,为入口,来阅读一下lock方法,实际上在源码中执行的过程。 进入方法中,我们看到调用的是sync.lock()方法 首先,我们来看看sync这个是一个什么类 从这里我们可以看出他是一个抽象类,而且是继承了AQS类,我们进入 Abs 阅读全文
posted @ 2020-07-24 18:01 WildY 阅读(256) 评论(0) 推荐(0)
摘要:垃圾的概念 指在程序运行中,创建出来的对象,在完成了一系列的逻辑后,这个对象已经不需要再使用了,但是java没有提供手动清理的方法,因为手动清理容易造成忘记回收,或者多次回收,所以java采用的是使用垃圾回收器,来对这个垃圾进行回收,释放空间。 怎么样判断一个对象是否为垃圾 在java代码编译为cl 阅读全文
posted @ 2020-07-13 22:30 WildY