《吊打面试官系列》
文章平均质量分 95
Mysql原理,索引底层,JVM优化,并发编程,源码剖析,三高架构剖析,中间件源码,微服务源码剖析,一系列深入底层,源码技术文章,跟着一步步学习,吊打面试官,跳槽涨薪5K不成问题
墨家巨子@俏如来
电子科大毕业,EasyJF开源团队成员,10 年Java开发及项目管理经验,在企业中承担项目经理、架构师等职位,喜欢研究技术,执着于对技术底层的探索及源码的剖析;喜欢写文章,享有阿里云专家博主、CSDN博客专家、Java领域优质创作者、华为云开发者联盟成员/技术博主(CSDN搜索-墨家巨子@俏如来)代表作《SpringCloud入门到精通》,《SpringCloud源码深度剖析》,《SpringBoot入门到精通》,《Spring源码深度剖析》等等
展开
-
十三.吊打面试官系列-JVM优化-深入JVM对象创建流程
在Java中,对象的内存分配主要由Java虚拟机(JVM)的堆内存管理器负责。当使用new关键字创建对象时,JVM会在堆内存中为对象分配内存。原创 2024-05-23 17:10:38 · 788 阅读 · 0 评论 -
十二.吊打面试官系列-JVM优化-深入JVM内存模型
需要注意的是,虽然永久代已经被去掉,但方法区(Method Area)的概念仍然存在。,运行时数据区由: 方法区,虚拟机栈,本地方法栈,程序计数器,堆 五部分组成,其中堆和方法区是线程共享的,其他区域是线程隔离的,也就是线程私有,比如:程序计数器在每个线程执行的时候都有一个私有的程序计数器。操作数栈(用于计算的临时数据存储区):操作数栈(Operand Stack)也常称为操作栈,它是一个后入先出栈(LIFO),当一个方法刚刚开始执行时,其操作数栈是空的,随着方法执行和字节码指令的执行,会。原创 2024-05-15 16:43:52 · 581 阅读 · 0 评论 -
十一.吊打面试官系列-JVM优化-深入JVM类加载机制
从本篇文章开始我们来探讨JVM相关的知识,内容附带JVM的启动,JVM内存模型,JVM垃圾回收机制,JVM参数调优等,跟着文章一步一步走相信你对JVM会有一个不一样的认识,如果觉得文章对你有所帮助请给个好评吧。原创 2024-05-15 16:43:24 · 1068 阅读 · 0 评论 -
二.吊打面试官系列-数据库优化-Explain索引分析
通过explain命令我们可以知道以下信息:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。id列的编号是 select 的序列号,有几个 select 就有几个id,并且id的顺序是按 select 出现的顺序增长的。name列没有索引,那么在去重的时候会使用一个临时表来存储name列的值然后去重。这里我们需要一个常识,索引就是以空间换时间的打法,索引本身会占用磁盘空间,且索引会降低DML操作(增删改)的性能,当我们。原创 2024-04-16 19:49:51 · 65 阅读 · 0 评论 -
一.吊打面试官系列-数据库优化-认识MySql索引
索引(Index)是帮助DBMS(数据库)高效获取数据的数据结构,索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。如果数据库没有索引就会走表进行全表扫描,一旦数据量上来,简直就是灾难。原创 2024-04-16 19:47:09 · 202 阅读 · 0 评论 -
六.吊打面试官系列-数据库优化-深入Mysql日志机制
在Mysql中有三个非常重要的日志文件:Undolog ,Redolog,Binlog。Undolog是用作原子性保证的日志文件,MVCC多版本快照也是存储在Undolog日志文件中。Redolog是Mysql持久化日志文件,如果Mysql宕机数据丢失可以通过Redolog还原数据,Binlog也可以用作数据还原以及实现主从复制。本篇文章我们一起来研究一个下三种日志文件底层的执行原理以及相关参数配置。原创 2024-04-21 17:06:55 · 954 阅读 · 1 评论 -
八.吊打面试官系列-Tomcat优化-深入源码剖析Tomcat如何打破双亲委派
上篇文章《Tomcat优化-深入Tomcat底层原理》我们从宏观上分析了一下Tomcat的顶层架构以及核心组件的执行流程。本篇文章我们从源码角度来分析Tomcat的类加载机制,且看它是如何打破JVM的ClassLoader双亲委派的Tomcat 并没有完全打破 Java 的双亲委派模型,而是对其进行了扩展和补充,以适应 Web 应用程序的特殊需求。原创 2024-05-07 19:10:17 · 816 阅读 · 0 评论 -
三.吊打面试官系列-数据库优化-索引优化实战
mysql主要分为Server层和存储引擎层,Server层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog日志模块。原创 2024-04-16 19:51:28 · 66 阅读 · 0 评论 -
七.吊打面试官系列-Tomcat优化-深入Tomcat核心架构
作为一个名Java程序员,对于Tomcat肯定是很熟悉的,平时可能我们只是在Tomcat容器中部署项目,并不会去了解Tomcat底层架构,或者是对Tomcat做性能优化。然而在大型在高并发的项目中对Tomcat的优化确实必不可少的。接下来我讲带你一步一步去了解Tomcat的底层的奥秘,掌握Tomcat性能优化技能让面试官或者同事对你刮目相看。原创 2024-04-29 00:57:20 · 931 阅读 · 0 评论 -
五.吊打面试官系列-数据库优化-Mysql底层执行原理
InnoDB存储引擎主要就是包含了一些buffer pool、redo log buffer等内存里的缓存数据,同时还包含了一些undo日志文件,redo日志文件等东西,同时mysql server自己还有binlog日志文件。在你执行更新的时候,每条SQL语句,都会对应修改buffer pool里的缓存数据、写undo日志、写redo log buffer几个步骤;但是当你提交事务的时候,一定会把redo log刷入磁盘,binlog刷入磁盘,完成redo log中的事务commit标记;原创 2024-04-16 19:56:14 · 76 阅读 · 0 评论 -
十.吊打面试官系列-Tomcat优化-通过压测Tomcat调优实战
上一篇文章我们讲解了一下Tomcat底层的结构和执行原理,我们需要重点去掌握的是Tomcat的高内聚低耦合的设计,以及责任链模式,以及Tomcat NIO编程模式,这些是Tomcat比较核心的点,本篇文章我们将对Tomcat的参数做一些了解,然后通过Jemeter压测来对Tomcat进行调优。原创 2024-05-10 15:55:28 · 1065 阅读 · 0 评论 -
四.吊打面试官系列-数据库优化-Mysql锁和事务原理
本篇文章主要讲解两块内容:Mysql中的锁和ACID原理,这2个部分是面试的时候被问的蛮多的看完本篇文章之后相信你对Mysql事务会有更深层次的理解,如果文章对你有所帮助请记得好评事务: 指作为单个逻辑工作单元(Service方法)执行的一系列操作(数据库操作。),要么完全地执行,要么完全地不执行.事务可以看做是一组任务,通常对应了一个业务方法,这些任务要么全部成功,要么全部失败。在实际的业务开发中我们通常在Service层通过@Transcational注解来指定事务。原创 2024-04-16 19:52:12 · 1390 阅读 · 6 评论 -
九.吊打面试官系列-Tomcat优化-深入源码剖析Tomcat启动流程
Tomcat的启动流程入口是 Bootsrap#main方法,他会先执行 init 进行初始化类加载器和实例化Catalina对象。它通过自定义WebAppClassloader类加载器来实现不同APP应用的加载隔离,从而打破了传统JVM的双亲委派机制。原创 2024-05-10 15:54:35 · 916 阅读 · 0 评论