- 博客(34)
- 收藏
- 关注
原创 JVM方法区核心技术解析:从方法区到执行引擎
JVM方法区存储类元数据(类型/字段/方法信息)、运行时常量池及静态变量,HotSpot从永久代(JDK≤6)演进至元空间(JDK8+)以解决内存溢出与GC问题。对象实例化需经类加载、内存分配(指针碰撞/TLAB)、初始化(零值→构造器),内存布局包含对象头(Mark Word/Klass指针)、实例数据和对齐填充。访问定位采用直接指针(高效)或句柄(稳定)。直接内存提升I/O性能,执行引擎通过解释器+JIT编译器(热点代码探测)实现跨平台高效运行,含AOT编译趋势。
2025-05-15 16:53:55
1180
80
原创 JVM内存模型深度解剖:分代策略、元空间与GC调优实战
JVM内存模型核心解析:堆采用分代策略(新生代[Eden/Survivor]/老年代),通过-Xms/-Xmx控制容量,对象基于年龄阈值晋升。元空间(JDK8+)通过MetaspaceSize动态水位线触发Full GC,替代永久代。垃圾回收分Minor/Major/Full三级触发,TLAB无锁分配优化多线程性能。逃逸分析支持栈分配与同步消除,建议生产环境设置MaxMetaspaceSize防泄漏,参数调优保障系统稳定性。
2025-05-06 21:33:42
1722
100
原创 突破JVM边界:类加载三重门与栈帧的生存法则
JVM类加载子系统按"加载→验证→准备→解析→初始化"流程工作。加载器读取字节码,转为方法区数据并生成Class对象;验证阶段保障字节码合法;准备阶段初始化静态变量;解析阶段转换符号引用;初始化执行`<clinit>()`并确保线程安全。 采用双亲委派模型,分启动类加载器(核心库)、扩展类加载器(扩展目录)和应用类加载器(用户类路径)。 虚拟机栈线程私有,含局部变量表与操作数栈。动态链接通过常量池解析方法地址,虚方法表支持多态。返回地址保存调用上下文,栈空间由`-Xss`调整,局部变量默认线程安全
2025-04-28 19:53:29
1544
96
原创 解析Java根基:Object类核心方法
本文详细解析了Java中Object类的常见方法,包括toString、equals和hashCode,以及wait、notify和notifyAll。文章强调了正确重写这些方法的重要性,特别是在集合操作和线程通信中的应用。此外,文章还探讨了==与equals的区别,以及hashCode与equals在集合框架中的协同作用。同时,文章介绍了重载和重写的概念,抽象类与接口的区别,final关键字的用法,异常处理机制,以及String类的不可变特性和字符串常量池的原理。
2025-04-11 21:00:54
3089
126
原创 ElasticSearch核心技术解析:倒排索引与IK分词器如何解决中文搜索痛点
在传统数据库中,模糊查询往往难以应对现实中的复杂情况。随着数据量的增加,查询时间显著变慢,功能也相对单一。当搜索时出现错别字或拼音输入时,搜索结果往往不尽如人意。因此,我们需要学习一种强大的搜索框架技术——ElasticSearch。
2025-02-25 20:40:59
4016
188
原创 RabbitMQ
在消息队列(MQ)中,确保消息成功传递是关键问题。消息传递过程包括生产者、交换机、队列和消费者四个阶段。为提高可靠性,生产者需配置重试机制,MQ需启用确认机制(Publisher Confirm和Publisher Return)以及数据持久化(交换机、队列和消息的持久化)。消费者端通过确认机制和重试机制确保消息处理,同时需考虑业务幂等性和失败处理策略。延时任务可通过死信交换机或延时消息插件实现。这些措施共同保障了消息传递的可靠性和系统的稳定性。
2025-02-17 10:54:19
3667
122
原创 DNS解析与网络通信中的套接字与协议栈工作机制详解
本文详细介绍了DNS解析与网络通信的工作机制,重点分析了DNS服务器的缓存机制及其在提高解析效率中的作用。文章深入讲解了网络通信中的套接字(Socket)及其与操作系统协议栈的关系,包括套接字的创建、连接、数据传输及断开流程。通过对Socket库的程序组件调用顺序、控制信息的分类及网络包头部的分析,展示了如何通过TCP/IP协议层次实现高效的数据传输。此外,文章探讨了HTTP协议中的请求、响应机制以及持久连接特性,全面解析了现代网络通信中的关键环节和技术细节。
2024-09-07 17:07:36
1915
244
原创 深入解析浏览器与Web服务器的通信机制:从URL输入到页面渲染的全过程
用户输入URL浏览器解析URLDNS将域名转换为IP地址浏览器发送HTTP请求请求通过TCP/IP网络传输服务器处理请求并返回响应浏览器接收响应解析HTML,构建DOM树处理CSS,构建CSSOM组合DOM和CSSOM,创建渲染树布局和绘制页面加载额外资源(如图片、脚本)
2024-08-25 17:29:35
2840
225
原创 Web 开发安全与最佳实践:MVC、会话管理与常见攻击防御
本文概述了Web应用开发中的关键概念和安全考虑。首先介绍了MVC设计模式,阐述了Model、View和Controller的职责及在JavaWeb中的实现。随后讨论了JSP内置对象,并比较了JSP与Servlet的特点。文章还探讨了Session和Cookie的区别,以及单点登录中Cookie被禁用时的替代方案。此外,详细说明了Tomcat创建Servlet实例的过程。最后,文章重点强调了Web安全,包括SQL注入、XSS和CSRF攻击的防御策略,为开发安全可靠的Web应用提供了全面指导。
2024-08-16 08:00:00
19626
232
原创 Java全栈解密:从JVM内存管理到Spring框架,揭秘垃圾回收、类加载机制与Web开发精髓的全方位旅程
JVM内存管理:详细介绍了JVM的内存划分,包括程序计数器、虚拟机栈、堆区和方法区的作用及特点。类加载机制:阐述了Java类加载的五个步骤(加载、验证、准备、解析和初始化),以及双亲委派模型的工作原理和优势。垃圾回收机制:解释了JVM中的垃圾回收过程,包括对象扫描、堆的划分和不同的清除方式(标记-清除、复制、标记-整理)。Java基础概念:深入讲解了this关键字的用法和匿名对象的特性及应用场景。Spring框架:概述了Spring的核心特性,如IOC(控制反转)、DI(依赖注入)和AOP(面向切面
2024-08-10 18:20:54
7590
192
原创 图灵日记--Map&Set&字符串常量池&反射&枚举&Lambda表达式&泛型
Map,Set,字符串常量池,枚举,Lambda表达式,泛型
2024-02-12 09:21:41
1569
97
原创 图灵之旅--ArrayList&顺序表&LinkedList&链表&&栈&&Stack&&队列&&Queue
顺序表,链表,栈,队列,ArrayList,LinkedList,Stack,Queue
2024-01-30 10:11:39
2352
82
原创 图灵日记之Leetcode链表中间结点&&牛客链表中倒数第k个结点&&Leetcode合并两个有序链表&&leetcode反转链表
leetcode&&牛客
2023-12-18 18:11:54
669
31
原创 c++入门
c++关键字,命名空间,c++输出与输入,缺省参数,函数重载,引用,内联函数,auto,基于范围的for循环,指针空值nullptr
2023-11-29 21:32:01
399
27
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人