分类: Java

40 篇文章

thumbnail
线程池(一)What Is ThreadPool
一、写在前面 1.1 线程池是什么 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。 线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。这种做法,一方面避免了处理任务时创建销毁线程开…
thumbnail
Java垃圾回收(一)
GC 一、定义 1. 什么是垃圾 没有引用的对象(注意Java引用分为强软弱虚) 2. 怎么找到垃圾 引用计数法(Reference Counting): 虽然循环引用的问题可通过 Recycler 算法解决,但是在多线程环境下,引用计数变更也要进行昂贵的同步操作,性能较低,早期的编程语言会采用此算法。 可达性分析,又称引用链法(Tracing G…
thumbnail
Java多线程(一)
一、线程 1. 线程方法 new T1().run() 调用run方法,同步的 Thread.yield() 让一下CPU,线程进入等待队列,从RUNNING变为RUNABLE状态 t.join() 等待t线程运行结束再运行 2. 线程状态 注意:Wating的原因 二、关键字 1. volatile 保证线程可见性 MESI 缓存一致性协议 禁止…
SmartAdmin——1、Maven构建配置和激活SpringBoot配置文件
SmartAdmin 是由【1024创新实验室】使用SpringBoot2 和 Vue3 Setup 语法糖、 组合式Composition Api (同时支持JavaScript和TypeScript双版本) ,开发出的一套简洁、易用的中后台解决方案!我们开源一套漂亮的代码和一套整洁的代码规范,让大家在这浮躁的代码世界里感受到一股把代码写好的清流…
thumbnail
Java:ThreadLocal
ThreadLocal结构图 结构变化后带来的好处 早期ThreadLocalMap里的Entry较多,每个线程都有一个,占用空间大 线程销毁时,后期的ThreadLocalMap将会销毁,释放资源 设置默认值,也就是当前线程和ThreadLocal对象还未往ThreadLocalMap里存数据时 ThreadLocal<String>…
thumbnail
Java引用:强、软、弱、虚
Java引用分为强引用、软引用、弱引用、虚引用 一、强引用 public class M { @Override protected void finalize() throws Throwable { System.out.println("m.finalize"); super.finalize(); } } public …
thumbnail
动态代理+读写锁实现线程安全的HashMap缓存工具类
背景 jdk1.8之前是没有线程安全的集合工具类,例如currentHashMap,那怎样实现高效、线程安全的集合工具类呢? 可以利用读写锁实现线程安全,动态代理帮助集合作为工具类,产生更多的使用场景,例如缓存 代码 1. 创建缓存基类和子类 基类里的读写锁 private ReadWriteLock readWriteLock = new Ree…