- 博客(1181)
- 收藏
- 关注
原创 06-Java语言核心-JVM原理-JVM内存区域详解
Java虚拟机(JVM)在执行Java程序时,会将其管理的内存划分为若干个不同的数据区域。这些区域有各自的用途、创建时间和销毁时间。理解JVM内存区域是掌握Java性能优化、排查内存问题的基础。区域作用线程异常类型程序计数器字节码行号私有无虚拟机栈方法调用栈私有本地方法栈Native方法私有Java堆对象存储共享方法区类信息、常量共享直接内存NIO缓冲共享。
2026-03-29 13:27:24
71
原创 一个推荐系统是如何“长大”的(工程演进)
真实系统中几乎都会采用:先做向量归一化 → 再用点积检索点积检索可以被高度优化,速度极快这就是推荐系统里一个非常经典的小技巧:Cosine 相似度(理论) = Normalized 向量 + 点积(工程实现)Cosine 相似度 → 找“像不像” 向量长度 → 衡量“有多重要”这就是向量在推荐系统里的完整信息。现在你已经拥有了一个:毫秒级语义搜索引擎用户向量 ≠ 点击平均值 用户向量 = 行为强度 × 时间权重 × 内容向量从这一刻起,推荐系统真正开始“理解用户”。
2026-03-29 13:25:40
96
原创 Java 面试题及答案整理(2026年最新版)
本文总结了Java面试中的核心知识点,涵盖基础语法、集合框架、多线程、数据库优化及Spring框架等。重点内容包括:面向对象三大特性、集合类区别、HashMap实现原理、MySQL索引优化、Spring AOP/IOC原理等。还详细分析了动态代理的选择策略,比较了Cglib和JDK动态代理的优缺点。文章最后提供了全套Java面试笔记的获取方式,包含SpringBoot、微服务、分布式等进阶内容,适合
2026-03-29 13:24:15
243
原创 AI智能应用开发(Java)从起点到终点-面向对象
就像我们之前用的Scanner 和Random 都是java里面已经写好的对象,直接拿来用就好了,不用再自己写一大串代码来实现键盘录入和随机数的需求,但是有些需求是java中没有定义和写好的,,但实际开发中常遇到需要重复实现的特定功能。这个时候对象就派上用场了,我们可以把这些需求自定义对象,自定义对象可以封装这些功能,提升代码复用性和可维护性。封装重复逻辑将频繁使用的代码逻辑(如数据验证、特定计算)封装为独立对象,避免代码冗余。简化调用通过定义清晰的方法名和属性,调用时只需关注输入输出,隐藏内部实现细节。
2026-03-27 13:39:50
298
原创 JVM 运行时数据区详解
项目JDK 6 及以前JDK 7JDK 8+方法区实现永久代(PermGen)永久代,但逐步移除元空间(Metaspace)方法区位置JVM 堆内JVM 堆内本地内存字符串常量池位置永久代堆堆静态变量位置永久代堆堆text。
2026-03-27 13:38:23
309
原创 2026年Java最新面试题,附详解答案
本文总结了Java开发相关的核心面试知识点,主要包括三大模块:Java基础、框架技术和数据库。Java基础部分涵盖了面向对象特性、集合框架、多线程、IO等核心概念;框架技术部分解析了Spring AOP/IOC、MyBatis、SpringBoot等主流框架的关键问题;数据库部分重点介绍了MySQL的事务特性、优化技巧和存储引擎对比。文章采用问答形式组织内容,每个问题都给出了简明扼要的解答,并标注了重点概念,如HashMap的扩容机制、Spring动态代理选择策略等。最后还提供了完整面试笔记的获取方式,内容
2026-03-27 13:35:55
493
原创 Python 实现 Word 文档图片插入与排版技巧
本文详细介绍了使用 Python 在 Word 文档中插入和处理图片的完整方法,涵盖了从基础插入到高级处理的各个方面。以编程方式插入和调整图片尺寸精确控制图片在页面上的位置设置不同的文字环绕方式实现专业排版应用透明色等特殊效果批量处理图片插入任务这些技能特别适用于需要批量生成产品目录、自动化报告系统或文档模板开发的场景。结合 Python 的数据处理能力,可以构建强大的文档自动化系统,将繁琐的手动图片处理工作转化为高效的可重复使用的自动化流程。
2026-03-26 14:17:00
333
原创 开源项目文档架构设计:Git Submodule 实现文档与代码的优雅分离
在开源项目的维护过程中,你是否遇到过这样的困扰:文档更新频繁触发主项目的 CI/CD 流程?文档部署配置与代码构建配置相互干扰?文档版本与代码版本难以同步?使用 Git Submodule 将文档独立为单独仓库,实现文档的独立部署和版本管理,同时保持与主项目的关联。方案独立部署版本关联CI/CD 独立维护成本推荐度文档在主仓库❌✅❌低⭐⭐文档单独仓库✅❌✅低⭐⭐⭐Submodule✅✅✅中⭐⭐⭐⭐⭐。
2026-03-26 14:16:11
322
原创 Java常见面试题及答案汇总(2026最新版)
本文摘要:Java核心技术面试要点包括异常体系(Throwable、Error、Exception)、集合框架(List/Set/Map)、多线程(创建方式、synchronized/Lock)、JVM(内存模型、GC原理)等核心内容。Spring框架重点涵盖IoC容器、AOP实现和事务管理原理。数据库方面解析JDBC操作、MyBatis缓存机制及设计模式实现。性能优化建议从代码、JVM、数据库和架构四个层面入手,如合理使用集合、字符串处理、GC调优和缓存策略等。全文系统梳理Java开发核心知识点,提供完整
2026-03-26 14:15:00
805
原创 吃透 Spring Boot 3 + Spring Cloud 云原生新特性
Spring Cloud 2024.0.x(代号Leyton)是适配Spring Boot 3.4.x的最新稳定版本,完成了全组件的Jakarta EE迁移,针对云原生微服务场景进行了多项能力升级,重构了核心组件的架构,适配Kubernetes生态,提升了微服务的弹性、可观测性与开发效率。虚拟线程是JDK 19引入的预览特性,在JDK 21正式发布,Spring Boot 3.2+版本提供了全自动的配置支持,无需修改业务代码,即可享受虚拟线程带来的性能提升。
2026-03-24 14:15:07
383
原创 LongAdder为什么那么快?
中,因为 Cell 是数组形式,在内存中是连续存储的,一个 Cell 为 24 字节(16 字节的对象头和 8 字节的 value),因。并且频繁的 CAS 操作会导致 CPU 缓存行在多核之间无效化,引发“总线风暴”,严重影响所有核的性能。不同的是,它将热点分散,使得竞争的强度下降,但是这也导致了,在计算的过程中,数值并不一致,通过。采用“分段累加”的思路,将大量的线程分布到不同的段上,以空间换时间,分散热点。正是这种大量的自旋,导致。保证了最终的一致性,而在计算的过程中,是弱一致性的。
2026-03-24 14:14:30
343
原创 Java基础部分面试题(2026最新)
本文系统梳理了Java核心面试知识点,包括以下主要内容: Java基础:平台特性、数据类型、自动装箱拆箱、访问修饰符等 面向对象:三大特性、抽象类与接口、重载重写、equals与hashCode 异常处理:异常体系、Error与Exception区别、处理机制及最佳实践 IO流:字节流与字符流区别、BIO/NIO/AIO三种模型对比 反射机制:原理、优缺点及应用场景分析 String相关:不可变性设计、常量池机制、与StringBuilder区别 文章还提供了完整的Java面试笔记获取方式,涵盖Spring
2026-03-24 13:41:11
685
原创 为什么错误返回在工程实践中要优于异常捕获
异常捕获的“简单”,本质是将错误处理的复杂度隐藏在运行时,以隐式跳转、性能开销和资源泄漏为代价;而错误返回的“复杂”,则是将隐式风险显式化,把运行时的不确定性提前至编译期解决。在 AI Coding 日益普及的今天,显式化的错误处理更易被编译器和 AI 工具识别、分析,能进一步提升开发效率和代码可靠性。这也是为什么,错误返回正在成为现代编程语言的主流选择。它或许增加了少量编码成本,但换来的是代码的可维护性、性能和安全性的全面提升,这正是工程实践中最核心的价值追求。
2026-03-23 13:17:55
299
原创 java并发之ThredLocal
ThreadLocal 提供了线程隔离的变量副本,简化并发编程。底层通过实现,key 为弱引用,value 为强引用。使用后必须remove(),尤其是在线程池环境中,以防止内存泄漏和脏数据问题。适用于存储线程上下文、连接对象、非线程安全工具类的实例等。
2026-03-23 13:16:55
344
原创 26年最新Java后端社招场景项目题总结!(附100w字面试题)
本文摘要: 本文系统梳理了高并发系统与分布式架构的核心技术方案。针对百万级QPS秒杀系统,提出Redis预减库存+异步扣减、分布式锁、限流策略等解决方案;在分布式文件存储方面,阐述了分片存储、一致性哈希等技术要点。同时深入探讨了数据库优化策略,包括Elasticsearch深度分页、Redis缓存一致性方案,以及分布式ID生成器对比。在微服务架构部分,详细介绍了限流熔断、分布式事务等关键设计。最后提供了系统调优方法,涵盖FullGC排查、MySQL慢查询优化等实战经验。本文可作为构建高并发分布式系统的技术参
2026-03-23 13:14:51
602
原创 redis的数据类型及java调用案例
Redis通过丰富的数据类型支持多样化应用场景。本文以Java(Jedis)为例展示了各类型的典型用法:String用于缓存/计数器,Hash存储对象,List实现消息队列,Set处理去重,SortedSet构建排行榜,Bitmap记录签到,HyperLogLog统计UV,Geo处理地理位置,Stream实现消息队列。还提供了用户会话管理和商品浏览历史的综合案例,并给出连接池、序列化、管道等最佳实践建议,帮助开发者高效利用Redis特性。
2026-03-22 13:48:01
147
原创 java单机滑动窗口限流器
下面使用 ConcurrentHashMap实现一个,限制在(例如 5 次)。这种方案只依赖本地内存,适合单机限流场景。
2026-03-22 13:46:40
32
原创 Java常见面试题及答案汇总(2026持续更新)
本文整理了Java面试高频知识点,涵盖基础语法、集合框架、多线程、JVM、Spring框架、数据库和分布式系统等核心内容。重点解析了Java三大特性、集合类比较、线程创建方式、JVM内存模型、Spring生命周期等常见问题,并提供了MySQL索引优化、Redis持久化等数据库知识点。文章还介绍了分布式系统的CAP理论和事务解决方案,帮助开发者全面备战Java技术面试。所有内容均配有详细解析和对比表格,适合不同层次的求职者参考使用。
2026-03-22 13:45:39
642
原创 2026年Java最新面试题(全网最全、最细、附答案)
本文主要介绍了Java核心知识点,包括OracleJDK与OpenJDK的区别、高效计算2乘以8的方法、float类型定义的正确方式、Unicode编码特点、final/finally/finalize的区别、this和super关键字的用法、break/continue/return的区别、跳出多重循环的方法、面向对象三大特性(封装、继承、多态)以及集合框架相关内容。还涵盖了IO流分类、BIO/NIO/AIO比较、线程生命周期、线程安全问题和并发编程三要素等并发编程知识。最后讨论了HashMap的实现原理
2026-03-22 13:36:41
42
原创 一文搞懂 MySQL 核心架构:Server 层与存储引擎全拆解
MySQL的核心架构分为Server层和存储引擎层,Server层负责通用的SQL处理逻辑,存储引擎层负责数据的存储与底层特性实现,清晰的分层边界是MySQL具备极强扩展性的核心原因。
2026-03-20 13:36:26
395
原创 写了个 Skill 让 OpenClaw 自动查 AWS 账单,从此告别手动翻控制台
但有个需求它满足不了——我想让它每天自动查一下亚马逊云科技的账单,花超了就提醒我一声。这篇文章就记录一下我从零写一个"AWS 成本监控"Skill 的过程,代码全部可以直接跑。我现在每天早上看到的不光是一堆数字,还有一段"这个月 EC2 比上月多了 30%,建议检查是否有闲置实例"之类的分析。简单来说,你写一个 Markdown 文件,告诉 AI 遇到某类问题该怎么做,它就"学会"了这个能力。Agent 收到用户请求后,先扫描所有 Skill 的描述,看哪个匹配。匹配上了,读正文,照着做。
2026-03-20 13:35:42
298
原创 Java基础面试题汇总(程序员就业)
Java基础面试题摘要 本文汇总了Java基础面试的核心知识点,涵盖以下主要内容: Java特性:面向对象三大特征(封装、继承、多态)及跨平台原理(JVM作用) 核心概念:JVM/JRE/JDK关系、字节码机制、数据类型(基本/包装类)、自动装箱拆箱 面向对象:重载与重写区别、成员/局部变量对比、equals与hashCode关系、接口与抽象类差异 字符串特性:String不可变性原理、StringBuilder/StringBuffer线程安全性 高级特性:泛型类型擦除机制、反射原理及应用场景、注解解析方
2026-03-20 13:28:51
254
原创 Java工程师复健Spring IoC:所有Java开发的第一个面试题
因为 Java 传递的是对象的内存地址,所以 B 当初拿走的那个空壳子,和我后来填满零件的壳子,物理上是同一个东西!它的上层代码全部报错,你必须顺藤摸瓜挨个修改,而且完全是无意义的活儿,同时你还要考虑到是当前IDE发展的很好,在Spring还没出来的那个时候,你这样改个代码,怎么找全都是个问题。开发者的精力应该集中到业务的实现,而不是被这些琐碎的事情绊住,这东西不仅写起来恶心,更致命的是,一旦你在 IDE 里重构代码、挪动了包的位置,如果不小心漏改了 XML,编译期完全不报错,系统一启动直接崩溃。
2026-03-19 13:31:15
377
原创 面试官:谈谈你对 MySQL 执行计划的理解?
是 MySQL 提供的一个非常实用的命令,它能模拟优化器执行 SQL 语句,并返回一个详细的报告。这份报告就像 SQL 的“体检报告”,告诉我们这条 SQL 语句是如何被执行的,它扫描了多少行数据,是否使用了索引,以及查询的关联方式等关键信息。通过解读这份报告,我们就能知道 SQL 是否高效,瓶颈在哪里,从而进行针对性的优化。是一个非常关键的性能指标,它表示 MySQL 为了找到所需的行,大约需要扫描多少行数据。的输出结果包含了多个字段,每个字段都提供了关于查询执行的不同侧面的信息。
2026-03-19 13:30:16
371
原创 Java常见面试题及答案汇总(2026最新版)
本文摘要: 文章系统梳理了Java核心技术要点,涵盖基础语法、集合框架、多线程与并发、JVM原理四大模块。重点解析了Java核心特性(跨平台、OOP)、集合类区别(ArrayList/LinkedList、HashMap/ConcurrentHashMap)、线程创建方式与线程池机制、JVM内存模型与GC算法等高频面试考点。特别对比了JDK不同版本的
2026-03-19 13:28:17
674
原创 Go高性能缓冲IO详解: bufio包深度指南
Scanner支持自定义分割方式,例如按单词分割:示例:还可以使用:甚至可以自定义分割函数,适用于复杂协议解析。bufio是 Go 标准库中用于高性能 IO 操作的重要工具,它通过缓冲机制减少系统调用,从而显著提升读写效率。核心组件包括:Reader:高效读取 Writer:高效写入 Scanner:文本扫描适用场景包括:日志处理 文件读写 网络通信 数据解析在构建日志系统、文件处理工具、爬虫程序、网络服务等项目时,bufio几乎是必备工具。熟练掌握bufio。
2026-03-18 13:32:19
303
原创 从零学习Kafka:副本机制
我们已经知道了数据在写入 Kafka 时,会先把数据写入到 Page Cache,之后再异步刷盘。不知道你有没有注意到一个问题,如果在数据刷盘之前 Broker 断电会发生什么,数据会不会丢失?带着这个问题,我们一起进入今天的主题。我们知道 Kafka 有 Topic 的概念,Topic 下又分成多个分区,而副本则是在分区层级下定义的。一个分区可以有一个或多个副本,每个副本都需要保存相同的消息序列。
2026-03-18 13:31:41
299
原创 Java 集合面试题总结(超详细版)
本文系统总结了Java集合高频面试题,涵盖集合体系结构、核心实现类及常见考点。主要内容包括:1) Java集合分为Collection(单元素)和Map(键值对)两大体系;2) List集合重点解析ArrayList(动态数组)和LinkedList(双向链表)的底层实现与区别;3) Set集合特点及HashSet去重原理;4) HashMap核心考点包括底层结构(数组+链表+红黑树)、扩容机制、线程不安全原因及与Hashtable对比;5) 并发安全的ConcurrentHashMap实现原理;6) 集合
2026-03-18 13:30:50
576
原创 MySQL 8 中大小写敏感与不敏感排序规则的选择
在 MySQL 8 中选择排序规则时,核心原则是根据字段语义进行设计。排序规则不仅影响字符串比较,还会影响索引、模糊查询和唯一约束。技术标识符字段建议使用大小写敏感规则,例如:用户输入文本建议使用大小写不敏感规则,例如:数据库默认排序规则建议使用,并对特殊字段进行单独配置。合理的排序规则设计不仅能避免后期迁移问题,也能提升搜索体验和查询效率。修改字段排序规则新增指定排序规则字段修改表默认排序规则修改数据库默认排序规则。
2026-03-17 13:30:05
228
原创 Webpack file-loader 与 url-loader 深度指南
需要 file-loader 和 url-loader 处理图片、字体等资源。内置 Asset Modules,无需额外 loader。小文件转 base64,大文件用 file-loader。将文件复制到输出目录,返回文件路径。
2026-03-17 13:29:13
38
原创 全网最全Java最新面试题,持续更新
本文摘要: Java线程问题:线程数过多会导致资源消耗、性能下降和稳定性问题;synchronized提供线程同步,Java6后优化了性能;volatile保证可见性和禁止重排序但不保证原子性;ThreadLocal实现线程隔离但需注意内存泄漏。 Spring框架:轻量级IoC容器和AOP支持,简化企业级开发;SpringMVC基于MVC模式实现Web层解耦;事务传播行为和隔离级别提供灵活的事务管理。 MyBatis:半ORM框架,灵活SQL映射,支持动态SQL;一级和二级缓存机制优化性能;#{}和${}参
2026-03-17 13:26:42
43
原创 Java基础面试题汇总,2026年3月持续更新
本文汇总了Java基础面试题的核心知识点,包括: Java基本概念 面向对象三大特征:封装、继承、多态 平台无关性原理:JVM实现"一次编译,到处运行" 数据类型:8种基本类型及其包装类 核心机制 自动装箱拆箱原理 泛型的类型擦除机制 反射的动态获取类信息能力 序列化的应用场景及安全问题 字符串特性 String不可变性的实现原理 StringBuilder与StringBuffer的线程安全性区别 字符串常量池机制 面向对象设计 接口与抽象类的区别 equals与hashCode的重写
2026-03-16 13:30:43
1348
原创 Sync.Map 详解以及源码
是否需要并发安全?├── 否 → 使用普通map └── 是 → 并发程度如何?├── 低 → 普通map + Mutex/RWMutex └── 高 → 操作模式如何?├── 读多写少 → sync.Map ├── 写多读少 → 普通map + RWMutex └── 随机读写 → 按具体性能测试选择sync.Map是一个强大的工具,但不是万能的。理解其原理和适用场景,才能在合适的时机选择合适的解决方案。
2026-03-16 13:22:51
185
原创 Spring Boot自动装配:告别“配置地狱”的智能管家
自动装配不是银弹,而是一个极其聪明的"默认配置生成器它的目标是消除样板代码,让你聚焦业务逻辑。如何恰当使用?拥抱约定: 对于通用需求(数据源、Web MVC、缓存),放心使用starter,接受它的默认值,用微调。保持控制: 当默认行为不符合业务时,毫不客气地用你自己的@Bean或配置属性覆盖它。框架为你服务,不是你为框架妥协。理解原理: 当出现诡异行为时,用debug=true打开"魔法黑箱"看一看,你会对框架有更深的理解,解决问题也更得心应手。
2026-03-16 13:22:16
343
原创 Java常见面试题及答案汇总(2026最新版)
本文摘要: Java核心知识点全面解析,涵盖基础语法、集合框架、多线程并发、JVM原理、Spring框架及数据库操作。重点内容包括:Java跨平台特性与面向对象思想;ArrayList与LinkedList性能对比;HashMap底层实现与线程安全问题;线程生命周期与synchronized/Lock区别;JVM内存模型与GC算法;Spring IOC/AOP实现原理;MyBatis缓存机制与动态SQL。特别针对面试高频考点进行深入剖析,如volatile关键字作用、双亲委派模型、事务传播行为等。全文系统梳
2026-03-16 13:21:31
82
原创 Java 反射机制
反射(Reflection)是 Java 在运行时动态获取和操作类结构的技术。获知任意对象所属的类构造任意一个类的对象获知任意一个类的成员变量、方法、构造器等信息调用任意一个对象的方法、访问与修改其属性,即使这些成员是private的。
2026-03-15 13:16:58
367
原创 CLI-Anything 全面解析:一行命令,为任意软件生成 Agent 接口
CLI 是人类和 AI Agent 共通的万能接口。天然匹配 LLM— 文本命令就是 LLM 最擅长的输入输出格式,可自由组合成复杂工作流自描述— 一个--help就能让 Agent 自动发现全部功能确定且可靠— 输出稳定一致,Agent 行为可预测轻量通用— 几乎零开销,跨平台运行Claude Code 每天通过 CLI 执行数以千计的真实任务,这本身就是最好的验证。与其让 Agent 学会操作 GUI,不如为软件生成一层结构化的 CLI 接口。CLI 是人类和 Agent 共通的语言。
2026-03-15 13:16:21
965
原创 2026年最全Java面试题,及答案汇总!
本文整理了208道Java面试题,涵盖Java基础、容器、多线程、反射、对象拷贝、JavaWeb、异常、网络、设计模式、Spring/SpringMVC、SpringBoot/SpringCloud、Hibernate、Mybatis、RabbitMQ等核心知识点。题目包括基础概念对比(如JDK/JRE、==/equals)、常用类使用(String、集合类)、多线程安全、设计模式、框架原理等高频面试内容。每部分都精选了典型问题,如HashMap实现原理、线程池状态、Spring事务隔离级别等,帮助Java
2026-03-15 13:14:45
802
原创 spring rocketmq集成
如果需要发送 Java 对象(而非字符串),只需保证对象可序列化:java运行// 自定义消息实体(实现 Serializable) public class OrderMessage implements Serializable { private Long orderId;
2026-03-13 14:16:56
242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅