摘要:
wsl1转wsl2 使用 PowerShell 以管理员身份运行 执行命令 wsl -l -v 可以看到WSL版本号是 1,需要执行升级,才能到2 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /n 阅读全文
摘要:
class文件结构 MagicNumber:文件类型 Minor Version:小版本标识 Major Version:大版本号 constant_pool_count:常量池数量 constant_poo:常量池具体实现 access_flags:class文件修饰符 this_class:当前 阅读全文
摘要:
Executor 一个接口,其定义了一个接收Runnable对象的方法execute ExecutorService 是一个比Executor使用更广泛的子类接口,其提供了生命周期管理的方法,submit方法返回一个Future对象,并且可以传入Callable对象获取线程返回值 Callable 阅读全文
摘要:
LongAdder 分段锁实现,线程数越多越有优势 package com.liyuanchen.juc; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicLong 阅读全文
摘要:
volatile 保证线程可见性 禁止指令重排序 DCL单例是否需要加volatile package com.liyuanchen.designPattern; /** * 双重检查线程安全单例模式需要加上volatile禁止指令重排序才能使对象中的成员变量值绝对正确 */ public clas 阅读全文
摘要:
创建线程的方式 继承Thread类 实现Runnable接口 使用Lambda表达式(第二种的变形) 启动线程的三种方式 Thread Runnable Executors(线程池) 线程中的方法 Thread.yield():让出cpu,让线程回到就绪状态。 join():在线程执行过程中加入另外 阅读全文
摘要:
为了避免多线程更新的变量或对象处于同一缓存行而导致的伪共享问题,使用@Contended注解可大幅提升执行效率。 package com.chen.allen.learn; import sun.misc.Contended; public class ContendedTest { // @Con 阅读全文
摘要:
启动docker服务: 启动容器: run 在新容器中执行命令 启动交互式容器: -i:始终打开标准输入-t:为创建的容器分配一个伪tty终端 查看容器: -a:查看创建的所有容器-l:查看最新创建的容器 查看某一个容器信息,以json信息返回 创建容器并自定义名字: 重新启动停止的容器: 删除已经 阅读全文
摘要:
一、安装nginx https://yq.aliyun.com/articles/101144?spm=5176.10695662.1996646101.searchclickresult.70af967bColksb 二、nginx.conf文件配置 /usr/local/nginx/conf/c 阅读全文