
Java基础
文章平均质量分 55
一杯冰镇果汁
一生热爱,步履不停。
展开
-
【Java基础】-- 线程同步举例:生产者消费者(通过Object类提供的wait()、notify()、notifyAll()实现)
一 线程同步和互斥1 互斥:是指某一个资源某个时刻只允许一个访问者对其进行访问,具有唯一性和排他性。2 同步:在互斥的基础上,通过其他机制实现访问者对资源的有序访问,通过一定的逻辑关系来共同完成一个任务。3 同步和互斥的联系:同步其实已经实现了互斥,所以同步是一种更为复杂的互斥。4 同步和互斥的区别:(1)互斥是不同线程通过竞争进入临界区(共享的数据和硬件资源),为了防止冲突,在同一时刻只允许一个线程使用共享资源,如不能同时写。(2)同步时多个线程彼此合作,通过一定的逻辑关系来共同完原创 2021-04-21 13:24:39 · 205 阅读 · 0 评论 -
【Java基础】-- 内存泄漏和内存溢出
一 内存泄漏(Memory Leak)1 概念 内存泄漏通俗来说就是该释放的对象没有释放,一直被某个或某些实例所持有导致不能正常GC回收。这部分实例占据的内存资源不能释放再次使用,这就叫做内存泄漏。2 Android开发中常见内存泄漏的场景(1)单例模式 单例的静态特性使其生命周期和应用的生命周期一样长,如果单例对象持有不再需要使用的对象,就会造成内存泄漏。(2)非静态内部类创建静态实例 非静态内部类会默认持有外部类的引用,如果该非静态内部类创建了一个静态的实例,如果该静态实例的生命周期和应原创 2021-04-20 17:12:44 · 246 阅读 · 0 评论