刷新
Java虚拟线程实战:Project Loom让并发编程更简单

博主头像 前言 Java 21 正式引入虚拟线程(Virtual Threads),这是 Project Loom 的核心成果。虚拟线程让 Java 并发编程从"难"变"简",彻底改变了高并发应用的开发方式。本文带你全面掌握虚拟线程。 一、虚拟线程 vs 平台线程 平台线程:对应操作系统线程,创建成本高(约1 ...

用300行代码手写Spring核心原理

博主头像 本文将带你深入了解Spring框架的核心原理,通过300行代码的迷你版本来展示Spring最核心的特性:IoC(控制反转)、DI(依赖注入)和MVC(模型-视图-控制器)模式的实现。 mini版Spring实现思路 实现过程 自定义注解 在Spring框架中,注解是非常重要的组成部分。我们的迷你版也 ...

MVC中的拦截器实现案例

博主头像 MVC 拦截器 Spring MVC 拦截器对应HandlerInterctor接口,该接口位于org.springframework.web.servlet的包中,定义了三个方法,若要实现该接口,就要实现其三个方法: 前置处理(preHandle()方法):该方法在执行控制器方法之前执行。返回值为 ...

Java学习笔记:关键字与保留字

博主头像 在Java中,关键字和保留字是两类具有特殊意义的标识符,它们被语言本身占用,不能作为变量名、方法名、类名等自定义标识符使用。理解它们的区别与用途,是掌握Java语法的第一步。 查看官网关键字和保留字: https://docs.oracle.com/javase/tutorial/java/nuts ...

MVC快速入门

博主头像 前言 什么是MVC MVC英文是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计规范,本质上也是一种解耦。 Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。 Vie ...

Java学习笔记:注释

博主头像 1. 什么是注释? 注释(comment)。对Java程序中的代码进行文字性解释说明。不会被Java编译和运行。 2. Java注释 Java中的注释主要分为三类: 类型 语法 用途 单行注释 // 注释内容 对代码进行简短说明,编译时忽略 多行注释 /* 注释内容 */ 可跨行,用于较长的解释或临 ...

Java 中的 实现、泛型

博主头像 实现  是类对接口行为规范的 "兑现",核心作用是弥补单继承不足、定义行为标准,是接口多态的基础;泛型 参数化类型,编译时检查类型安全,消除强制转换,核心是类型参数(T/E 等),实现代码复用。 ...

Java学习笔记:开发初体验:HelloWorld

博主头像 一般初学者开发第一个Java程序,我们习惯称之为:HelloWorld。 1. Java程序的开发步骤 Java程序开发一般分为三步:编写、编译、运行。 将Java代码编写到以.java结尾的源文件中。 通过javac.exe命令对源文件(.java)进行编译,编译后在当前源文件所在目录会自动生成一 ...

Spring Boot 4.0.5 正式发布,又一项技术被弃用了。。

博主头像 大家好,我是R哥。 一周时间,Spring Boot 连发两个版本: 这版本速度也太快了吧,跟不上了,不过好在都是小版本更新,主要是一些 bug 修复和依赖升级,没什么大问题。 本次更新要点 Spring Boot 4.0.5 版本主要包含 17 个漏洞修复、文档改进和依赖升级,重点说说 Sprin ...

Netty 高性能网络编程:从零构建高并发服务器

博主头像 前言 Netty 是一个高性能、异步事件驱动的网络应用框架,广泛应用于 RPC、消息队列、游戏服务器等高并发场景。本文从零开始,带你掌握 Netty 的核心概念和实战技巧。 一、为什么选择 Netty? 传统 Java NIO 的痛点:API 复杂,学习曲线陡峭;需要手动管理 Selector、Ch ...

算法~时间戳计算两个日期是否为同天同时同分

博主头像 UTC时间戳验证两个日期是否为同一天的核心原理在于:时间戳是绝对的时间点,而“天”是依赖于特定时区(如UTC)的人为划分区间。通过将两个绝对时间点转换到同一时区后,比较它们的年、月、日是否完全相同。 具体原理可分以下几步理解: 1. 时间戳的本质 Unix时间戳(通常指秒数或毫秒数)是从 1970- ...

Mysql的行级锁到底是怎么加的?

博主头像 开篇结论 加锁的对象是索引,加锁的基本单位是 next-key lock,它是由记录锁和间隙锁组合而成的,next-key lock 是左开右闭区间,而间隙锁是左开右开区间。 在只使用记录锁或者间隙锁就能避免幻读现象的场景下, next-key lock 就会退化成记录锁或间隙锁。 假设这个表,id ...

Java线程池完全指南:从原理到实战的7个关键点

博主头像 前言 线程池是Java并发编程的核心组件,也是面试必考题。本文从原理到实战,带你全面掌握线程池的7个关键点。 一、为什么需要线程池? 每次创建线程都有开销: 线程创建需要调用系统API,开销大 线程销毁也需要开销 大量线程会消耗内存 线程池解决问题: 线程复用,减少创建销毁开销 控制最大并发数 提供 ...

Redis缓存实战:彻底解决缓存穿透、击穿、雪崩三大难题

博主头像 前言 Redis缓存是Java开发中最常用的技术之一,但缓存穿透、击穿、雪崩三大问题也是面试高频考题。本文结合实战代码,带你彻底搞懂这三大难题。 一、缓存穿透 问题描述 查询一个数据库和缓存中都不存在的key,每次请求都打到数据库,大量请求可能拖垃数据库。 解决方案 1. 缓存空对象 @Servic ...

<1···345···37>