- 博客(1077)
- 收藏
- 关注
原创 Java语言核心-JVM原理-垃圾收集详解
垃圾收集(Garbage Collection,GC)是Java自动内存管理的核心机制。JVM会自动回收不再使用的对象占用的内存,开发者无需手动释放内存。理解垃圾收集原理对于性能优化和问题排查至关重要。概念内容存活判定可达性分析算法引用类型强、软、弱、虚四种引用GC算法标记-清除、标记-复制、标记-整理收集器。
2026-03-31 14:16:21
147
原创 JVM - 类加载机制
应用程序都是由前面三种类加载器互相配合进行加载的,如果有必要,我们还可以加入自定义的类加载器。因为 JVM 自带的 ClassLoader 只是懂得从本地文件系统加载标准的 java class 文件,因此如果编写了自己的 ClassLoader,可以实现从特定场所取得 class 文件,如数据库和网络等双亲委派模型是:当类加载器收到需要加载类的请求时,优先寻找父类加载器,而不是自己加载;如果父类加载器无法加载,才尝试自己加载 好处:防止代码覆盖并且可以保护核心类库。比如防止用户自定义一个。
2026-03-31 14:15:38
268
原创 2026最新版Java面试八股文大全
1)就是一种数据结构,目的就是为了快速查找数据。2)对查询频率高(索引就是为了提高查询效率),像where后的字段数据量特别大, 索引不是越多越好,会影响增删的效率,典型的用空间换时间。分组字段可以建立索引,因为分组的前提是排序(覆盖索引)3)频繁更新的字段、查询少的、参与计算的不适合建索引。
2026-03-31 13:52:48
514
原创 Day4 Python的函数和参数机制
最基本的函数结构如下:def定义函数调用时传入对应参数如果参数数量或顺序不匹配,就会报错,这是最常见的问题之一。这篇文章系统讲解了Python函数参数机制,涵盖基础定义、默认参数、可变参数*args和**kwargs的使用与解包技巧,以及回调函数的正确传参方式和应用场景。
2026-03-30 14:08:30
196
原创 Java 使用国密算法实现数据加密传输
本文是的完整示例。方案的逻辑是:前端随机生成一个用加密整个业务 JSON用后端提供的加密这个 SM4 key后端先用解出 SM4 key再用解出业务 JSONHutool 官方文档明确支持,并给出了以及这类用法;同时文档说明国密算法需要引入 Bouncy Castle 依赖。sm-crypto系列前端库也支持。:SM2 原始公钥 Hex,04 + X + Y:Hex:Hex:16 字节字符串C1C3C2。
2026-03-30 14:07:59
294
原创 Java基础部分面试题(2026最新)
本文全面介绍了Java编程的核心知识点,包括基础语法、面向对象特性、异常处理、IO流、反射机制和常用API等关键内容。重点解析了Java平台特性(跨平台性、GC机制)、数据类型(基本类型与包装类区别)、面向对象三大特性(封装、继承、多态)、异常分类(Error/Exception)及处理机制、IO流类型(BIO/NIO/AIO对比)以及反射原理与应用场景。特别对String类的不可变性设计、字符串常量池机制以及与StringBuffer/StringBuilder的区别进行了深入分析,并探讨了在HashMa
2026-03-30 14:05:47
458
原创 Spring项目新姿势:Lambda封装Service调用,告别繁琐注入!
到这里,我们对使用 Lambda 封装统一调用组件在 Spring 项目中的应用就探索得差不多啦🎉!回顾一下,这个组件真的是好处多多。它让我们告别了繁琐的 Service 注入代码,以前在每个 Controller 里重复写@Autowired的日子一去不复返,代码变得简洁又清爽,维护起来轻松不少。而且,统一的日志和异常处理功能也超实用,不仅保证了系统运行的稳定性,还方便我们排查问题,大大提高了开发效率。对于还在被传统 Service 注入方式困扰的小伙伴们,强烈建议你们尝试一下这个方法。
2026-03-29 14:05:05
259
原创 Java语言核心-语法特性-泛型机制详解
泛型(Generics)是Java 5引入的重要特性,它允许在定义类、接口和方法时使用类型参数。泛型的核心目的是提供编译时类型安全检测,消除代码中的强制类型转换,提高代码的可读性和安全性。特性说明泛型类在类声明时定义类型参数泛型接口接口可以定义类型参数泛型方法方法级别定义类型参数类型限定约束类型范围通配符??extends T?super T处理类型不确定情况类型擦除编译时擦除泛型信息,运行时不可用。
2026-03-29 14:03:57
310
原创 Java 2026年面试总结(持续更新)
这篇文章总结了Java开发岗位的面试经验,主要针对3-4年经验的开发者。内容涵盖微服务组件、数据库优化、Spring框架、设计模式、多线程、分布式系统等核心技术点,以及项目经验、团队协作等软技能。文章提供了50多个常见面试问题的参考答案,包括技术原理、应用场景和解决方案,特别强调了项目理解和底层原理的重要性。最后指出当前就业市场对全栈开发者的需求增加,建议开发者拓宽技术广度,同时注意简历优化和行业经验积累。全文既包含具体技术细节,又提供了职业发展建议,适合准备Java面试的开发者参考。
2026-03-29 14:02:42
508
原创 Spring Boot 自动配置原理深度解析
自动配置:Spring Boot 根据项目中的依赖和配置,自动装配所需的 Bean,减少手动配置的工作量。条件注解:根据特定条件决定是否创建 Bean 或加载配置。
2026-03-27 14:14:09
223
原创 Redis 集群模式:核心问题与深度运维指南
状态是ok还是fail?有没有节点负载明显高于其他节点?(查大 Key)主从关系是否符合预期?重点搜索failovertimeoutresync等关键字。
2026-03-27 14:13:37
311
原创 PHP 引入 PHP
必需文件用require:配置文件、核心函数库等 “丢了就不能运行” 的文件,用require或。函数 / 类用*_once:凡是包含函数、类定义的文件,必须用或,避免重复定义错误。永远用__DIR__构建绝对路径:告别相对路径的困扰,保证代码在任何环境下都能正常运行。生产环境隐藏错误:不要把includerequire的错误信息直接暴露给用户,应在php.ini中关闭错误显示,记录到日志文件。
2026-03-27 14:13:05
147
原创 2026最新JAVA面试八股文,万字长文!
本文系统总结了Java开发中的核心知识点,涵盖基础概念、JVM原理、多线程编程、MySQL优化、SpringBoot框架和Redis应用。基础篇详细解析了面向对象特性、集合框架、异常处理等;JVM部分深入讲解了内存模型、垃圾回收机制;多线程章节剖析了线程安全、锁机制等关键问题;MySQL优化提供了索引、事务等实用技巧;SpringBoot介绍了自动配置原理和常用注解;Redis部分总结了数据类型和缓存策略。全文采用问答形式,知识点讲解清晰,示例丰富,适合开发者系统复习和面试准备,为Java技术栈提供了全面指
2026-03-27 13:56:44
577
原创 深度Oracle替换工程实践的技术解读(下篇)
写到这里,我想起之前参与过的一个大型银行的核心系统迁移项目。那个项目可以说是把上面提到的所有问题都经历了一遍:预算紧张、时间紧迫、技术复杂、业务压力巨大。项目启动的时候,整个团队都感到压力山大,甚至有人私下说这简直是不可能完成的任务。但是,这个项目最终还是成功了。回顾整个过程,我觉得有几个关键因素特别重要:第一,团队的韧性。面对各种技术难题和突发状况,团队没有放弃,而是一次次找到解决方案。有时候是技术上的突破,有时候是流程上的优化,有时候甚至是与业务部门的重新协商。第二,工具的支撑。
2026-03-26 14:32:09
315
原创 订单超时取消系统:从数据库轮询到延迟队列演进
技术方案演进:从粗暴轮询到精准触发的必然趋势业务特点匹配:不同业务场景选择不同技术方案性能与可靠性平衡:在性能提升的同时保证业务可靠性坑1:Redis时钟漂移导致超时处理不准确,解决方案:使用Redis TIME命令坑2:消息重复消费导致订单多次取消,解决方案:实现幂等性检查坑3:网络分区时队列不可用,解决方案:多活部署+降级策略。
2026-03-26 14:31:03
302
原创 Java最全八股文速通
本文摘要: Java核心知识 基础类型与包装类区别:8种基本类型与对应包装类在泛型支持、默认值、比较方式、存储空间上的差异 集合框架:ArrayList/LinkedList底层实现,HashMap扩容机制与线程安全问题,ConcurrentHashMap分段锁与CAS优化 JVM内存模型:堆栈结构、GC算法、类加载过程 多线程:线程池参数、锁
2026-03-26 14:30:29
863
原创 Oracle 迁移 TCO 深度拆解:从隐性运维成本陷阱到全栈工具链破局
这篇文章下来,通过拆解 TCO 模型并运用工具链,我们能看出金仓数据库不仅仅供应一种数据库产品,而是给出了一整套全面的风险对冲方案。KDMS解决了“盲目迁移”的恐惧,把工作量量化了。KDTS解决了“数据搬运”的时效问题,把停机窗口缩短了。KFS解决了“一锤子买卖”的风险,给留了一条可逆的逃生通道。KingbaseES 内核解决了“代码重构”的巨额成本,实现了低成本平滑替代。
2026-03-24 14:59:47
330
原创 Java 并发进化史:从踩坑到躺赢
降低门槛:从手动控制线程到JUC工具类,再到CompletableFuture、虚拟线程、结构化并发,抽象层级持续提升,开发者无需关注底层线程细节和生命周期管理,只需聚焦业务逻辑;提升性能:从重量级synchronized到锁升级、CAS无锁机制,再到虚拟线程,持续降低并发性能开销,从“千级并发”突破到“百万级并发”;适配场景:从通用并发到分治任务、异步编程、高并发请求处理、任务结构化管控,不断覆盖更复杂的业务场景。
2026-03-24 14:58:16
361
原创 2026年 Java 面试八股文(10w字)
基本数据类型,如int,float,double,boolean,char,byte,不具备对象的特征,不能调用方法。装箱:将基本类型转换成包装类对象拆箱:将包装类对象转换成基本类型的值java为什么要引入自动装箱和拆箱的功能?主要是用于java集合中,List<Inteter> list=new ArrayList<Integer>();list集合如果要放整数的话,只能放对象,不能放基本类型,因此需要将整数自动装箱成对象。
2026-03-24 14:55:56
824
原创 可重入锁ReentrantLock基础和原理
可重入是指同一个线程如果首次获得这把锁后,因为它是这把锁的主人,可以再次获得这把锁。它是一个显示锁,意味着锁的获取和释放必须由程序员手动编写代码控制。相对的,不可重入是指获得这把锁之后不能再次获得这把锁,自身也会被锁挡住。是唤醒了线程的,但是它被唤醒之后再次去尝试获得锁,导致又调用了。再尝试在给定的时间内获取锁,如果没有获得,将直接进行剩余代码。只是设定了唤醒之后抛出异常,这部分在后面的源码部分再深挖。中存在唯一的一个条件变量,也就是。获得锁时,如果未获得,则会一直。可以设置超时的时间。
2026-03-23 13:49:59
324
原创 JAVA找出哪个类import了不存在的类
在JAVA中一个类A,import 另外的一个类B.然后在容器启动时,只会提示B类不存在,不会出现任何A类相关的信息 Tomcat中错误信息如下,测试代码使用。通过日志分析,感觉上是可以,但是不能确定.所以为了确定,采用 Java Agent 方式分析,当前加载的。构建配置,实现javaagent,需要在MANIFEST.MF文件中配置。在TOMCAT启动时,配置参数,在启动时,注入编写jar。,所有当前pom.xml构建配置信息如下。再次启动后,对应输出内容如下。,而当前环境中却不存在。
2026-03-23 13:49:29
155
原创 2026Java最新面试题总结,持续更新
本文主要介绍了Java集合框架和并发编程的核心知识点。在集合框架方面,详细比较了ArrayList与LinkedList、HashMap与HashTable的区别,分析了HashMap的实现原理及扩容机制,并讲解了HashSet如何检查重复。在并发编程方面,阐述了线程与进程的区别、线程的生命周期状态,解释了synchronized、volatile、CAS
2026-03-23 13:39:57
564
原创 htop安装不了怎么解决
htop包通常在EPEL(Extra Packages for Enterprise Linux)仓库中。这是因为在你的系统中,默认的软件源中没有htop 这个包。在CentOS或RHEL系统中。
2026-03-22 14:05:59
24
原创 redis的数据类型及java调用案例
Redis 的丰富数据类型是它能够适应多种场景的核心原因。下面我会结合的代码示例,为你展示每种类型的典型用法和应用场景。
2026-03-22 14:05:12
231
原创 2026年最全Java面试题,及答案汇总!
这篇Java面试题合集涵盖了Java程序员面试的核心知识点,主要包括: Java基础(JDK/JRE区别、String操作、IO流等) 容器类(HashMap原理、线程安全集合等) 多线程(线程状态、锁机制、线程池等) Java Web(Session/Cookie、安全防护等) 框架技术(Spring/MyBatis原理、事务管理等) 中间件(RabbitMQ消息队列等) 共包含208道高频面试题,从基础到进阶全面覆盖Java技术栈,适合不同级别的Java开发者复习准备面试。内容涉及基础概念、原理实现、使
2026-03-22 14:02:38
940
原创 别再让你的SpringBoot包“虚胖“了!这份瘦身攻略请收好
缩小打包体积是指通过各种优化手段,减少Spring Boot应用最终部署包(通常是JAR文件)的大小。1.1 核心概念原始问题:Spring Boot默认采用"胖JAR"打包方式,将所有依赖(Spring框架、业务代码、嵌入式服务器、第三方库)全部打成一个可执行JAR,体积通常在50MB-200MB之间优化目标:通过分离依赖、精简内容、分层构建等方式,将部署包体积缩小30%-80%1.2 为什么重要部署效率:更小的包意味着更快的上传、下载和部署速度存储成本:减少镜像仓库和服务器存储空间占用。
2026-03-20 13:58:02
186
原创 Shiro总结和常见面试题
本文总结了Java安全框架Shiro的核心概念和常见面试题。主要内容包括:1)Shiro的核心组件Subject、SecurityManager和Realm;2)身份认证流程及策略;3)授权方式和权限控制;4)加密编码和散列算法;5)自定义Realm实现;6)拦截器和JSP标签;7)会话管理;8)常用注解。Shiro提供了完整的认证、授权、加密等功能,相比其他安全框架更简单易用,支持细粒度权限控制,可独立于任何框架运行。文章还提供了面试笔记获取方式,涵盖Java、Spring、数据库等核心技术点。
2026-03-20 13:53:17
548
原创 Spring Boot 3多数据源配置+Druid监控,看这篇就够了
Spring Boot 3 作为 Spring 框架的最新版本,可谓是集众多优势于一身,在简化开发、提高效率方面堪称一绝。它就像一个贴心的助手,遵循 “约定优于配置” 的原则,让开发者可以从繁琐的配置细节中解脱出来,专注于业务逻辑的实现。比如说,以前配置一个 Spring 应用,可能需要在 XML 文件里写一大堆配置代码,现在有了 Spring Boot 3,很多配置都能自动完成,几行代码就能搞定,开发效率直线上升。
2026-03-19 13:45:34
390
原创 Elasticsearch 实战系列(一):从核心基础概念入门到实战落地
Elasticsearch(简称 ES)是一个基于 Apache Lucene 构建的分布式、近实时的搜索与分析引擎,是 Elastic Stack(原 ELK 技术栈,Elasticsearch、Logstash、Kibana)的核心组件。它通过 RESTful API 对外提供服务,以 JSON 格式存储文档数据,能够实现海量数据的快速检索、统计分析,是目前业界最主流的全文检索引擎。
2026-03-19 13:44:50
337
原创 2026年最全Java面试题,及答案汇总!
本文整理了一份全面的Java面试题库,涵盖Java基础、容器、多线程、反射、对象拷贝、JavaWeb、异常处理、网络、设计模式等核心知识点。内容包含208道高频面试题,如JDK与JRE区别、HashMap实现原理、线程安全实现方式、Spring事务隔离级别等,适用于不同级别的Java开发者查漏补缺。题库还包含SpringBoot、MyBatis、RabbitMQ等流行框架的面试问题,帮助求职者系统准备技术面试。完整版面试笔记可通过文末链接免费获取。
2026-03-19 13:43:41
615
原创 ubuntu更换国内阿里镜像源
Ubuntu 默认源是国外地址,不仅可能找不到包,还会导致下载慢。我们将源替换为阿里云 Ubuntu 源(稳定且速度快)
2026-03-18 13:55:28
63
原创 SpringBoot入门实战指南
SpringBoot是一个基于Spring框架的快速开发框架,它通过约定优于配置的方式,简化了Spring应用的初始搭建以及开发过程。
2026-03-18 13:54:12
15
原创 JDK17的语法变化真大,这是Java?
回到文章标题——为什么说JDK17前后的写法,差点让人认不出是Java?JDK8风格// 省略构造器、getter/setter、equals、hashCode、toString... } public class OrderService { public String process(Object data) { if (data instanceof User) { User user = (User) data;} }JDK17风格。
2026-03-18 13:52:52
365
原创 Java岗 面试考点精讲(基础篇)
本文总结了Java核心知识点,包括跨平台原理、基本数据类型、面向对象特性、包装类型、字符串比较、集合框架、文件
2026-03-18 13:52:22
924
原创 从零到精通:OpenClaw完整生命周期指南
江苏省人工智能学会专家马文宁在分析OpenClaw爆火的原因时,提出了一个精准的比喻:“两大海啸的对撞”。第一大海啸:技术海啸——AI智能体的能力跃迁2025年之前,所谓的AI智能体大多停留在“聊天机器人”层面,只能完成简单任务,如查询天气、播放音乐。但2025年下半年开始,随着Claude 3.5、GPT-4o等大模型的发布,模型的推理能力、工具调用能力、多模态理解能力实现了质的飞跃。
2026-03-17 13:52:51
531
原创 MongoDB(44)什么是引用?
在MongoDB中,引用(Reference)是一种在文档之间建立关系的方式。与嵌入式文档不同,引用是通过存储其他集合中文档的标识符来建立关系。这种方式类似于SQL中的外键,适用于需要多个独立集合之间建立关系的场景。
2026-03-17 13:52:13
192
原创 2026年Java面试总结(持续更新)
本文整理了3-4年经验Java开发者常见面试问题及参考答案,涵盖微服务、数据库、Spring框架、设计模式、并发编程等核心技术点。主要内容包括:微服务组件(Nacos/Gateway等)、MQ应用场景、数据库优化(索引/分库分表)、Spring特性(AOP/事务)、设计模式实现、多线程安全、分布式锁原理等高频考点,同时提供SQL优化、Linux命令等实用技能解答。文章还分享了面试准备建议,强调项目经验讲解和技术底层原理的重要性,适合中高级Java开发者系统复习面试知识体系。
2026-03-17 13:51:15
810
原创 Redis 缓存穿透、击穿、雪崩:一次讲清楚
穿透、击穿、雪崩。这三个概念名字很像,但问题和解决方案完全不同。很多候选人搞混了,面试官一听就知道你懂不懂。这篇文章带你一次讲清楚,每个都有图解 + 代码 + 实战方案。问题描述:请求的数据在缓存中不存在,数据库中也不存在,导致每次请求都打到数据库。请求 → 查缓存(miss) → 查数据库(无数据) → 返回空 ↓ 重复请求,每次都查数据库典型场景恶意攻击:用不存在的 ID 批量请求数据被误删:缓存和数据库都没数据业务逻辑错误:查询了不存在的数据问题描述。
2026-03-16 13:44:26
408
原创 Git Commit 规范与相关工具
标题行建议不超过 50 个字符,任何一行不应超过 72 个字符,这是为了避免在终端或 Git 工具中自动换行影响可读性。VSCode 用户可安装此插件,通过表单交互填写 type、scope、subject 等,自动生成规范格式。scope 用于说明 commit 影响的范围,如模块名、功能名、目录名等。,重启后即可在提交时获得交互式提示,自动生成符合规范的 commit message。请根据团队实际使用的 CI 平台确认,或在文档中明确统一使用。时都会自动校验提交信息,不合规范则拒绝提交。
2026-03-16 13:43:55
346
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅