个人向galgame原声带或相关音乐整理及其资源
也是一直以来打算整理一下自己爱听的galgame ost
或者其他galgame相关的音乐,按照专辑的方式进行整理,同时我有的也会扒下来上传
就借助这个机会,好好的搞一下吧
顺序随缘
持续更新
【FLAC+MP3】AIR ORIGINAL
SOUNDTRACK
神尾观铃镇楼
AIR ORIGINAL SOUNDTRACK
通过网盘分享的文件:AIR ORIGINAL SOUNDTRACK.zip
13XeUCWQxV19snaDqzz48uA?pwd=1174 提取码: 1174 解压 10086
【WAV】ゲーム「水葬銀貨のイストリア」Sound
Track/ウグイスカグラ
【WAV】ゲーム「水葬銀貨のイストリア」Sound
Track/ウグイスカグラ
【WAV】ゲーム「水葬銀貨のイストリア」Sound Track/ウグイスカグラ.zip
百度网盘
提取码: 1174
【FLAC】さよならアーリーサマー/やなぎなぎ、麻枝准
img
百度网盘
提取码: 1174...
从JDK8开始各个版本JDK的重要新特性
前言
关注 JDK 新特性中的什么内容
学习 JDK
新特性,最容易遇到的问题就是:版本很多,特性更多,但是看完一长串名称之后,还是不知道它们到底解决了什么问题。
对企业开发来说,真正值得关注的变化,通常会影响下面几件事:
业务代码怎么写:Lambda、Stream、Record、模式匹配。
并发任务怎么组织:CompletableFuture、虚拟线程、ScopedValue。
应用怎么运行:容器资源识别、垃圾收集器、启动与预热优化。
老项目怎么升级:模块封装、默认字符集、API
移除、Agent 与本地访问限制。
所以,这篇文章只介绍重要的新特性和对企业开发影响较大的调整。某些版本只是在继续预览同一项特性,就放到该特性正式发布的版本中说明,不重复列一遍。
资料核对日期:2026 年 10 月 5 日。本文覆盖 JDK 8 至 JDK
27;JDK 27 已于 2026 年 9 月 15 日正式发布。 发布状态以 Oracle
JDK 27 发布说明为依据。
如果没有特殊说明,JVM 实现相关内容针对
HotSpot;示例均为 Java...
详解Java之集合框架 part4—详解Map接口下的集合
Map
Map 接口概述
前面介绍的 List、Set、Queue
都从 Collection
这条线展开,保存的是一个个成员。Map
则单独定义了映射关系:通过一个键,找到它当前对应的值。
每个键最多对应一个值,但不同的键可以对应相同的值。因此,Map.size()
统计的是映射数量,不是键与值加起来的对象数量。是否允许
null、键怎样判定重复、遍历是否有顺序,都要继续看具体实现。
12345Map<String, Integer> scores = new HashMap<>();System.out.println(scores.put("Java", 90)); // null:原来没有映射System.out.println(scores.put("Java", 95)); // 90:返回旧值,映射数量不变scores.put("SQL", 95); //...
详解Java之集合框架 part3—详解Queue和Deque接口下的集合
Queue
本文源码以本机 JDK 21.0.4 为准
Queue 接口概述
前面说到,List
关注的是“按照位置组织元素”,Set
关注的是“保存唯一成员”。Queue
则把重点放在了另一个问题上,新元素怎样进入容器,下一个应该处理哪个元素。
普通排队场景中,先到的先处理,也就是
FIFO;优先队列则按照比较规则选择队首;双端队列还能从两端插入和取出,模拟
LIFO 栈。因此,Queue
不能简单理解为“所有实现都按照插入顺序遍历”。
Queue 继承
Collection,没有公开下标访问方法。它提供两组最常用的操作:
操作
失败时抛异常
正常失败时返回特殊值
添加元素
add(e)
offer(e)
移除队首
remove()
poll()
查看队首
element()
peek()
容量受限时,add() 可能抛
IllegalStateException,offer()...
详解Java之集合框架 part2—详解Set接口下的集合
Set
Set 接口概述
Set 是 Java 集合框架中的一个接口,它继承了
Collection 接口,并添加了一些独有的方法。
我们通常看作 Set 是没有重复元素的
Collection,或者说,Set是一个不允许重复元素的集合。
Set 源自数学中的 集合
概念——元素唯一、无序(多数情况下)、不可通过索引访问。
Set 接口本身并未定义新的方法,而是通过语义约束对
Collection
的行为进行了强化:任何尝试添加重复元素的操作都会被忽略(add()
返回 false)。这一特性就使得 Set
成为去重、成员存在性判断等场景的首选数据结构。
目前,Java 提供了多个 Set
的常用实现类,下面我会逐一深入分析,尽管这些实现类在底层数据结构、元素顺序和性能特征上各有不同,但它们都严格遵循
Set 接口的三大核心契约
元素唯一性:不允许存储重复元素(依赖
equals() 和 hashCode() 或
compareTo() 判断);
无索引访问:不支持通过下标获取元素,遍历需依赖迭代器或增强
for 循环;
对...
数学物理方程之三类典型模型的建立
数学物理方程模型前言
介绍
《数学物理方程》是偏微分方程方向的一门入门课程。我们希望从具体的物理现象出发,找出所遵循的规律,把它写成方程,再研究方程的解能否解释和预测原来的现象。
数学物理方程主要研究由物理、力学等实际问题产生的函数方程,本部分以偏微分方程为主。偏微分方程理论还用于化学、生物、工程、图像处理和金融等领域。
这门课有两个比较明显的特点:
数学理论、解题方法与物理实际结合:不仅要会解方程,还要知道方程和定解条件是怎样从物理问题中来的。
需要综合运用已有知识:数学分析、常微分方程、线性代数、复变函数等知识都会用到。
本部分建立三类典型模型:波动方程、热传导方程、调和方程(及泊松方程)。它们分别描述振动传播、温度或物质的扩散、稳定状态下物理量的空间分布。
数学物理方程的研究方法
如何从实际问题中导出方程呢?课件给出的思路是:
$$
\text{物理模型}\xrightarrow{\text{定量化}}\text{数学模型}.
$$
建立坐标系,明确研究区域和时间范围。
选择表征过程的物理量,例如位移 u(x, t)...
Linux常用命令总结
其实我也很清楚命令是用明白的,但是我真的是真的是总忘,而且经常不知道这种操作还有命令,所以说,这算是一个记录本了
推荐一个 Linux
命令快查网站,非常不错,大家如果遗忘某些命令或者对某些命令不理解都可以在这里得到解决。
Linux 命令在线速查手册:https://wangchujiang.com/linux-command/
另外,shell.how
可以解释常见命令(包括 Git、npm)的作用。遇到不熟悉的选项,仍建议以本机
man 命令 或 命令 --help 为准。
系统级别操作
系统信息(系统监控)
iostat:CPU 和 IO 统计
iostat(Input/Output
Statistics)是Linux系统下一个强大的性能监控工具,属于sysstat工具包的一部分。它主要用于监控系统的磁盘I/O活动情况和CPU使用情况。
1iostat [选项] [时间间隔] [次数]
包括
12345iostat # 显示自系统启动以来的CPU和磁盘统计信息iostat -c # 仅显示CPU使用情况iostat...
Linux常用知识总结
本质上也是个 Linux 基础知识速查手册
Linux的诞生
Linux 简介
通过以下三点可以概括 Linux 到底是什么:
类 Unix 系统:Linux 是一种自由、开放源码的类似
Unix 的操作系统
Linux 本质是指 Linux 内核:严格来讲,Linux
这个词本身只表示 Linux 内核,单独的 Linux
内核并不能成为一个可以正常工作的操作系统。所以,就有了各种 Linux
发行版。
Linux 之父(林纳斯·本纳第克特·托瓦兹 Linus Benedict
Torvalds):一个编程领域的传奇式人物,真大佬!我辈崇拜敬仰之楷模。他是
Linux 内核 的最早作者,随后发起了这个开源项目,担任
Linux 内核的首要架构师。他还发起了 Git
这个开源项目,并为主要的开发者。
Linux 诞生
1989 年,Linus Torvalds 进入芬兰陆军新地区旅,服...
LangChain4j part9—MCP、可观测性、护栏机制
MCP
何为MCP,对MCP有清晰的认识
MCP 起源于 2024 年 11 月 25 日 Anthropic
发布的文章:Introducing
the Model Context Protocol。
Model Context Protocol,也就是模型上下文协议,定义了应用程序和 AI
模型之间交换上下文信息的方式。这使得开发者能够以一致的方式将各种数据源、工具和功能连接到
AI 模型(一个中间协议层),就像 USB-C
让不同设备能够通过相同的接口连接一样。MCP 的目标是创建一个通用标准,使
AI 应用程序的开发和集成变得更加简单和统一。实际上,MCP
就是以更标准的方式让 LLM Chat 使用不同工具。
MCP 由三个核心组件构成:Host、Client 和...
LangChain4j part8—ToolCalling 和 FunctionCalling
何为 Tools 和 Function
工具和函数调用是什么意思
在一些大语言模型(LLM)中,除了文本生成之外,还具备触发
工具(tools)或函数调用(function calling)
的能力,这才能让 LLM 被赋予它与外部世界交互的能力。
2023年 OpenAI 在 GPT API 中推出了Function Call,类似传统 API
设计思想,让 LLM 按 JSON 格式填写参数,由后端调用接口。这一机制允许 LLM
在需要时调用一个或多个由开发者预先定义的工具。工具的形式可以非常多样,例如执行网页搜索、调用外部
API、运行特定代码等。
模型被训练成能够理解函数描述,并精准输出符合 JSON Schema
的参数。它的输出不是给用户看的,而是给程序解析的。
而 Tool Calling 是一个更广义的、与具体模型实现无关的概念,通常在
Agent 中被提到。在 AI Agent 或...
以一个真实的项目架构窥探实用性领域驱动设计的核心内容
紫矜社 Gladiolus
项目架构全景解析
项目概览与架构哲学
这是一个 多租户 SaaS 教育平台,采用 Java 17
+ Spring Boot 3.5.13 + Spring Cloud 2025.0.2 技术栈。项目包含
16 个 Maven 模块(10 个 common-* 通用库 + 5
个业务微服务 + 2 个 Feign 契约包),支持四种业务模式:C1(线上自营
ToC)、S1/S2(渠道进校 ToB2S)、B1(课后托管 ToB2C)、C2(校外借阅
O2O)。
架构的核心理念是 实用主义领域驱动设计(Pragmatic
DDD),所有取舍都以可维护性、开发效率和团队认知负荷为度量标准。
实际上,对内的内容应该尽量充血设计,最大程度的允许 DDD
的最佳实践,少依赖,以DDD的事实依据来设计,而对外的内容也应该以性能,安全性,可用性为准的基础上,努力去进行
DDD 的最佳实践,但是,允许项目的情况和业务的情况进行失血设计和反...
LangChain4j part7—RAG和向量嵌入的使用
RAG 基础
RAG 的存在是为了什么
RAG 就是 检索增强生成(Retrieval Augmented Generation)
每当将大模型应用于实际业务场景时发现,通用的基础大模型基本无法满足实际业务需求,主要有以下几方面原因:
知识的局限性:我们都知道,LLM
的知识仅限于其训练所用的数据。如果您想让 LLM
了解特定领域的知识或专有数据,可以使用 RAG。
幻觉问题:所有的深度学习模型的底层原理都是基于数学概率,模型输出实质上是一系列数值运算,在大模型自身不具备某一方面的知识或不擅长的任务场景的时候,会产生严重的幻觉,需要外部知识库的支撑。
数据安全性:对于企业来说,数据安全至关重要,没有企业愿意承担数据泄露的风险,尤其是大公司,没有人将私域数据上传第三方平台进行训练会推理。
而 RAG 就是解决上述问题的有效方案。
RAG = 检索技术 + LLM 提示。
这样感觉不太直观,直观的说法
RAG 是在将提示发送给...
LangChain4j part6—链和AI Agent
链
什么是链
链的概念源于 Python 的 LangChain,在 LCEL
引入之前。链将多个底层组件结合起来,并协调它们之间的交互。
对于链,首先要了解一些内容,就是
LangChain4j 的 Chain
类是「遗留概念(legacy)」。 官方只实现了
ConversationalChain 和
ConversationalRetrievalChain
两个内容,源码注释原文写着 “Chains are not going to be
developed further, it is recommended to use AiServices
instead.”,并明确「暂不打算再增加」。其核心问题是太死板、难定制。AI
服务可以像普通 Java 对象一样使用,同样功能下这比设计各种 Chain
更灵活。
ConversationalChain
是最简单的聊天链。其实今天对应的就是Assistant assistant = AiServices.create(Assistant.class,...










