自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

双吉堡工程专业的一名27届Javaer。

悟己往之不谏,知来者之可追。

  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java 面试必问:JVM 垃圾回收(GC)职场生存全攻略

本文以“求职生存”类比 JVM 内存模型,系统梳理垃圾回收(GC)核心知识:从基本概念入手,对比引用计数与可达性分析,重点解析循环引用问题;进一步说明 Stop-The-World 对系统性能的影响;最后总结标记-清除、复制、整理及分代收集算法的原理与适用场景。内容兼顾原理与面试实战,帮助读者高效构建 GC 知识体系,应对高频面试问题。

2026-03-25 16:29:55 380 2

原创 Java 面试必问:JVM 运行时数据区域详解(附内存结构图)

JVM 运行时数据区域是 Java 面试中的高频知识点,但很多人只停留在概念层面的记忆。本文从 JVM 内存布局出发,系统梳理程序计数器、Java 虚拟机栈、本地方法栈、堆以及方法区五大运行时数据区域的作用与线程共享关系,并结合示例代码与结构图,帮助读者理解 Java 程序执行时的内存分工机制。同时也介绍了常见的内存问题与面试考点,帮助读者建立更清晰的 JVM 内存结构认知,为后续学习垃圾回收机制和类加载机制打下基础。

2026-03-08 14:00:17 1012 17

原创 ThreadLocal 原理与使用详解(三):从 set 到 remove 的源码全流程拆解

本文作为 ThreadLocal 系列的第三篇,深入源码层面,系统解析 ThreadLocal 的核心方法:set()、get()、remove() 与 initialValue() 的执行流程。从 Thread 类中的 ThreadLocalMap 结构出发,梳理线程如何绑定数据、如何查找数据,以及初始值的创建时机。通过源码拆解,帮助读者真正理解 ThreadLocal 数据存储路径与生命周期边界,构建完整的底层认知框架。

2026-03-03 00:22:30 793

原创 ThreadLocal 原理与使用详解(二):ThreadLocalMap 结构与弱引用设计解析

本篇深入解析 ThreadLocal 的底层实现机制,重点剖析 ThreadLocalMap 的结构设计与 set 方法执行流程,理解其开放地址法与线性探测策略。同时详细讲解 Entry 为何采用弱引用作为 Key,以及这种设计如何避免 ThreadLocal 对象无法回收所带来的内存泄漏问题。结合 GC 机制与线程生命周期,进一步说明 static final 修饰 ThreadLocal 的利弊及正确使用方式,帮助读者真正掌握 ThreadLocal 的实现原理与使用边界。

2026-03-03 00:11:38 789 1

原创 ThreadLocal 原理与使用详解(一):线程隔离与上下文传递

在多线程编程中,线程安全和跨层级数据传递始终是两个绕不开的问题。ThreadLocal 并不是用来控制并发,而是通过“线程隔离”机制,为每个线程维护独立副本,从而避免共享变量带来的竞争风险。本文从基本使用入手,结合线程隔离与跨函数数据传递两个典型场景,通过完整示例代码讲清 ThreadLocal 的核心原理与应用边界,并重点说明在线程池环境下必须手动 remove() 的原因。帮助读者真正理解 ThreadLocal 的设计思想,而不仅仅是会用 API。

2026-03-01 20:21:30 767 10

原创 Java 线程池线程数怎么定?从 IO / CPU / 混合型任务谈起

在 Java 后端开发中,线程池几乎是必不可少的基础组件,但线程数该如何配置却常常让人困惑。不同任务对 CPU 的使用方式差异很大,直接决定了线程池的合理线程数。本文从 IO 密集型、CPU 密集型以及混合型任务三种常见场景出发,分析线程池线程数配置的基本思路,并给出常见的估算方法,帮助开发者在实际项目中做出更合理的线程池配置选择。

2026-02-04 00:55:52 1352 29

原创 Java 高并发核心编程 ----- 线程池原理与实践(上)

本文为读者阅读《Java 高并发核心编程 卷2》(作者:尼恩)后摘抄部分段落以及整合个人理解后重写书写,重新编写了更容易理解的实例代码,对于难理解的内容我会新增小故事帮助理解,将部分重点内容使用荧光色加粗加重,对重点内容更加直观,有喜欢此内容的小伙伴欢迎阅读尼恩老师原著,也请小伙伴给博主三连一下,本系列会持续更新。

2026-02-01 23:45:07 817 6

原创 Java 高并发核心编程 ----- 初识多线程(下)

本文为读者阅读《Java 高并发核心编程 卷2》(作者:尼恩)后摘抄部分段落以及整合个人理解后重写书写,重新编写了更容易理解的实例代码,对于难理解的内容我会新增小故事帮助理解,将部分重点内容使用荧光色加粗加重,对重点内容更加直观,有喜欢此内容的小伙伴欢迎阅读尼恩老师原著,也请小伙伴给博主三连一下,本系列会持续更新。

2026-01-24 17:32:40 805 4

原创 Java 高并发核心编程 ----- 初识多线程(上)

本文为读者阅读《Java 高并发核心编程 卷2》(作者:尼恩)后摘抄部分段落以及整合个人理解后重写书写,重新编写了更容易理解的实例代码,对于难理解的内容我会新增小故事帮助理解,将部分重点内容使用荧光色加粗加重,对重点内容更加直观,有喜欢此内容的小伙伴欢迎阅读尼恩老师原著,也请小伙伴给博主三连一下,本系列会持续更新。

2026-01-18 22:46:52 674

原创 在 IntelliJ IDEA 中高效使用 Git 的实用指南

Rebase与Merge的区别假设当前我们有master和feature分支,当你在专用分支上开发新 feature 时,然后另一个团队成员在 master 分支提交了新的 commits,这种属于正常的Git工作场景。如下图:现在,假设在 master 分支上的新提交与你正在开发的 feature 相关,需要master分支将新提交的记录合并到你的 feature 分支中。git merge 合并master到feature2.git rebase 合并master到feature。

2025-12-14 17:36:54 1418 2

原创 OSS快速上手使用指南

OSS快速上手使用指南

2025-12-07 15:31:58 556 1

原创 SpringBoot 统一功能处理全解析:拦截器、数据返回与异常处理

从session中获取用户信息,如果session中不存在,则返回false,并设置http状态码为401,否则返回true。

2025-12-07 12:49:41 896

原创 Java 开发者必备:Linux 常用命令与 Web 项目部署指南

本文介绍了Linux系统常用的基础命令和Java环境部署方法。主要内容包括:1)文件目录操作命令如ls、cd、mkdir等;2)文本处理命令cat、grep、vim等;3)进程和网络管理命令ps、netstat;4)文件传输工具scp的使用;5)通过apt工具安装JDK等软件包。文章详细说明了各命令的语法、功能及常用选项,并配有示例,是Linux入门和Java环境搭建的实用指南。

2025-11-17 19:58:00 633 1

原创 MyBatis-Plus 全方位使用指南:从基础到复杂操作

MyBatis-Plus 全方位使用指南:从基础到复杂操作

2025-11-05 09:20:55 1142

原创 RocketMQ核心技术精讲-----详解消息发送样例

RocketMQ核心技术精讲-----详解消息发送样例

2025-10-28 20:10:47 825

原创 RocketMQ核心技术精讲-----初识RocketMQ与快速上手

RocketMQ核心技术精讲-----初识RocketMQ与快速上手

2025-10-24 18:12:38 1177 33

原创 从入门到精通【Redis】Redis 典型应⽤ --- 分布式锁

从入门到精通【Redis】Redis 典型应⽤ --- 分布式锁

2025-10-19 16:29:30 1189 1

原创 从入门到精通【Redis】Redis 典型应⽤ --- 缓存 (cache)

从入门到精通【Redis】Redis 典型应⽤ --- 缓存 (cache)

2025-10-13 21:28:26 871 1

原创 从入门到精通【Redis】初识Redis集群(Cluster)

从入门到精通【Redis】初识Redis集群(Cluster)

2025-10-11 20:59:20 1071 1

原创 从入门到精通【Redis】初识Redis哨兵机制(Sentinel)

从入门到精通【Redis】初识Redis哨兵机制(Sentinel)

2025-10-09 21:25:33 1150

原创 从入门到精通【Redis】理解Redis主从复制

从入门到精通【Redis】理解Redis主从复制

2025-10-03 15:04:08 753

原创 从入门到精通【Redis】理解Redis事务

从入门到精通【Redis】理解Redis事务

2025-09-29 22:01:48 566 1

原创 从入门到精通【Redis】理解Redis持久化

从入门到精通【Redis】理解Redis持久化

2025-09-25 00:01:43 1030

原创 【从入门到精通Spring Cloud】统一服务入口Spring Cloud Gateway

【从入门到精通Spring Cloud】统一服务入口Spring Cloud Gateway

2025-09-21 11:51:32 1432

原创 【从入门到精通Spring Cloud】声明式服务调用组件OpenFeign

【从入门到精通Spring Cloud】声明式服务调用组件OpenFeign

2025-09-18 22:52:44 813

原创 【从入门到精通Spring Cloud】服务注册中心Nacos

order-service 在上海机房,product-service 在北京和上海机房都有实例,那我们希望可以优先访问上海机房,如果上海机房没有实例,或者实例不可⽤,再访问北京机房的实例。: Nacos会记录每个服务实例的IP和端⼝号,当发现IP和端⼝都没有发⽣变化时,Nacos不允许⼀个服务实例类型发⽣变化,⽐如从临时实例,变为⾮临时实例,或者从⾮临时实例,变成临时实例。Nacos 中的健康检查机制不能主动设置,健康检查机制是和 Nacos 的服务实例类型强相关的。(点击2.5.1.zip即可下载)

2025-09-16 01:04:16 1040 3

原创 【从入门到精通Spring Cloud】负载均衡Spring Cloud Load Balancer

负载均衡(Load Balancing)是一种分布式系统技术,核心目标是将大量的并发请求或数据流量均匀分配到多个服务器、节点或资源上,以避免单一设备过载,同时最大化系统的整体性能、可靠性和资源利用率。(简单来说,负载均衡就像 “交通调度员”:当一条道路(单一服务器)无法承载过多车辆(用户请求)时,调度员会引导车辆分流到其他畅通的道路(多台服务器),从而避免拥堵、减少事故(服务崩溃),并让所有道路的运力都得到充分利用。为什么需要负载均衡呢?

2025-09-16 01:03:52 1304 3

原创 【从入门到精通Spring Cloud】服务注册中心Eureka

随着微服务的流⾏与流量的激增,机器规模逐渐变⼤,并且机器会有频繁的上下线⾏为,这种时候需要运维⼿动地去维护这个配置信息是⼀个很⿇烦的操作。所以开发者们开始希望有这么⼀个东西,它能维护⼀个服务列表,哪个机器上线了,哪个机器宕机了,这些信息都会⾃动更新到服务列表上,客⼾端拿到这个列表,直接进⾏服务调⽤即可,这个就是注册中⼼。注册中⼼主要有三种⻆⾊ :服务提供者(Server):⼀次业务中,被其它微服务调⽤的服务,也就是提供接⼝给其它微服务。服务消费者(Client)

2025-09-16 01:03:36 1295 2

原创 【从入门到精通Spring Cloud】初识微服务

随着这个饭店的⽣意越来越好,这个厨师忙不过来了,饭店⼜请了⼀个厨师,新厨师和⽼厨师做⼀样的事情,也是洗菜,切菜,炒菜。简单来说,微服务就是很⼩的服务,⼩到⼀个服务只对应⼀个单⼀的功能,只做⼀件事,这个服务可以单独部署运⾏,微服务之间可以采⽤REST和RPC协议进⾏通信。以⼤家都很熟悉的电商系统为例,电商系统包括 : ⽤⼾管理,商品管理,订单管理,⽀付管理,库存管理,物流管理等等,项⽬早期我们会把这些模块都写在⼀个web项⽬中,然后统⼀部署到⼀个Web服务器中。Location:辽宁。

2025-09-16 01:03:09 1074 2

原创 从入门到精通【Redis】如何在Java中使用Redis以及将Redis集成到Spring Boot

本篇文章给大家介绍redis在Java中的简单实用,可以快速上手。

2025-09-08 14:24:18 1177 9

原创 从入门到精通【Redis】五种常见数据类型

本篇文章给大家介绍redis常见的5中数据结构以及应用场景等知识点

2025-09-08 14:23:17 1079 7

原创 从入门到精通【Redis】安装Redis以及基本全局命令

本文介绍了Redis的安装以及一些常见的全局命令,还介绍了Redis的淘汰策略以及单线程模型

2025-09-03 13:51:57 1015 5

原创 从零开始学 MyBatis:小白也能轻松上手(进阶篇)

从零开始学 MyBatis,非常好理解,万字教程,新手也能学会。

2025-08-29 15:46:41 961 10

原创 从零开始学 MyBatis:小白也能轻松上手(入门篇)

从零开始学 MyBatis,非常好理解,万字教程,新手也能学会。

2025-08-29 15:44:38 1294 5

原创 Java EE ----- Spring Boot 日志

Java EE ----- Spring Boot 日志

2025-08-20 17:59:14 1550 11

原创 Java EE ----- Spring事务

Java EE ----- Spring事务

2025-08-14 17:45:14 1258 4

原创 Java EE ----- Spring配置文件

Java EE ----- Spring配置文件

2025-08-10 19:56:15 1061 8

原创 从零学用验证码工具:手把手带练,看完就会用

快速实现登录时添加验证码功能,即学即用。

2025-08-06 16:04:00 1057 36

原创 Java EE ----- Spring IoC

Spring IoC

2025-08-06 15:59:33 1405 24

原创 Java EE ----- Spring Boot 快速上手

Spring Boot 实战入门:10 分钟启动你的第一个项目

2025-08-06 15:57:03 469 5

JAVA编程基础练习题集-涵盖分支、循环、数组、类与对象实践示例

内容概要:本文档提供了25道Java编程练习题,涉及基本语法、面向对象编程(OOP)、异常处理、接口与实现、抽象类等核心知识点。题目难度循序渐进,覆盖Java语言的基础概念、条件语句(如switch和if-else)、循环结构(如for和while)、数组操作、方法封装、继承、多态等方面。每个题目都有具体的编程任务和完整的参考解答代码示例。 适合人群:适用于有一定Java编程基础知识的学习者或开发者,特别是初学者或具有工作经验在1年左右的研发人员,有助于巩固编程基础并提升面向对象编程能力。 使用场景及目标:本题集可以帮助学习者逐步掌握Java编程技能,通过理论联系实际的方式,深入理解面向对象思想,学会运用各种控制流语句解决简单问题,熟练掌握常见数据结构的操作技巧,提高代码复用性,熟悉常见异常处理方式和接口的应用,培养解决实际问题的能力。同时,也是准备相关技术面试的理想资源。 阅读建议:建议从简单的例子入手,逐步挑战复杂的项目。对于每一个习题,先独立尝试写出自己的解法,再对照提供的答案改进完善自己的思路,尤其关注不同解决方案间的优劣对比以及良好的编码习惯。

2025-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除