摘要: 如何创建线程池? 有五种: ThreadPoolExecutor的构造函数: corePoolSize :核心线程的数量 maxmumPoolSize: 线程不够用时,最大的线程数 workQueue:任务等待队列 keepAliveTime:核心线程外的线程,不会立即被销毁,而是等待至keepAl 阅读全文
posted @ 2019-07-24 21:41 豆芽花花儿酱 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 线程安全问题的原因: 解决方法: 在同一时刻,有且只有一个线程操作这些数据;其他线程必须等到这个线程,再对共享数据进行操作 互斥锁: 互斥性:在同一时间,只有一个线程,持有某个对象锁。通过这种特性,来实现多线程的协调机制。在同一时间,只有一个线程对需要同步的代码块进行访问。互斥性,也被称为操作的原子 阅读全文
posted @ 2019-07-24 20:25 豆芽花花儿酱 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 判定对象是否属于垃圾: 判断对象的引用数量 通过判断对象的引用数量来决定,是否被回收,引用数量=0,被当做垃圾处理 每个对象实例,都有一个引用计数器,被引用+1,完成引用-1 优点:执行效率高,程序执行影响较小 缺点:无法检测循环引用的情况,导致内存泄露 可达性分析算法 通过判断对象的引用链是否可达 阅读全文
posted @ 2019-07-24 20:19 豆芽花花儿酱 阅读(109) 评论(0) 推荐(0) 编辑