java基础
匠心曲奇
简约主义者。
展开
-
Spring Boot工程结构推荐
Spring Boot工程结构推荐工程结构(最佳实践) Spring Boot框架本身并没有对工程结构有特别的要求,但是按照最佳实践的工程结构可以帮助我们减少可能会遇见的坑,尤其是Spring包扫描机制的存在,如果您使用最佳实践的工程结构,可以免去不少特殊的配置工作。典型示例root package结构:com.example.myproject应用主类App...转载 2018-08-02 15:18:16 · 363 阅读 · 0 评论 -
23种设计模式
https://www.cnblogs.com/geek6/p/3951677.html原创 2018-11-23 11:19:22 · 177 阅读 · 0 评论 -
easy-springboot-web-cors | 配置cors解决跨域请求问题
全局配置@Configurationpublic class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .all...原创 2018-10-07 12:37:31 · 436 阅读 · 0 评论 -
easy-base-concurrent | 线程安全-有序性
happens-before原创 2018-10-07 11:50:12 · 132 阅读 · 0 评论 -
easy-base-concurrent | 线程安全-可见性
文章目录导致共享变量在线程间不可见的原因synchronizedvolatile导致共享变量在线程间不可见的原因线程交叉执行重排序结合线程交叉执行共享变量更新后的值没有在工作内存与主内存及时同步synchronizedJMM关于synchronized的两条规定:线程解锁前,必须把共享变量的值更新到主内存中线程加锁前,必须把工作内存中的共享变量清空,保证使用共享变量时需要从主...原创 2018-10-07 11:48:01 · 161 阅读 · 0 评论 -
easy-base-concurrent | 线程安全-原子性-锁
文章目录原子性提供了互斥操作synchronized对比原子性提供了互斥操作synchronized : 依赖JVMLock:依赖特殊的CPU指令,(ReentrantLock)synchronized修饰代码块:作用于调用的对象修饰方法:作用于调用的对象修饰静态方法:作用于所有对象修饰类:作用于所有对象对比synchronized:不可中断锁,适合竞争不激烈,可读性...原创 2018-10-07 11:30:12 · 134 阅读 · 0 评论 -
easy-base-concurrent | 线程安全-原子性
Atomic包AtomicXXX:CAS、unsafe.compareAndSwapInt@ThreadSafe@Slf4jpublic class SafeCountAtomic { public static int clientTotal = 5000; public static int threadTotal = 200; public static ...原创 2018-09-28 16:30:18 · 159 阅读 · 0 评论 -
easy-java汇总
总目录原创 2018-09-03 10:34:20 · 766 阅读 · 0 评论 -
easy-base-concurrent | 并发基础
为什么需要CPU cacheCPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源。所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题(结构:cpu->cache->memory)CPU cache有什么意义1) 时间局部性:如果某个数据被访问,那么在不久的将来可能被再次访问2) 空间局部性:如果某个数据被访问,那么...原创 2018-09-28 10:22:32 · 196 阅读 · 0 评论 -
easy-base-DesignPatterns
设计模式1. 创建模式1.1 简单工厂模式一类图原创 2018-12-03 14:56:05 · 198 阅读 · 1 评论