November 17, 2025 LiteLLM 快速入门 在 AI 应用的开发过程中,开发者们往往面临一个共同的难题:如何高效地集成多家 LLM 服务商的接口?不同的服务商提供的 API 设计各不相同,OpenAI 有自己的风格,Anthropic 有另一套标准,Azure OpenAI、Goog...- 阅读剩余部分 -
November 14, 2025 重温 Java 21 之结构化并发 结构化并发(Structured Concurrency) 最初由 JEP 428 提出,并在 JDK 19 中作为孵化 API 发布,接着又在 JDK 20 中通过 JEP 437 再次孵化,现在该特性进入预览版本了...- 阅读剩余部分 -
November 13, 2025 重温 Java 21 之密钥封装机制 API 密钥封装(Key Encapsulation) 是一种现代加密技术,它使用非对称或公钥加密来保护对称密钥。传统的做法是使用公钥加密随机生成的对称密钥,但这需要 填充(Paddings) 并且难以证明安全,密钥封装机制(Key Encapsulati...- 阅读剩余部分 -
November 11, 2025 重温 Java 21 之禁用代理的动态加载 Java Agent 通常被直译为 Java 代理,它是一个 jar 包,这个 jar 包很特别,不能独立运行,而是要依附到我们的目标 JVM 进程中。它利用 JVM 提供的 Instrumentation API 来修...- 阅读剩余部分 -
November 10, 2025 重温 Java 21 之向量 API 向量 API 最初由 JEP 338 提出,并作为孵化 API 集成到 Java 16 中,在 Java 17 到 20 中,又经过了 JEP 414、JEP 417、JEP 426、JEP 438 四次的孵化,这次在 Java 21 中,已...- 阅读剩余部分 -
November 7, 2025 重温 Java 21 之作用域值 作用域值(Scoped Values) 是 Loom 项目提出的另一个重要特性,它提供了一种隐式方法参数的形式,允许在大型程序的各个部分之间安全地共享数据,而无需将它们作为显式参数添加到调用链中的每个方法中。作用域值通常是作为一个公共静...- 阅读剩余部分 -
November 6, 2025 重温 Java 21 之虚拟线程 虚拟线程(Virtual Thread) 是 Java 21 中最突出的特性之一,作为 Loom 项目的一部分,开发人员对这个特性可谓期待已久。它由预览特性变成正式特性经历了两个版本的迭代,第一次预览是 Java 19 的 JEP ...- 阅读剩余部分 -
November 5, 2025 重温 Java 21 之未命名模式和变量 未命名模式和变量也是一个预览特性,其主要目的是为了提高代码的可读性和可维护性。在 Java 代码中,我们偶尔会遇到一些不需要使用的变量,比如下面这个例子中的异常 e:try { int i = I...- 阅读剩余部分 -
November 4, 2025 重温 Java 21 之外部函数和内存 API 外部函数和内存 API(Foreign Function & Memory API,简称 FFM API) 是 Java 17 中首次引入的一个重要特性,经过了 JEP 412 和 JEP 419 两个孵化版...- 阅读剩余部分 -
October 31, 2025 重温 Java 21 之记录模式 记录模式(Record Patterns) 是对 记录类(Records) 这个特性的延伸,所以,我们先大致了解下什么是记录类,然后再来看看什么是记录模式。什么是记录类(Records)?记录类早在 Java 14 就已经引入了,它...- 阅读剩余部分 -