要不要再学学下面的文章?
JVM内存问题排查流程 (l1n.wang)
首先确认问题现象,可以通过服务状态,监控面板、日志信息、监控工具(VisualVM)等,确认问题类型:
1、内存使用率居高不下、内存缓慢增加、OOM等;
2、频繁GC:Full GC等;
发现问题不建议重启,留存状态。
by @技术头条 2024-03-12 22:26 查看详情
Java SPI机制学习与常用框架SPI案例 (l1n.wang)
SPI(Service ProviderInterface)是JDK内置的服务提供机制,常用于框架的动态扩展,类似于可拔插机制。提供方将接口实现类配置在classpath下的指定位置,调用方读取并加载。当提供方发生变化时,接口的实现也会改变。Java生态中JDK、Dubbo、Spring等都通过SPI提供了动态扩展的能力。
by @技术头条 2024-01-17 23:19 查看详情
解析Java动态代理机制的实现 (l1n.wang)
代理模式主要是Proxy对原始方法做了一层包装,用以增加一些新的统一处理逻辑,来增强目标对象的功能。静态代理是传统设计模式中一种传统的实现方案,动态代理能将代理对象的创建延迟到程序运行阶段。
by @技术头条 2024-01-17 23:16 查看详情
Java ZGC 调优 (www.diguage.com)
本篇文章讨论了 ZGC 的各种 JVM 调整参数,旨在优化其在 Java 应用程序中的性能。通过利用这些调整选项,开发人员可以对 ZGC 进行微调,以根据其特定需求提供最佳性能。此外,仔细分析 GC 日志和监控 ZGC 的行为可以为了解其性能特征提供有价值的信息。通过尝试使用这些调整参数并密切监控 GC 日志,开发人员可以释放 ZGC 的全部潜能,并确保其 Java 应用程序中的垃圾回收效率。
by @技术头条 2024-01-14 18:58 查看详情
SOCKS5 协议工作流程 (www.addesp.com)
SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。
by @技术头条 2023-12-11 23:25 查看详情
Java自带的4种字符串组织和格式化方法 (blog.didispace.com)
在Java中,组织字符串是平时最常见的操作,这里总结一下Java自带的四种处理方式。
by @技术头条 2023-08-26 21:53 查看详情
简化Java单元测试数据 (insights.thoughtworks.cn)
冗杂繁复的数据初始化代码会影响单元测试本身的代码质量,造成单元测试编写成本高、易读性差、易维护性低等问题。
by @Thoughtworks 2023-07-28 12:46 查看详情
腾讯云日志产品CLS使用以及成本控制的最佳实践 (wiki.eryajf.net)
日志成本控制主要有如下几个维度:- 减量:去掉没有意义的无效日志,只打印关键日志。- 减周期:尽可能减少日志存储的时长。- 转低频:低频相较于标准存储,可降低 6 0%--70%的成本。- 慎开全文索引:全文索引将会把所有日志全部索引一遍,并且这个存储是未压缩的存储,如果开启全文索引,则存储往往会比不开的存储高出 4--10 倍。
by @技术头条 2023-07-04 23:07 查看详情
Spring AOP 处理流程概述 (www.diguage.com)
AOP 是 Spring 框架的最核心的两个功能之一,这里来细致分析一下 Spring AOP 的实现原理和处理流程。
by @技术头条 2023-06-24 23:29 查看详情
Spring 启动流程概述 (www.diguage.com)
对于 Spring 启动流程和 Bean 的生命周期,总有一些小地方搞的不是很清楚,干脆直接通过修改代码增加日志输出,使用断点单步调试,把整个流程捋顺了一点点的。

除了加载配置文件或者基础配置类外,Spring 的启动过程几乎都被封装在 AbstractApplicationContext#refresh 方法中,可以说弄清楚了这个方法的执行过程,就摸清楚了 Spring 启动全流程,下面的流程分析也是以这个方法为骨架来展开的。

流程概要 下面完整流程有些太复杂,所以,提炼一个简要的过程,方便糊弄面试官,哈哈哈
by @技术头条 2023-06-24 23:05 查看详情