2020年3月14日

多线程 - sleep() 和 wait() 有什么区别?

摘要: 区别 这两个方法来自不同的类分别是Thread (static sleep)和Object (wait) 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁)。 wait,notify和notifyAll只能在同步控制方法或者同步控制块 阅读全文

posted @ 2020-03-14 18:56 frank_cui 阅读(440) 评论(0) 推荐(0)

多线程 - 线程常见函数的来源/持有锁情况

摘要: 线程常见函数 来源类 是否 Static 说明 是否释放锁 sleep() Thread static 只能操作当前线程。时间到后(没有interrupt的情况下),回到“就绪”状态 不 yield() Thread static 只能操作当前线程。只让出CPU时间片。不让出持有的锁和其他资源(磁盘 阅读全文

posted @ 2020-03-14 18:49 frank_cui 阅读(408) 评论(0) 推荐(0)

JVM - java 中都有哪些引用类型?

摘要: 什么叫引用reference Object o = new Object(); 这个 o,我们可以称之为对象引用,而 new Object()我们可以称之为在内存 中产生了一个对象实例。 当写下 o=null 时,只是表示 o 不再指向堆中 object 的对象实例,不代表这个对象实例不存在了。 强 阅读全文

posted @ 2020-03-14 17:01 frank_cui 阅读(2426) 评论(0) 推荐(0)

多线程 - 错误的加锁场景

摘要: 易错点1:锁一个可变对象 package cn.enjoyedu.ch1.syn; /** * 类说明:错误的加锁和原因分析 */ public class TestIntegerSyn { public static void main(String[] args) throws Interrup 阅读全文

posted @ 2020-03-14 00:12 frank_cui 阅读(383) 评论(0) 推荐(0)

导航

levels of contents