1030024444162706_个人页

个人头像照片 1030024444162706
个人头像照片 个人头像照片
19
0
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年09月

  • 09.23 10:36:20
    发表了文章 2024-09-23 10:36:20

    对HttpServletRequest中的Header进行增删

    本文介绍了如何通过反射操作Servlet容器中的请求头,弥补`HttpServletRequest`接口未提供修改或删除功能的不足。以Tomcat和Undertow为例,展示了如何在Filter中对请求头进行增删操作,如添加`x-request-id`和移除`User-Agent`等。适用于需要统一处理请求头的场景。[详细步骤及代码示例](https://forum.springdoc.cn/t/topic/3643)。
  • 09.20 11:35:35
    发表了文章 2024-09-20 11:35:35

    【Tomcat源码分析】从零开始理解 HTTP 请求处理 (第一篇)

    本文详细解析了Tomcat架构中复杂的`Connector`组件。作为客户端与服务器间沟通的桥梁,`Connector`负责接收请求、封装为`Request`和`Response`对象,并传递给`Container`处理。文章通过四个关键问题逐步剖析了`Connector`的工作原理,并深入探讨了其构造方法、`init()`与`start()`方法。通过分析`ProtocolHandler`、`Endpoint`等核心组件,揭示了`Connector`初始化及启动的全过程。本文适合希望深入了解Tomcat内部机制的读者。欢迎关注并点赞,持续更新中。如有问题,可搜索【码上遇见你】交流。
  • 09.18 09:04:04
    发表了文章 2024-09-18 09:04:04

    【Tomcat源码分析】启动过程深度解析 (二)

    本文深入探讨了Tomcat启动Web应用的过程,重点解析了其加载ServletContextListener及Servlet的机制。文章从Bootstrap反射调用Catalina的start方法开始,逐步介绍了StandardServer、StandardService、StandardEngine、StandardHost、StandardContext和StandardWrapper的启动流程。每个组件通过Lifecycle接口协调启动,子容器逐层启动,直至整个服务器完全启动。此外,还详细分析了Pipeline及其Valve组件的作用,展示了Tomcat内部组件间的协作机制。
  • 09.09 10:08:08
    发表了文章 2024-09-09 10:08:08
  • 09.05 12:51:06
    发表了文章 2024-09-05 12:51:06

    【Tomcat源码分析 】"深入探索:Tomcat 类加载机制揭秘"

    本文详细介绍了Java类加载机制及其在Tomcat中的应用。首先回顾了Java默认的类加载器,包括启动类加载器、扩展类加载器和应用程序类加载器,并解释了双亲委派模型的工作原理及其重要性。接着,文章分析了Tomcat为何不能使用默认类加载机制,因为它需要解决多个应用程序共存时的类库版本冲突、资源共享、类库隔离及JSP文件热更新等问题。最后,详细展示了Tomcat独特的类加载器设计,包括Common、Catalina、Shared、WebApp和Jsp类加载器,确保了系统的稳定性和安全性。通过这种设计,Tomcat实现了不同应用程序间的类库隔离与共享,同时支持JSP文件的热插拔。
  • 09.04 13:56:37
    发表了文章 2024-09-04 13:56:37

    【Tomcat源码分析】Pipeline 与 Valve 的秘密花园

    本文深入剖析了Tomcat中的Pipeline和Valve组件。Valve作为请求处理链中的核心组件,通过接口定义了关键方法;ValveBase为其基类,提供了通用实现。Pipeline则作为Valve容器,通过首尾相连的Valve链完成业务处理。StandardPipeline实现了Pipeline接口,提供了详细的Valve管理逻辑。通过对代码的详细分析,揭示了模板方法模式和责任链模式的应用,展示了系统的扩展性和模块化设计。
  • 09.02 09:20:04
    发表了文章 2024-09-02 09:20:04

    【Tomcat源码分析】生命周期机制 Lifecycle

    Tomcat内部通过各种组件协同工作,构建了一个复杂的Web服务器架构。其中,`Lifecycle`机制作为核心,管理组件从创建到销毁的整个生命周期。本文详细解析了Lifecycle的工作原理及其方法,如初始化、启动、停止和销毁等关键步骤,并展示了LifecycleBase类如何通过状态机和模板模式实现这一过程。通过深入理解Lifecycle,我们可以更好地掌握组件生命周期管理,提升系统设计能力。欢迎关注【码上遇见你】获取更多信息,或搜索【AI贝塔】体验免费的Chat GPT。希望本章内容对你有所帮助。

2024年08月

  • 08.30 10:43:04
    发表了文章 2024-08-30 10:43:04

    Tomcat源码解析】整体架构组成及核心组件

    Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
  • 08.19 12:04:16
    发表了文章 2024-08-19 12:04:16

    Tomcat源码分析 (一)----- 手撕Java Web服务器需要准备哪些工作

    本文探讨了后端开发中Web服务器的重要性,特别是Tomcat框架的地位与作用。通过解析Tomcat的内部机制,文章引导读者理解其复杂性,并提出了一种实践方式——手工构建简易Web服务器,以此加深对Web服务器运作原理的认识。文章还详细介绍了HTTP协议的工作流程,包括请求与响应的具体格式,并通过Socket编程在Java中的应用实例,展示了客户端与服务器间的数据交换过程。最后,通过一个简单的Java Web服务器实现案例,说明了如何处理HTTP请求及响应,强调虽然构建基本的Web服务器相对直接,但诸如Tomcat这样的成熟框架提供了更为丰富和必要的功能。

2024年07月

  • 07.05 09:21:51
    发表了文章 2024-07-05 09:21:51

    MySQL数据库碎片化:隐患与解决策略

    UUID作为主键可能导致MySQL存储碎片,影响性能。频繁的DML操作、字段长度变化和非顺序插入(如UUID)都会造成碎片。碎片增加磁盘I/O,降低查询效率,浪费空间,影响备份速度。建议使用自增ID,固定长度字段,并适时运行OPTIMIZE TABLE来减少碎片。

2024年05月

  • 05.29 09:05:20
    发表了文章 2024-05-29 09:05:20

    被追着问UUID和自增ID做主键哪个好,为什么?

    讨论了UUID和自增ID作为数据库主键的优缺点。UUID全局唯一,适合分布式系统,但存储空间大,不适合范围查询。自增ID存储空间节省,查询效率高,但分库分表困难,可预测性高。UUID版本包括基于时间戳(V1)、随机数(V4)以及基于名称空间的MD5(V3)和SHA1(V5)散列。
  • 03.25 09:58:05
    发表了文章 2024-03-25 09:58:05

    对线面试官 - 如何理解MySQL的索引覆盖和索引下推

    索引下推是MySQL 5.6引入的优化,允许部分WHERE条件在索引中处理,减少回表次数。例如,对于索引(zipcode, lastname, firstname),查询`WHERE zipcode='95054' AND lastname LIKE '%etrunia%'`时,索引下推先过滤zipcode,然后在索引中应用lastname条件,降低回表需求。索引下推可在EXPLAIN的`Using index condition`中看到。
  • 03.21 15:57:02
    发表了文章 2024-03-21 15:57:02

    ✅到底有没有必要分库分表,如何考量的

    是否需要分库分表取决于数据量、负载、增长速度、查询需求、扩展性、容错性和维护成本。当单表数据量接近2000万时,由于B+树结构,查询效率可能下降。B+树的高度和数据页限制了单表容量,通常保持在3-4层,以保证查询性能。以3层B+树、16KB数据页和1KB/行数据为例,可存约2000万条数据。权衡业务需求和技术因素,适时决定是否分表。
  • 03.18 15:51:28
    发表了文章 2024-03-18 15:51:28

    真正线上索引失效的问题是如何排查的

    MySQL索引失效是一种常见问题,在处理慢查询时经常需要考虑索引失效的可能性。 针对索引失效的排查,关键步骤包括确定需要分析的SQL语句,并通过`EXPLAIN`查看其执行计划。主要关注`type`、`key`和`extra`这几个字段。
  • 发表了文章 2024-09-23

    对HttpServletRequest中的Header进行增删

  • 发表了文章 2024-09-20

    【Tomcat源码分析】从零开始理解 HTTP 请求处理 (第一篇)

  • 发表了文章 2024-09-18

    【Tomcat源码分析】启动过程深度解析 (二)

  • 发表了文章 2024-09-09

    【Tomcat源码分析】揭秘 Tomcat 启动-初篇

  • 发表了文章 2024-09-05

    【Tomcat源码分析 】"深入探索:Tomcat 类加载机制揭秘"

  • 发表了文章 2024-09-04

    【Tomcat源码分析】Pipeline 与 Valve 的秘密花园

  • 发表了文章 2024-09-02

    【Tomcat源码分析】生命周期机制 Lifecycle

  • 发表了文章 2024-08-30

    Tomcat源码解析】整体架构组成及核心组件

  • 发表了文章 2024-08-19

    Tomcat源码分析 (一)----- 手撕Java Web服务器需要准备哪些工作

  • 发表了文章 2024-07-05

    MySQL数据库碎片化:隐患与解决策略

  • 发表了文章 2024-05-29

    被追着问UUID和自增ID做主键哪个好,为什么?

  • 发表了文章 2024-05-15

    ✅到底有没有必要分库分表,如何考量的

  • 发表了文章 2024-05-15

    对线面试官 - 如何理解MySQL的索引覆盖和索引下推

  • 发表了文章 2024-05-15

    真正线上索引失效的问题是如何排查的

  • 发表了文章 2024-05-15

    MySQL的JOIN到底是怎么玩的

  • 发表了文章 2024-05-15

    日活3kw下,如何应对实际业务场景中SQL过慢的优化挑战?

  • 发表了文章 2022-10-24

    JVM-Java虚拟机内存模型

  • 发表了文章 2022-10-24

    自定义注解判断参数为空

  • 发表了文章 2022-07-30

    走进 Redis,让你重新认识 redis。绝不是表面

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息