自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (8)
  • 收藏
  • 关注

原创 Java并发原生工具:线程池 (Thread Pool)

Java线程池通过复用线程、控制并发数及统一任务调度优化性能与资源管理,避免频繁创建/销毁线程的开销。核心类ThreadPoolExecutor支持自定义参数(如核心/最大线程数、有界队列及拒绝策略),而JDK 21引入虚拟线程后,I/O密集型任务推荐使用newVirtualThreadPerTaskExecutor()实现百万级轻量并发,CPU密集型任务仍需传统线程池精细调优。生产环境需避免无界队列导致的OOM风险,并合理设置线程数(CPU密集型≈核数,I/O密集型结合等待时间计算)。

2026-02-05 07:45:00 753

原创 Java并发原生工具:异步编程工具 (CompletableFuture)

CompletableFuture是Java 8引入的异步编程工具,支持链式回调、并行聚合和异常处理,适用于高并发场景。

2026-02-05 07:30:00 288

原创 Java并发原生工具:同步工具(CountDownLatch和CyclicBarrier)

CountDownLatch:一次性倒计时器,主线程等待N个子任务完成(如服务启动协调)CyclicBarrier:可循环使用的栅栏,N个线程相互等待后集体放行(适合多阶段并行计算)Semaphore:信号量控制资源并发访问数(适用于限流、连接池场景)

2026-02-04 07:45:00 1791

原创 Java并发原生工具:并发容器

Java并发容器(如ConcurrentHashMap、ConcurrentLinkedQueue)通过细粒度锁或无锁算法(CAS)实现高并发安全访问,优于传统同步集合(如Hashtable)。

2026-02-04 07:30:00 585

原创 Qwen Code + OpenSpec 实战指南:AI 驱动开发的从安装到落地

想让AI成为开发“神队友”?本文手把手带你玩转两大AI编程利器——Qwen Code与OpenSpec!从环境搭建(Node.js/Qwen Code/OpenSpec安装配置)、Agent Skill激活,到OpenSpec“提案→审核→实施→归档”的规范驱动流程,再到用Qwen Code落地“业务场景Agent注册中心”等真实变更案例,覆盖从工具部署到AI编码落地的全流程。无需复杂学习,跟着做就能让AI帮你写代码、修Bug、管规范,效率直接拉满!AI驱动开发,从这里开始→

2026-01-22 17:45:07 1696

原创 一个AI编码的项目规范约束(project规范)

一个AI编码:项目规范约束(project规范),可参考用于openspec或者通义灵码等AI 编码工具的project rule

2026-01-22 17:36:41 721

原创 Java并发原生工具:原子类 (Atomic Classes)

java.util.concurrent.atomic包提供无锁、高性能的线程安全工具,基于 CAS (Compare-And-Swap)​ 与 VarHandle(JDK 9+)实现,避免 synchronized阻塞开销,适用于单变量原子更新。

2026-01-19 21:19:41 693

原创 Java并发基石:线程生命周期与状态

Java 线程生命周期包含 6 种标准状态(java.lang.Thread.State):NEW → RUNNABLE →(BLOCKED / WAITING / TIMED_WAITING)→ TERMINATED。

2026-01-18 10:39:23 688

原创 Java 并发基石:Java 内存模型(JMM)

JMM 是一套规范/抽象模型,定义了多线程下共享变量的访问规则,屏蔽底层硬件差异,确保程序在不同平台有一致的内存可见性与执行顺序。

2026-01-17 11:44:54 549

原创 【原文翻译搬运】Effective harnesses for long-running agents

通过“总分模式”(初始化智能体做全局规划 + 编码智能体做增量执行)和动态维护的“待办清单”(功能列表 + 进度记录),解决长期运行智能体的三大核心问题

2026-01-12 12:22:59 1636

原创 Java 并发基石:可见性、原子性与有序性

在现代计算机体系中,CPU、内存与 I/O 设备之间的速度差异催生了多级缓存、线程调度和编译优化等技术,但这些优化也引发了 Java 并发编程中的三大核心问题:可见性、原子性 和 有序性。

2026-01-06 20:49:23 831

原创 【Spring AI 开发指南】ChatClient 基础、原理与实战案例

ChatClient是 Spring AI 与大语言模型交互的统一入口,通过流式 DSL 设计,兼顾简洁性与扩展性,支持多模型、可观测性、模板、历史上下文、结构化输出等高级特性,适用于从简单问答到复杂 Agent 系统的各类场景。

2026-01-01 00:25:50 710

原创 【原文翻译搬运】Code execution with MCP: Building more efficient agents

大多数MCP客户端会直接将所有工具定义预先加载到上下文中,使用直接工具调用语法向模型公开这些定义。工具描述占据了大量的上下文窗口空间,增加了响应时间和成本。在Agent连接到数千种工具的情况下,它们在读取请求之前需要处理数十万个token。MCP为Agent连接许多工具和系统提供了基础协议。然而,一旦连接了太多服务器,工具定义和结果可能会消耗过多的token,降低Agent效率。尽管这里的许多问题感觉新颖——上下文管理、工具组合、状态持久性——但它们都有来自软件工程的已知解决方案。

2025-12-18 21:12:10 1138

原创 【原文翻译搬运】Equipping agents for the real world with Agent Skills

Anthropic提出Agent Skills智能体技能体系,通过模块化方式为AI智能体赋予专业能力。该体系包含三个层级:基础元数据、核心内容和扩展文件,采用渐进式披露设计让智能体按需加载信息。技能可包含指令、脚本和代码工具,使通用智能体转化为专业助手。开发时建议从评估入手,逐步构建并优化技能结构,同时需注意安全风险。目前该体系已支持多个平台,未来将拓展技能生命周期管理和自主学习能力。实现方案包括直接由大模型判断或结合RAG检索两种方式,适用于不同规模的技能库场景。

2025-12-11 23:42:07 1138

原创 Spring Boot 2.x => 3.x 升级指南

升级前务必全面测试,特别是涉及序列化/反序列化的组件(Jackson/Druid等)。

2025-12-10 20:42:47 515 1

原创 Java Development Kit 版本特性演进(持续更新中......)

本文系统梳理了从 JDK 8 到 JDK 25 的 Java 平台关键演进历程,重点介绍了各版本引入的核心特性与改进。内容涵盖 Lambda 表达式、Stream API、模块化系统(JPMS)、局部变量类型推断(var)、HTTP Client、文本块、记录类(Record)、密封类(Sealed Classes)、模式匹配、虚拟线程、结构化并发、向量 API、ZGC 垃圾回收器等重大语言与运行时增强。文档特别标注了 LTS(长期支持)版本(8、11、17、21、25),并说明预览特性的使用方式。

2025-11-26 00:30:23 686

原创 LeetCode:两两交换链表中的节点

LeetCode两两交换链表中节点

2025-02-19 02:39:40 459

原创 LeetCode:字母异位词分组

字母异位词分组的两种解法

2024-06-09 17:32:17 671 1

原创 Java并发编程:线程生命周期

本文深入探讨了 Java 线程的生命周期,涵盖了线程的六种状态:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING 和 TERMINATED,并详细解析了状态之间的转换过程。文章通过清晰的图示和代码示例,帮助读者理解线程在不同状态下的行为,并探讨了 interrupt() 和 stop() 方法的区别,为 Java 并发编程提供了宝贵的参考。

2024-06-09 17:27:13 1164

原创 LeetCode:移动零

本文讲解LeetCode移动零题目的两种解法。

2024-06-04 23:13:04 497

原创 Java并发编程:如何正确使用 volatile、synchronized 和 final 关键字

本文介绍了 Java 中的 volatile、synchronized 和 final 三个关键字的作用、原理以及使用场景。volatile 关键字可以保证可见性和有序性,synchronized 关键字可以保证可见性和有序性,同时还可以保证原子性,final 关键字可以保证变量的不可变。在实际开发中,需要根据具体的需求选择合适的关键字来保证程序的正确性和性能。

2024-06-04 23:07:27 1215

原创 LeetCode:反转链表I

本文提供LeetCode反转链表I的解法

2024-06-03 22:12:18 867

原创 LeetCode:环形链表II

本文提供LeetCode环形链表II的两种解法

2024-06-03 22:08:42 1046

原创 LeetCode:爬楼梯

本文讲解了LeetCode爬楼梯问题的解法。

2024-05-18 21:10:45 354

原创 LeetCode:柱状图中最大的矩形

本文讲解了LeetCode中柱状图中最大的矩形问题的两种解法。

2024-05-18 21:06:59 1202

原创 AI大模型系列:编写高质量提示(prompt)的实践技巧

本文通过分析AI大模型的提示工程,从需求分析、背景澄清、人设构建、OKR设定到复盘等多个维度,提供了与AI有效交互的实用策略。通过这一系列策略,我们不仅能提升与AI交流的效率,还能确保需求被准确理解与满足,让智能工具发挥其最大潜能。

2024-05-09 07:15:00 2569

原创 LeetCode:环形链表I

本文讲解了环形链表问题的两种解法。

2024-05-09 00:18:13 668

原创 LeetCode:滑动窗口最大值

本文讲解滑动窗口最大值问题的解法。

2024-05-06 10:08:03 1336 2

原创 LeetCode:两数之和

本文详细讲解了两数之和问题的两种解法。

2024-05-05 16:34:08 556

原创 LeetCode:三数之和

本文详解讲解了三数之和问题的三种解法。

2024-05-05 16:28:49 1384

原创 AI大模型系列:编写高质量提示(prompt)的小技巧

要让这些AI大模型真正发挥其潜力,关键在于如何设计出有效的提示(prompt)。本文旨在介绍其基本概念、原理和流程,并通过大量实例展示如何制作出高质量、高效的提示。让我们一起解锁人工智能的无限潜力,让科技更好地服务于人类。

2024-05-04 08:00:00 3039

原创 LeetCode:盛最多水的容器

给你n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i, ai) 。在坐标内画 n 条垂直线,垂直线i的两个端点分别为(i, ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。

2024-05-04 08:00:00 505 1

原创 TIPS:Java各类日期和时间转换(Date转LocalDateTime),看这一篇就够了

在Java开发中,日期和时间的处理随着JDK的迭代发展经历了几个阶段,从最初的java.util.Date和java.util.Calendar到Java 8(java.time包下的类)引入全新的日期时间API。

2024-05-02 08:00:00 1230

原创 TIPS:MySQL按给定时间间隔分组统计

MySQL按给定时间间隔分组统计......

2024-05-01 08:00:00 1491 2

原创 AI大模型系列:AI魔法师,提示工程的力量

本文深入探讨了提示工程的概念、本质、使用技巧,以及提示与提示工程之间的关系。

2024-05-01 01:24:32 1205

原创 AI大模型系列:自然语言处理,从规则到统计的演变

自然语言处理(Natural Language Processing,NLP)是人工智能的一个重要分支,主要研究如何让计算机理解、解释和生成人类语言。从自然语言处理的字面上来看,最重要的是“语言”二字,语言则是通过语法规则将一个个毫无联系的文字、数字和字母串联起来的。文字的出现是因为咱们祖先为了记录所见所闻和所思所想(),咱们的祖先再将文字、字母和数字进行信道编码就成为了我们日常使用的语言。

2024-04-27 19:38:30 1386 2

原创 布隆过滤器:原理、应用与误判容忍特性解析

布隆过滤器(Bloom Filter)这一高效数据结构的设计原理、应用价值及其在处理大规模数据查询时展现的独特优势。文章首先概述了布隆过滤器的基本构造,即通过多个独立哈希函数将元素映射到一个固定长度的位数组上,以“位集”形式表示元素集合。其核心理念在于利用概率性数据结构特性,牺牲绝对精确性换取存储和查询效率。

2024-04-12 12:59:13 1440

原创 AI大模型系列:文明基石,文字与数字的起源与演变

文字起源于人类需要记录更多信息的需求,而数字起源于人类需要计数财产的需求。文字经历了从图画到象形文字再到楔形文字的发展,而数字则经历了从计数符号到阿拉伯数字的发展。文章指出,文字和数字都是人类记录信息的重要工具,而其发展过程也体现了人类文明的进步。

2024-04-05 21:43:52 1589

原创 考古:IT架构演进之IOE架构

IOE架构由IBM小型机、Oracle数据库和EMC存储系统三大支柱构成,适用于金融、电信等关键业务领域。然而,IOE架构在扩展性和成本方面存在局限性。文章详细阐述了IOE架构的高可用实现机制,包括硬件冗余、数据库集群、存储冗余和集群技术等。同时,文章分析了“去IOE”运动的背景和意义,指出了IOE架构在互联网时代面临的挑战。最后,文章提供了进一步优化文章的建议,包括增加示例、展望IOE架构的发展方向等。

2024-04-05 15:51:25 2533

原创 Redis Scan指令解析与使用示例

scan指令相比于keys指令,采用分步遍历,不会阻塞线程,并提供了limit参数限制每次遍历的字典槽位数量。它采用高位进位加法进行遍历,以防止字典扩容缩容时重复遍历或遗漏key。尽管scan返回结果可能重复,遍历过程中数据改动可能导致漏掉key,但它是遍历大规模key列表的更好选择。

2024-03-30 07:00:00 731

Sublime Text for Mac v4.0(4166) 中文版 代码编辑器

Sublime Text mac中文版,一款代码编辑器,也是HTML和散文先进的文本编辑器。Sublime Text 3 for Mac是由程序员JonSkinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。 Sublime Text是用于代码,html和散文的高级跨平台文本编辑器。为C,C ++,C#,CSS,D,Erlang,HTML,Groovy,Haskell,HTML,Java,JavaScript,LaTeX,Lisp,Lua,Markdown,MATLAB,OCaml,Perl,PHP,Python等语言提供语法高亮显示,R,Ruby,SQL,TCL,Textile和XML.

2024-06-23

论文:HBase: A NoSQL database

HBase 是一个开源的、非关系型的(NoSQL)分布式数据库,它是Apache软件基金会的一个项目,设计用来提供对大量数据的高可靠性和高性能的随机实时读/写访问。HBase基于Google的Bigtable模型构建,并运行在Hadoop生态系统之上,利用Hadoop的文件存储系统HDFS(Hadoop Distributed File System)来存储数据。 HBase特别适合于那些需要随机访问和更新大数据集的应用场景。它通过提供一个类似于Google Bigtable的分布式列式存储系统,使得用户能够通过简单的扩展来处理大量的数据。 HBase通常用于处理大量的非结构化或半结构化数据,适用于实时查询、日志处理、文档存储和其他需要高吞吐量和低延迟的应用场景。

2024-06-23

分布式论文:CAP Twelve Years Later: How the ‘Rules’ Have Changed

"CAP Twelve Years Later: How the 'Rules' Have Changed" 是一篇论文,由分布式系统领域的知名学者、CAP定理的提出者Eric Brewer撰写。这篇论文发表于2012年,即Brewer提出CAP定理的12年后。在这篇论文中,Brewer回顾了CAP定理的发展,并讨论了它在分布式系统设计和实践中的影响。 CAP定理指出,一个分布式计算系统不能同时提供以下三个保证: 1. 一致性(Consistency):每次读取都能获得最新的写入数据。 2. 可用性(Availability):每个请求都能得到一个响应(非错误)。 3. 分区容忍性(Partition tolerance):系统在网络分区的情况下仍然能够继续运行。 根据CAP定理,当发生网络分区时,系统设计者必须在一致性和可用性之间做出选择。然而,在实际应用中,系统设计者往往需要在这三个特性之间做出更细粒度的权衡。

2024-06-23

分布式论文:Virtual Time and Global States of Distributed Systems

《Virtual Time and Global States of Distributed Systems》,它涉及到分布式系统对事件排序的能力,以及在缺乏所有节点都能同意的统一时钟的情况下,实现一致的全局状态。在分布式系统中,不同节点上的物理时钟可能会因为时钟偏移和漂移而出现分歧,这使得依赖它们进行全局事件排序变得不可能。 虚拟时间是一种概念,它提供了一种在不依赖物理时钟的情况下对分布式系统中的事件进行排序的方法。它通常使用逻辑时钟来实现,如向量时钟或Lamport时间戳,这些算法为系统中的每个事件分配一个时间戳。这些时间戳可以用来建立事件的部分排序,这种排序与“发生在前”关系一致。 全局状态指的是整个分布式系统在特定时间点的状态。实现全局状态需要系统中的所有节点就事件排序和共享数据的值达成一致。这在分布式系统中可能是具有挑战性的,因为节点可能会并发地更新数据,并且可能不会立即知道彼此的更新。 虚拟时间和全局状态的概念对于确保分布式系统的正确性和可靠性非常重要,特别是在容错和一致性的背景下。

2024-06-23

Infuse Pro for Mac v7.8

Infuse Pro mac版,是一款独步江湖的视频播放器,能吞下您的所有视频文件。 – Infuse将您从繁杂的视频转换中解救出来,让您在iPhone、iPad、Apple TV以及Mac上欣赏几乎所有视频格式,美轮美奂。 Infuse已适配macOS 12,更添强大的在线视频,Trakt同步,AirPlay以及字幕功能,让您畅享无阻。 支持的格式多得让您眼花缭乱。 – 视频:3GP、AVI、ASF、BDMV、DIVX、DVDMEDIA、DVR-MS、FLV、ISO、M4V、MKV、MOV、MP4、M2TS、MTS、OGM、OGV、TP、TS、VIDEO_TS、WEBM、WMV、WTV – 音频:AAC、AC3/E-AC3、DOLBY TRUEHD、DTS、DTS-HD MA、FLAC、MP3、OGG、PCM、WMA – 字幕:DVB、DVDSUB、MICRODVD、MPL2、PGS、SMI、SSA/ASS、SRT、SUB、TIMED TEXT、TMP、TXT、VOBSUB、VTT、XSUB 无论是老电影还是热门剧集,无论是高清还是标清,Infuse都能为您呈现最完美的画面和音质。

2024-06-22

Time, Clocks, and the Ordering of Events in a Distributed System

"Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services" 指的是分布式系统设计和理解中的一个关键概念,即CAP定理。该定理由计算机科学家埃里克·布尔(Eric Brewer)在2000年提出,它表明一个分布式计算机系统不能同时保证以下三个属性: 1. 一致性:每次读取操作都能获得最新的写入数据或者一个错误。 2. 可用性:每个请求都能获得一个(非错误)响应,但不保证包含最新的写入数据。 3. 分区容忍性:系统在网络节点间任意数量的消息丢失(或延迟)的情况下仍然能够继续运行。 这个猜想后来被证明成为CAP定理,对于分布式系统的设计和评估至关重要,特别是对于必须在不可靠网络上运行的web服务。它表明,在网络分区的情况下(即一些节点无法与其他节点通信),分布式系统必须在一致性和可用性之间做出选择。换句话说,当面临分区时,系统可以选择继续运行(保持可用性),但可能不会返回一致的数据,或者它可以确保所有节点看到一致的数据,但可能会对一些参与者变得不可用。

2024-06-22

Nexus(Maven仓库私服)

Nexus 是Maven仓库管理器,可用于搭建maven私服。在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。

2017-09-11

hibernate框架包_hibernate-distribution-3.6.10.Final-dist

hibernate-distribution-3.6.10.Final-dist

2016-10-26

Eclipse最实用快捷键

Eclipse最实用快捷键

2016-11-07

反编译工具

反编译工具

2017-08-16

struts2框架基本jar包

版本struts-2.3.15.1-all

2016-10-26

struts2框架开发基本jar包

struts2框架

2016-10-26

空空如也

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

TA关注的人

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