随笔分类 - JAVA
摘要:在java中结合线程池,返回Callable返回任务使用 public static void main(String[] args) throws ExecutionException, InterruptedException { ExecutorService executorService
阅读全文
摘要:三者内部都是维护一个字节数组, String abc=new String(); String采用的16进制编码, 里面的字节数组是final 修饰的,不允许在原来的基础上修改,所以会生成一个新的字节数组 private final byte[] value; 底层调用 System.arrayco
阅读全文
摘要:这两个集合都支持写复制,在并发性方面比,ArrayList,LinkList要好一些。 适用场景:读多邪少的情况 看下源码为甚么读多写少的情况下比较好 第一步: CopyOnWriteArraySet copyOnWriteArraySet=new CopyOnWriteArraySet<>();
阅读全文
摘要:static List<String> arrayList = new ArrayList(); static { for (int i = 0; i < 10000; i++) { arrayList.add("编号:" + i); } } //会出现多线线程处理同一个元素 for (int i
阅读全文
摘要:对 HashMap 的好处 提高查找效率 当哈希冲突比较严重时,链表会变得很长。在一个长链表中查找元素,时间复杂度会退化为(是链表长度)。而红黑树是一种自平衡二叉查找树,其查找、插入和删除操作的时间复杂度在最坏情况下依然能保持为。 将链表转换为红黑树后,能有效降低在哈希冲突较多的桶中查找元素的时间成
阅读全文
摘要:package com.wb.demo.util; import java.lang.ref.PhantomReference; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; import java.util
阅读全文
摘要:当被应用的强引用失去后,强引用关联的这个引用也就是虚引用相关的分配就会被回收 以ThreadLocal<T>为例 1.进行塞值 public void set(T value) { Thread t = Thread.currentThread(); ThreadLocalMap map = get
阅读全文
摘要:定义 软引用(Soft Reference)是 Java 中引用类型的一种。它是一种相对较弱的引用,在 Java 的垃圾回收机制(Garbage Collection,GC)中具有特殊的处理方式。 用途 软引用主要用于缓存场景,当内存空间足够时,垃圾回收器不会回收软引用所指向的对象;只有当内存不足时
阅读全文
摘要:ThreadLocal底层是个map每次set值的时候把当前线程与值放到里面 ThreadLocal.ThreadLocalMap threadLocals = null; 这种结构在大数据量并发请求时会,会产生内存泄漏。 请求时set进去,正常退出move掉,来不及remove的数据会停留在内存中
阅读全文
摘要://每一次创建一个对象都是强引用()也就是普通的引用 Object object = new Object(); public class TTT { //实际情况不需要重写,也不必要重写,java有垃圾回收器帮助回收C,C++需要回收。 @Override protected void final
阅读全文
摘要:package com.wangbiao.security; public class Boy { public void getBoy(){ System.out.println("上帝是个宝贝"); } public static Object getBoyObject(){ return ne
阅读全文
摘要:at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1869) 1896处使用了NumberFormat与DateFormate产生联系使用。but确实作为一个全局变量去使用,于是内部属性也作为全局使用,多线程竞争产生了问题 优化
阅读全文
摘要:转载:https://www.cnblogs.com/little-fly/p/7907935.html 我偷懒了不想写,至于为什么会有hash碰撞,请自行了解异或算法,或者看hahMap源码
阅读全文
摘要:java -jar zkui.jar server -Xms32M Xmx32 &
阅读全文
摘要:导出: package com.example.demo.excel.demo0; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.NumberFormat;
阅读全文
摘要:package util.bloomfilter; import lombok.var; /** *@Topic:同步线程 * * * * * 11111 * 它表示用Counter.lock实例作为锁,两个线程在执行各自的synchronized(Counter.lock) { ... }代码块时
阅读全文
摘要:LocalDateTime等新出的日期类全是final修饰的类,不能被继承,且对应的日期变量都是final修饰的,也就是不可变类。赋值一次后就不可变,不存在多线程数据问题。 simpleDateFormat.parse() simpleDateFormat.format() 注意calendar.s
阅读全文
摘要://无返回值 CompletableFuture completableFuture0=CompletableFuture.runAsync(()); //无返回值执行器 CompletableFuture completableFuture0_0=CompletableFuture.runAsyn
阅读全文