JVM 篇,本章主要介绍 JVM 相关的知识,包括堆结构,垃圾回收算法,类加载机制等。 JVM内存结构 JVM的内存结构主要指运行时数据区,其主要由五个部分: 程序计数器PC:线程私有,主要记录当前线程执行到哪一条命令,存储的是字节码指令的地址。 虚拟机栈:线程私有,每个线程对应一个栈,栈由栈帧组成
并发编程篇,本章主要讲解有关并发编程的部分,项目在生产环境中面对的都是多线程环境,多线程环境和单线程环境是有很大不同的,代码质量的高低主要就体现在面对并发环境的安全性,一个高质量的代码会把并发带来的问题降到最低,因此有关并发编程的知识也是我们必须要学习的部分。 本章的内容较多,涉及到synchron
集合篇,本章主要讲解Java中常见集合的底层原理。 在开始之前,让我们先总览一下java集合框架体系 这么多集合我们都要学习吗?不是的,其中有一些集合因为某些原因已经不再推荐使用 了,例如Vector和HashTable,这两种集合虽然是线程安全的,但是它们实现线程安全的方式非常简单粗暴,那
中间件篇,本章主要介绍有关消息中间件的知识,主要使用的消息中间件是RabbitMQ。本章主要围绕RabbitMQ讲解有关消息不丢失、重复消费、消息堆积、延迟队列、死信队列等内容。现在很多项目中为了性能和吞吐量都会选择使用消息中间件,使用消息中间件可以实现异步通信、削峰填谷等功能,大幅提高系统性能。
框架篇,现在企业项目开发几乎没有不使用框架的,所以框架相关的知识在实际开发过程中一定是非常重要的,而Java框架生态中最著名的就是Spring系列的框架了,所以本章主要讲解Spring、Spring MVC、Spring boot的相关知识,另外还会对目前主流的持久层框架mybatis进行讲解。 S
微服务篇。本篇主要介绍微服务相关内容,现在Java应用微服务领域的框架主要就是Spring Cloud,但是本章不会过多介绍该框架的内容,因为在实习或者刚开始工作的阶段是不需要太深的微服务相关的知识的,因为每个团队负责不同的服务开发,如果需要别人 提供的服务只需要调用提供的接口就可以了,会有专门的团
MySQL,本章包含面试八股文中有关MySQL的常见问题。关于MySQL考察最多的就是MySQL的优化问题,例如定位慢查询,索引,SQL优化等方面的问题。 慢查询 如何定位慢查询 慢查询是SQL优化最常见的一个问题,慢查询的原因有很多,例如聚合查询,多表查询,查询数据量过大,分页深度过大等,定位慢查
本章先总结一下redis常见的面试题,也作为一个知识笔记吧,虽然没有用过这么多功能,就当了解和学习了。 redis的使用场景有哪些 缓存、分布式锁(setnx、redisson)、计数器(incr)、存令牌(string)、消息队列(list)、延迟队列等。 缓存穿透 缓存穿透是指查询数据库中不存在
第四章:动态规划。本章不会包含很多具体的算法,因为动态规划本身就是一种思想,没有固定模板或流程,不同题目的思路区别很大,而且代码很短很简单很短,都是一些简单的循环,重要的是构造思路,所以这里挑选一些经典例题作为讲解,以及介绍几种不同的常见的的动态规划方式或模型。DP有很多模型,例如线性DP,区间DP
第三章:搜索与图论,本章的主要内容是dfs(深度优先搜索),bfs(广度优先搜索),图的存储和表示,以及对图的遍历,最短路算法等。 1.搜索 搜索分为宽度优先搜索(dfs)和广度优先搜索(bfs)。这两种搜索都可以遍历所有的空间,区别在于遍历的方式不同。一般在算法题中所有可能的情况是一个树,而搜索算
笔记功能需要安装 瞬间插件 才能正常使用
安装插件后,点击导航栏"笔记"即可查看瞬间
请前往 Halo 后台 → 页面 → 独立页面,创建一个自定义页面
将页面 Slug 设置为 posts,并选择模板 文章列表
posts
也可在主题设置中修改「文章页路径」来匹配已有页面