线程的基础知识 线程和进程的区别? 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 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是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 多版本控制: 指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻…
说一下你在项目中的redis的应用场景? 5大value类型: String数据类型 List 数据类型 Hash数据类型(散列类型) set数据类型(无序集合) Sorted Set数据类型 (zset、有序集合)。 基本上就是缓存~! 为的是服务无状态,延申思考,看你的项目有哪些数据结构或对象,在单机里需要单机锁,在多机需要分布式锁,抽出来放入…
什么是搜索:百度、垂直搜索(站内搜索) 搜索:通过一个关键词或一段描述,得到你想要的(相关度高)结果。 如何实现搜索功能? 关系型数据库:性能差、不可靠、结果不准确(相关度低)。特别是文本类的查询。主要是基于B+tree,B-Tree结构图中可以看到每个节点中不仅包含数据的key值,还有data值。而每一个页的存储空间是有限的,如果data数据较大…