-
Day15 SpringBoot 2 配置文件 SPEL表达式 松散绑定 JSR303校验 yaml语法
SpringBoot如何启动 入口 12345678//标注这个类是一个SpringBoot应用@SpringBootApplicationpublic class SpringBootForthProjectApplication { ... -
Day15 SpringBoot 1
引入微服务架构 应用架构单体应用架构(All in one)单体应用架构(All in one),将一个应用中的所有应用服务都封装在一个应用中。 优点: 易于开发和测试; 方便部署; 缺点: 如果要修改一个地方,就去要停掉整个服务,重新打包; ... -
Day15 红黑树
红黑树https://www.jianshu.com/p/4cd37000f4e3 https://www.bilibili.com/video/BV1Ce4y1Q76H 引入 有了二叉搜索树,为什么需要平衡二叉树? 二叉搜索树容易变成链表,查... -
Day14 JVM 2 GC 垃圾回收机制
GC:垃圾回收机制GC作用区:Heap 和 方法区; JVM在进行GC时,大部分时候,回收的都是新生代。 类型 轻GC(GC),大部分时候清理新生代,偶尔幸存区 重GC(全局GC), 如何判断哪些对象需要被回收Java 垃圾回收判断哪些对象需要被回... -
Day12 JVM 1 JVM体系结构 类加载器 沙箱安全机制 Native 栈 堆 JProfiler
JVM体系结构 JVM完整架构图 JVM简图 Java程序执行过程:java文件编编译 —> class字节码文件 —> 类加载器 —> 运行时数据区; 其中: Java栈、本地方法栈和程序计数器不能进行垃圾回收;... -
Day11 多线程进阶 10 各种锁 排查死锁
Java的各种锁公平锁 不公平锁公平锁:非常公平,不能插队,必须先来后到。 不公平锁:非常不公平,可以插队。(默认都是非公平锁) ReentrantLock下的锁 123public ReentrantLock() { sync ... -
Day11 多线程进阶 9 CAS 原子引用
CAS 介绍 比较当前工作内存中的值和主内存的值,若这个值为期望值,则执行操作。若不是就一直循环,即阻塞。 public final boolean compareAndSet(int expect, int update) public fi... -
Day11 DCL懒汉式单例反破解攻坚战 (๑•̀ㅂ•́)و✧
DCL懒汉式单例反破解攻坚战 (๑•̀ㅂ•́)و✧DCL懒汉式单例1234567891011121314151617181920//懒汉式单例public class LazyMan { private volatile static... -
Day11 多线程进阶 8 单例模式
单例模式创建的对象只有一个,程序运行过程中只使用这一个对象 构造方法私有private 程序运行过程中只有一个,使用getInstance()方法获取对象。 饿汉式单例恶汉!!! 一次性分配所有空间。 123456789101112//饿汉式单例... -
Day11 多线程进阶 7 JMM Volatile
JMMJava Memory Model 介绍 JMM:Java内存模型。(一个约定,协议) 使用场景 / 解决的问题 在不同硬件生产商和不同操作系统下,内存的访问逻辑有一定的差异,导致一段代码在某个系统环境下运行良好,并且线程安全...