easy-springboot-web-cors | 配置cors解决跨域请求问题 全局配置@Configurationpublic class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .all...
easy-base-concurrent | 线程安全-可见性 文章目录导致共享变量在线程间不可见的原因synchronizedvolatile导致共享变量在线程间不可见的原因线程交叉执行重排序结合线程交叉执行共享变量更新后的值没有在工作内存与主内存及时同步synchronizedJMM关于synchronized的两条规定:线程解锁前,必须把共享变量的值更新到主内存中线程加锁前,必须把工作内存中的共享变量清空,保证使用共享变量时需要从主...
easy-base-concurrent | 线程安全-原子性-锁 文章目录原子性提供了互斥操作synchronized对比原子性提供了互斥操作synchronized : 依赖JVMLock:依赖特殊的CPU指令,(ReentrantLock)synchronized修饰代码块:作用于调用的对象修饰方法:作用于调用的对象修饰静态方法:作用于所有对象修饰类:作用于所有对象对比synchronized:不可中断锁,适合竞争不激烈,可读性...
easy-base-concurrent | 线程安全-原子性 Atomic包AtomicXXX:CAS、unsafe.compareAndSwapInt@ThreadSafe@Slf4jpublic class SafeCountAtomic { public static int clientTotal = 5000; public static int threadTotal = 200; public static ...
easy-base-concurrent | 并发基础 为什么需要CPU cacheCPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源。所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题(结构:cpu->cache->memory)CPU cache有什么意义1) 时间局部性:如果某个数据被访问,那么在不久的将来可能被再次访问2) 空间局部性:如果某个数据被访问,那么...
easy-mysql | 书籍整理 参考:https://www.cnblogs.com/prettyisshit/p/5841055.htmlhttps://www.jianshu.com/p/f1095f011777
easy-springboot | 分布式事务管理LCN 参考:https://blog.csdn.net/zyndev/article/details/79604395#%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1%E7%9A%84%E5%BC%95%E5%85%A5
easy-linux | 安装Redis 1 Redis单机安装第一步,安装编译环境第二步,下载解压软件包第三步,make第四步,make install第五步,启动第六步,客户端连接和关闭常见问题1.Newer version of jemalloc required1 Redis单机安装第一步,安装编译环境 # Reids是C语言编译的,所以需要c语言的编译环境,...
easy-linux | 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法 参考:https://blog.csdn.net/qq_26562641/article/details/80483193
easy-springboot | 使用logback输出日志 logback官方网站:https://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedFNATP