TTL应用
1. TransmittableThreadLocal 怎么用?1.1 ThreadLocal使用子线程获取不到 父线程set到ThreadLocal所修饰变量的值; 123456789101112public class TtlTest { @Test public void Test001() { ThreadLocal<String&...
1. TransmittableThreadLocal 怎么用?1.1 ThreadLocal使用子线程获取不到 父线程set到ThreadLocal所修饰变量的值; 123456789101112public class TtlTest { @Test public void Test001() { ThreadLocal<String&...
1. 简介为构建锁和同步器提供基本的线程阻塞唤醒原语,LockSupport中的park()和unpark()的作用分别是阻塞线程和解除阻塞线程。类似于wait和notify,类似于await和signal。 2. 使用示例1234567891011121314151617181920212223242526272829303132333435363738394041424344454647...
Condition1. 使用Condition实现等待通知机制12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455public class ConTest { final Lock lock = new ReentrantLoc...
1. FeatureTaskFutureTask是Runnable, Future接口的实现类; 1234567891011121314151617181920212223242526{ FutureTask<String> futureTask = new FutureTask<String>( () -> { Syst...
如何中断一个线程?1. while循环判断interrupt标识1234567891011121314151617181920212223242526272829{ Thread t1 = new Thread(() -> { while (true) { if(Thread.currentThread().isI...
通过一些demo ,尝试理解juc包下的一些类的用法; 1. 使用ReentrantLock进行同步说明:开启四个线程,每个线程首先去执行lock方法后,睡眠不同的时间后,最后执行unlock方法。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525...
原子类1. LongAdder2. LongAccumulator123456789101112131415161718192021{ LongAdder longAdder = new LongAdder(); longAdder.increment(); longAdder.increment(); longAdder.increment(); S...
CAS1. ABA问题123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051{ static AtomicInteger atomicInteger = new AtomicInteger(100); static AtomicStampe...
1. 简介2. 源码分析继承关系属性方法内部类构造方法 3. 常见问题
1. 导出虚拟机打开 vmware,选中想要导出的虚拟机,打开右上角文件,选择导出为 OVF, 导出后会生成三个文件: 2. 转换虚拟硬盘格式2.1 安装qemu软件下载后,直接安装 2.2 配置qemu环境变量将上一步的安装地址配置进环境变量 2.3 转换vmdk为qcow21qemu-img convert -p -f vmdk -O qcow2 k8s-node1-disk1.vmd...