logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

JVM 内存五大核心区域详解笔记

JVM(Java 虚拟机)在运行 Java 程序时,会将内存划分为五个核心功能区域,每个区域有明确的职责、生命周期和存储规则,其设计核心是高效管理内存、支撑程序的正常执行,同时为垃圾回收(GC)、多线程调度等核心机制提供基础。本文将详细拆解这五大区域的特性、作用及常见问题。线程归属:堆、方法区为线程共享区域,程序计数器、虚拟机栈、本地方法栈为线程私有区域;异常特性:仅程序计数器不会抛出 OOM,其

#jvm
Hutool 核心工具类 FileUtil & IoUtil

坑1:使用IoUtil时,忘记关闭流,导致资源泄漏。避坑:无论流操作是否成功,都要在finally块中调用IoUtil.close()关闭所有流,建议一次性传入所有流对象。坑2:使用FileUtil时,路径格式错误(如Windows路径用/,Linux路径用\),导致操作失败。避坑:尽量使用标准路径格式,或使用FileUtil的path方法自动适配系统路径。坑3:使用IoUtil.copy()时,

#python#开发语言
从零到一:Docker Compose 使用详解,告别手动启动多个容器的痛苦

每个service对应一个或多个容器。services:nginx:ports:- "80:80"services:backend:build: ./backend # 指定 Dockerfile 目录# build:# context: ./backend # 构建上下文# dockerfile: Dockerfile.prod # 指定 Dockerfileimage: myapp:lates

#docker#eureka#spring cloud
Jenkins 初始化与自动部署:从零搭建 CI/CD 流水线

阶段操作对应原理核心认知Jenkins 是自动化调度引擎通过插件扩展能力初始化Docker 部署 + 临时密码 + 推荐插件第一道安全门 + 定义能力边界凭证管理添加 Git/Docker Hub/SSH 凭证安全集中管理敏感信息Pipeline创建 Jenkinsfile触发器WebhookGit 事件回调 Jenkins构建流程流水线定义做什么后置通知post 块配置邮件构建完成收尾。

#servlet
Spring Bean 生命周期:搞懂这 8 步,面试再也不怕被问

new出来(空的)↓填依赖(@Autowired生效)↓告诉我你是谁(Aware)↓初始化前(BeanPostProcessor ✋)↓@PostConstruct → 准备资源afterPropertiesSet → 检查配置init-method → 加载缓存↓初始化后(AOP代理就在这里!🤖)↓=== 可以用了!调业务方法 ===↓容器关闭 → @PreDestroy → destroy

文章图片
#spring#面试#java
Spring Boot常用注解全解

六大类 + 一条主线:组件注册:@Component 家族 → 谁管容器依赖注入:@Autowired → 怎么装配Web 层:@RestController 家族 → 怎么暴露接口配置属性:@Value / @ConfigurationProperties → 怎么读配置条件控制:@Conditional / @Profile → 什么时候生效AOP/事务:@Transactional / @A

文章图片
#spring boot#后端#java
Spring Boot自动配置原理

自动配置 = Spring Boot 提前写好的 @Bean 配置类,按需生效,无需手动注册。自动配置是 Spring Boot 实现「约定大于配置(Convention over Configuration)」的核心机制。// 1. 自动配置类@Bean// 2. 配置属性// 3. 注册自动配置。

文章图片
#java#数据库#mybatis
Spring Security 过滤链流程:7 大核心过滤器执行顺序详解

Spring Security 本质上是一个过滤器链每个请求进来后,像流水线上的产品一样,逐个经过每个过滤器。只要有一个过滤器决定「这个请求不合法」,请求就到此为止。请求 → Filter1 → Filter2 → Filter3 → ... → Controller过滤器顺序决定异常归宿:自定义过滤器放在后面,抛出的认证异常才能被统一捕获;放在前面,异常直接冲到 Tomcat 返回 500。

文章图片
#数据库#sql#spring
Seata AT 模式 undo_log 表分析

SQL 类型回滚操作原理INSERTDELETE把插入的行删掉DELETEINSERT用前镜像把删掉的行插回去UPDATEUPDATE用前镜像把值恢复回去。

文章图片
#数据库#java#服务器
JVM 调优入门与面试

实际项目中的模板通常是:堆设物理内存的 60-70%,保留一部分给元空间和系统,G1 设目标停顿 200ms。话术:永久代是 JDK 7 及之前的方案,在堆内存里划了一块固定大小,类多了容易 OOM。JDK 8 改成了元空间,用的是本地内存(堆外),默认只受物理内存限制,不会轻易 OOM。话术:先做监控再调优。第一步是加 GC 日志参数,用 jstat 看 GC 频率和耗时,jmap 看堆使用情况

文章图片
#jvm#面试#测试工具
    共 17 条
  • 1
  • 2
  • 请选择