![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
落雨听虹
爬弱
展开
-
阅读笔记-深入理解java虚拟机-1-垃圾回收器
垃圾搜集器可以混用 垃圾收集其是内存回收的具体实现。收集算法是内存回收的方法论 Serial收集器: 基本,最久的回收器,并不仅仅是使用一个CPU或者一条收集线程完成垃圾收集工作,重要的是在垃圾回收时必须暂停其他所有的工作线程(stop the world) java 1.7 vm client模式下 默认的新生代收集器,适合小内存新生代,停顿可以接受 parNew收集器: 多线程版本...原创 2018-09-13 09:52:49 · 107 阅读 · 0 评论 -
阅读笔记-深入理解jvm虚拟机-2-垃圾回收算法
垃圾回收算法: 标记-清除算法: 首先将标记出所有需要回收的对象,然后进行统一回收所有对象 基础的回收算法。后续的算法基于这种思路对其不足进行改进 缺点: 效率问题,标记和清除的效率都不高。 标记清除算法会产生大量不连续的内存碎片。空间碎片太多会导致当分配较大对象时,无法找到足够的连续的内存从而不得不提前触发另一次垃圾回收。 复制收集算法: 为解决效率问题,可将内存按容量划分为大小...原创 2018-09-13 09:54:12 · 119 阅读 · 0 评论 -
Java-如何合理设置线程池大小
如何合理的设置线程池大小。 要想合理的配置线程池的大小,首先得分析任务的特性,可以从以下几个角度分析: 任务的性质:CPU密集型任务、IO密集型任务、混合型任务。 任务的优先级:高、中、低。 任务的执行时间:长、中、短。 任务的依赖性:是否依赖其他系统资源,如数据库连接等。 性质不同的任务可以交给不同规模的线程池执行。 对于不同性质的任务来说,CPU密集型任务应配置尽可能小的线程,如配...转载 2018-09-20 13:51:34 · 1763 阅读 · 0 评论 -
Java-如何选择合适的排序算法
1.1 快速排序 当待排序元素的关键字随机分布时,快速排序的平均时间最短。快速排序比堆排序和归并排序要快2到3倍。 快速排序会出现最坏情况。 快速排序是不稳定的。 1.2 堆排序 不会出现最坏情况。 1.3 简单插入排序 当待排序序列基本有序时,可以使用简单插入排序。 1.4 归并排序(多路归并) 归并排序是稳定的,但是需要一个同样...原创 2018-09-20 14:11:21 · 534 阅读 · 0 评论