- 博客(39)
- 资源 (4)
- 收藏
- 关注
原创 Java中的隐形坑:为什么128==128会返回false?
本文揭示了Java中著名的"Integer128陷阱"现象:当比较两个值为128的Integer对象时,使用==会返回false,而比较127时却返回true。这一现象源于Java对Integer类实现的缓存机制——默认缓存-128到127之间的Integer对象,超出此范围则新建对象。文章通过源码分析展示了IntegerCache的实现原理,并指出其他包装类(如Byte、Short等)也存在类似缓存机制。为避免此类问题,作者提出3种解决方案:优先使用equals()方法比较、拆箱为基本
2025-12-27 15:05:28
341
原创 SpringBoot+GrayLog(V7.0):保姆级手把手教你安装与日志采集
Graylog是一个功能强大的安全信息和事件管理(SIEM)解决方案和日志分析平台,可以集中、保护和监控不同来源的机器生成数据。无论是用于网络安全、IT运营还是合规,Graylog都能通过快速搜索、警报和可视化功能为团队提供可操作的见解。Graylog 7.0在资产智能、仪表板交互性、数据管理和人工智能集成方面提供了重大增强。此版本引入了资产事件、Qualys和Tenable Cloud漏洞扫描支持、通过集合进行精细访问控制以及一系列其他增强功能。
2025-12-27 15:00:38
682
原创 SpringBoot中的SpEL:从入门到实战,这篇就够了
SpEL(Spring表达式语言)是Spring框架提供的强大动态求值工具,支持在运行时查询和操作对象。
2025-12-26 13:57:01
622
原创 聊聊 MySQL 那些你曾踩过的“坑”及隐藏的“坑”
本文总结了MySQL查询中的常见"坑",包括索引失效、查询语法误用、数据类型问题和JOIN关联问题。在索引方面,隐式类型转换、模糊查询前缀通配符和过度索引会导致性能下降;查询语法中GROUP BY误用、DISTINCT与ORDER BY冲突以及LIMIT分页效率问题会影响结果准确性;数据类型处理不当如NULL值判断错误和字符串引号缺失会引发异常;JOIN关联缺少条件会导致笛卡尔积。针对每个问题,文章提供了具体的避坑方案,如保持类型一致、合理使用索引、正确使用IS NULL判断等,帮助开发
2025-12-26 09:52:46
500
原创 Spring Boot @ConditionalOnBean 注解:Bean 注册的“条件管家”,这样用才够优雅!
@ConditionalOnBean 是 Spring Boot 中用于条件化创建 Bean 的核心注解。本文通过"游戏机与手柄"的类比,介绍了它的三大核心作用:按需加载 Bean、避免依赖冲突和支持模块化设计。文章详细讲解了基础用法(3步实现数据源依赖)和5个进阶属性:value/type(按类型匹配)、name(按名称匹配)、annotation(按注解匹配)、search(控制搜索范围)和parameterizedContainer(泛型容器匹配)。通过代码示例展示了如何精准控制B
2025-12-25 16:03:31
452
原创 SpringBoot3 + Elasticsearch 实战:30分钟搞定全文搜索功能
Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
2025-12-25 11:46:45
1236
原创 Java 防重放攻击实战:从原理到落地
本文介绍了一套完整的Java防重放攻击解决方案。重放攻击是指攻击者截取合法请求后重复发送,可能导致重复扣款、无效订单等安全问题。防御核心在于时效性、唯一性和防篡改,通过时间戳、随机数(Nonce)和签名机制实现。文章提供了基于Spring Boot的完整代码实现,包含工具类生成Nonce和签名、时间戳验证、Redis缓存管理防止重复请求等核心组件。该方案可直接应用于支付、订单等核心接口,有效防止请求重放攻击,保障系统安全。
2025-12-24 10:12:56
632
原创 Java多线程:CompletableFuture使用详解(超详细)
CompletableFuture 是 Java 8 引入的异步编程工具,通过事件驱动机制简化多线程任务管理,支持链式调用和组合式操作,显著提升程序性能。
2025-12-23 15:51:22
1285
原创 一文吃透Java泛型:从基础到进阶,这些知识点别再混淆了!
摘要:本文系统讲解Java泛型核心知识,从基础概念到进阶用法。首先介绍泛型通过参数化类型提升代码复用性和安全性,避免类型转换错误。重点解析泛型上界(<T extends>)限制类型范围、类型擦除的底层机制以及三种通配符(?、? extends、? super)的使用场景与限制。通过实例代码演示泛型类定义、类型参数约束和通配符应用,帮助开发者深入理解泛型在编译期类型检查与运行时的类型擦除特性。掌握这些知识能有效规避泛型常见陷阱,编写更健壮的泛型代码。
2025-12-22 08:16:35
751
原创 JDK 25 正式发布!8年长期支持+18项重磅升级,Java开发者必看指南
JDK 25重磅发布:Java 30周年LTS版本带来18项关键升级 Oracle正式发布JDK 25,作为长期支持(LTS)版本,提供8年以上维护周期。核心升级包括: 语法简化:基本类型模式匹配终结拆箱地狱,紧凑源文件降低新手门槛 并发革命:结构化并发解决线程泄漏问题,作用域值替代ThreadLocal AI适配:向量API优化AI推理性能,多任务并行支持 安全加固:新增量子安全加密API,PEM编码简化安全设备集成 升级建议:企业级应用和AI开发者优先适配,教学场景受益于语法简化,存量系统可渐进迁移。
2025-12-21 08:00:00
1539
原创 Maven从新手到大神全攻略:一站式掌握项目构建与依赖管理
在Java开发领域,项目构建与依赖管理是核心基础能力,而Maven作为一款强大的自动化构建工具,早已成为Java项目的标配。无论是个人小型项目还是企业级大型应用,Maven都能通过标准化的流程和统一的规范,帮你摆脱繁琐的手动构建、依赖配置工作,大幅提升开发效率。本文将从新手视角出发,循序渐进地讲解Maven的核心知识与实战技巧,带你从入门到精通,真正玩转Maven。
2025-12-20 16:17:09
737
原创 Spring Boot 4 震撼发布!三大王炸特性重构Java开发
时隔3年,Spring Boot 生态迎来里程碑式更新!2025年11月21日,Spring Boot 4.0 正式发布,基于 Spring Framework 7.0 构建,直接瞄准云原生性能巅峰与开发体验革命。更关键的是,3.x 系列即将逐步退出开源支持周期,无论是新建项目还是存量系统迁移,这波升级都躲不开!今天就带大家吃透 Spring Boot 4 的核心升级点、环境要求和避坑指南,让你少走99%的弯路。
2025-12-20 11:07:40
1176
原创 为什么Spring和IDEA都不推荐使用@Autowired
IDEA 对@Autowired字段注入的警告,核心是反对「字段注入」这种方式,而非@Autowired注解本身;@Resource无警告是因为 IDEA 未对其配置相同的检查规则,而非更优。Spring 官方推荐的注入方式是构造器注入(不可变、易测试、依赖清晰),而非字段注入。@Autowired(Spring 专属)和@Resource(JDK 标准)的核心差异是匹配规则,字段注入场景下二者都不推荐使用。
2025-12-19 16:05:22
1148
原创 Java开发必看:BigDecimal避坑指南,告别精度丢失烦恼
BigDecimal是Java.math包下的类,专门用于高精度的十进制数运算。它能精确表示任意精度的小数,从根源上解决了浮点型的精度丢失问题,是金融、电商等领域的“标配”。
2025-12-17 14:44:00
1009
原创 数据表设计:领接表、路径枚举、闭包
本文针对层级代理商订单查询需求,先通俗解释邻接表、路径枚举、闭包表核心概念,再推荐 “邻接表 + 路径枚举” 核心方案及闭包表备选方案,给出具体表结构、查询 SQL 与维护注意事项,帮助平衡表结构简洁性与查询高效性。
2025-12-17 14:31:10
758
原创 5分钟搞定HTTPS!Certbot免费SSL证书配置全指南
本文介绍免费 SSL 工具 Certbot,适配主流服务器,可自动申请、安装和续期 Let's Encrypt 证书。先说明工具优势与准备工作,再分步讲解 Ubuntu 系统下 Certbot 安装、证书配置、生效验证及自动续期流程,附常见问题解决方案,助力新手快速搞定 HTTPS。
2025-12-14 10:01:08
671
原创 Linux系统安装Nginx超详细教程!新手也能一步到位
本文提供了Linux系统安装Nginx的详细教程,涵盖CentOS和Ubuntu两种主流系统。教程介绍了两种安装方式:通过系统包管理器(yum/apt)的简单安装方法和源码编译安装方法,后者适合需要自定义配置的用户。文章详细说明了安装前的准备工作、具体安装步骤、Nginx的基本操作命令(启动/停止/重启)、验证安装成功的方法以及核心配置文件的位置。同时提供了常见问题的排查建议,帮助新手用户顺利安装并运行Nginx服务。无论是运维新手还是有进阶需求的用户,都能从这份教程中获得实用指导。
2025-12-14 09:57:27
964
原创 一文吃透 Tomcat 与 Undertow:Java 后端容器该怎么选?
在 Java Web 开发中,Servlet 容器是应用部署的核心载体,而 Tomcat 和 Undertow 作为当下主流的两款容器,常常成为开发者选型时的 “纠结点”。一个是老牌 “常青树”,生态完善、使用广泛;一个是新生代 “性能猛将”,轻量高效、响应迅速。今天就从性能、功能、适用场景等维度,全方位拆解二者的差异,帮你找到最适配项目的容器。
2025-12-09 09:37:13
712
原创 阿里中间件Canal配置详解
本文介绍了基于MySQL数据库binlog日志的增量数据同步方案Canal的实现步骤。主要内容包括:1)检查并开启MySQL的binlog功能;2)配置MySQL的binlog相关参数;3)创建Canal专用账号并授权;4)下载配置Canal服务端,包括端口设置、数据库连接信息等;5)最后提及启动Canal时可能遇到的问题。文章详细说明了从MySQL配置到Canal部署的完整流程,实现无侵入式的数据变更捕获与分析。
2025-09-06 17:01:15
1176
原创 JAVA方法执行耗时分析工具:Arthas(阿尔萨斯)
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
2024-03-02 09:56:51
2733
原创 这才是企业级的 oss-spring-boot-starter,真心牛x!
本文主要讲解企业级 OSS 对象存储服务 Spring Boot Starter 制作,开箱即用,为项目进行赋能。基于 AmazonS3 协议,适配市面上的对象存储服务如:阿里云 OSS、腾讯 COS、七牛云 OSS、MInio 等等。
2023-05-04 16:18:32
416
原创 Linux/Centos 安装Redis遇到问题及解决
Reids :redis-3.2.5.tar1、进入redis-3.2.5.tar所在目录,例如:/var/user/redis#cd /var/user/redis#tar -xvf redis-3.2.5.tar#cd redis-3.2.52、redis配置文件#vi redis.conf 3、安装redis#make1、错误/bin/sh: cc
2017-11-17 11:52:22
646
原创 腾讯微博开放平台API相关经验--部署到服务器返回值为乱码问题
腾讯微博开放平台API在eclipse里运行时返回中文值正常显示,如果将程序部署到Tomcat后,程序在返回中文后会出现乱码问题。解决方法如下:找到QHttpClient.java类 public String httpGet(String url, String queryString) throws Exception { StringBuilder respon
2012-11-13 15:43:55
948
Flex 使用 Cairngorm 框架与java进行数据交互
2013-09-24
中国省市区名称列表
2013-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1