内存调优 内存溢出和内存泄漏 内存泄漏(memory leak):在Java中如果不再使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收,这种情况就称之为内存泄漏。 内存泄漏绝大多数情况都是由堆内存泄漏引起的,所以后续没有特别说明则讨论的都是堆内存泄漏。 比如图中,如果学生对象1不再使用 可以选择将ArrayLi…
什么是JVM? 关联课程内容 基础篇-初识JVM 基础篇-Java虚拟机的组成 回答路径 JVM的定义 作用 功能 组成 定义: JVM 指的是Java虚拟机( Java Virtual Machine )。JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件,Java虚拟机上可以运行Java、Kotlin、Scala、Gro…
消息队列简介 为什么叫Kafka Kafka的架构师jay kreps非常喜欢franz kafka(弗兰兹·卡夫卡),并且觉得kafka这个名字很酷,因此取了个和消息传递系统完全不相干的名称kafka,该名字并没有特别的含义。 「也就是说,你特别喜欢尼古拉斯赵四,将来你做一个项目,也可以把项目的名字取名为:尼古拉斯赵四,然后这个项目就火了」 消息…
工厂方法模式 简单工厂模式 工厂方法模式 抽象工厂模式 策略模式 责任链模式
线程的基础知识 线程和进程的区别? 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的。 当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。 一个进程之内可以分为一到多个线程。 一个线程就是一…
RabbitMQ 消息不丢失 消息不重复 消息堆积 延迟队列&死信队列 高可用机制 Kafka 消息不丢失&消息重复消费 消费顺序性 高可用机制 高性能设计 比较费时的数据拷贝 优化后的数据拷贝 数据存储和清理
Spring Bean线程安全问题 AOP 事务原理 事务失效 Bean的生命周期 循序依赖 SpringMVC 执行流程 Springboot 自动配置原理 Spring框架常见注解(Spring、Springboot、Springmvc) Mybatis 执行流程 延迟加载 一二级缓存 SpringCloud 服务注册 nacos、eureka…
JVM组成 JVM由那些部分组成,运行流程是什么? JVM是什么 Java Virtual Machine Java程序的运行环境(java二进制字节码的运行环境) 好处: 一次编写,到处运行 自动内存管理,垃圾回收机制 JVM由哪些部分组成,运行流程是什么? 从图中可以看出 JVM 的主要组成部分 ClassLoader(类加载器) Runtim…
JDK1.8新特性 Lambda表达式 Lambda表达式的语法: 基本语法: (parameters) -> expression 或 (parameters) ->{ statements; } // 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x -> 2 * …
MVCC多版本并发控制 什么是MVCC? MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 多版本控制: 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻…