java
夏天的雪scy
码农一位 坐标大连 联系邮箱940651250@qq.com
展开
-
java自定义线程池 拒绝策略 附带lombok安装
线程池代码全文: package scy; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.Executors; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import lombok.Data; @Data public class ThreadPoolDemo impl原创 2020-09-22 13:18:29 · 175 阅读 · 0 评论 -
ThreadLocal类原理以及内存泄漏
简介: ThreadLocal 是一个本地线程副本变量工具类,在每个线程中都创建了一个 ThreadLocalMap 对象,简单说 ThreadLocal 就是一种以空间换时间的做法,每个线程可以访问自己内部 ThreadLocalMap 对象内的 value。通过这种方式,避免资源在多线程间共享。 原理: 线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Java提供ThreadLocal类来支持线程局部变量,是一种实现线程安全的方式。但是在管理环境下(如 web 服务器)原创 2020-08-21 09:45:32 · 173 阅读 · 0 评论 -
jvm垃圾回收调优
新生代调优 新生代的特点 TLAB thread-local allocation buffer,线程局部缓冲区,线程使用自己私有区域分配对象内存 所有的new 操作的内存分配非常廉价 死亡对象的回收代价是零;因为采用复制算法,存活的对象使用复制算法到Survivor区域,剩下都是需要被回收的 大部分对象用过即死,只有少数对象存活 Minor GC 的时间远远低于Full GC 新生代优化空间更大一些 如何给新生代调优呢?是不是将新生代内存调得越大越好?下面是Oracle官方文档说明截图 网页链接:h原创 2020-08-19 09:12:46 · 122 阅读 · 0 评论 -
java如何创建一个不可修改的集合
Collections. unmodifiableCollection(Collection c) 上代码 感兴趣的可以复制试试 import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; public class test { public static void main(String[] args) { List<原创 2020-08-18 11:24:34 · 933 阅读 · 0 评论