Records

Records

版本说明
记录(Record)需要语言版本至少为 3.0。

记录是一种匿名的、不可变的、聚合的类型。像其他集合类型一样,它们允许你将多个对象捆绑到一个对象中。与其他集合类型不同,记录是固定大小、异构且类型化的。

记录是真实的值;你可以将它们存储在变量中、嵌套它们、作为函数的参数传递或从函数返回,以及将它们存储在诸如列表、映射和集合等数据结构中。

阅读更多
Langgraph4j Getting Started

Langgraph4j Getting Started

欢迎来到 LangGraph4j!本指南将帮助您理解 LangGraph4j 的核心概念、进行安装,并构建您的第一个应用程序。

引言

LangGraph4j 是一个用于通过大型语言模型 (LLMs) 构建有状态、多代理应用的 Java 库。它受到 Python 库 LangGraph 的启发,并旨在与 Langchain4j 和 Spring AI 等流行的 Java LLM 框架无缝协作。

其核心在于,LangGraph4j 允许您定义循环图 (cyclical graphs),在图中,不同的组件(代理、工具或自定义逻辑)可以以有状态的方式进行交互。这对于构建需要记忆、上下文以及不同“代理”之间协作或交接任务能力的复杂应用程序至关重要。

阅读更多
浅谈 @EventListener 和 @TransactionalEventListener

浅谈 @EventListener 和 @TransactionalEventListener

前言

spring 有一个事件传播机制,可以较为方便地实现一个简单的广播模型

一般使用 ApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) 来发布一个事件,然后使用 @EventListener 或者 @TransactionalEventListener 标记的方法来接收指定的事件

这样做有什么好处呢?一方面是解耦,另一方面提高可拓展性

阅读更多
珂朵莉树

珂朵莉树

前言

不知道你是否听说过一个叫珂朵莉树(ODT, Old Driver Tree)的”数据结构“,它有个名称:“老司机树”

阅读更多
postgres using explain

postgres using explain

14.1. 使用 EXPLAIN

PostgreSQL 会为其接收的每个查询设计一个查询计划。选择正确的计划以匹配查询结构和数据属性对于获得良好性能至关重要,因此系统包含一个复杂的规划器,该规划器尝试选择好的计划。您可以使用 EXPLAIN 命令查看规划器为任何查询创建的查询计划。计划解读是一门艺术,需要一定的经验才能掌握,但本节旨在涵盖其基础知识。

本节中的示例取自执行 VACUUM ANALYZE 后的回归测试数据库,并使用了 v17 开发版本。如果您自己尝试这些示例,应该能获得类似的结果,但您的估计成本和行数可能会略有不同,因为 ANALYZE 的统计数据是随机抽样而非精确的,并且成本本身在某种程度上依赖于平台。

这些示例使用 EXPLAIN 默认的“文本”输出格式,该格式紧凑且方便人类阅读。如果您想将 EXPLAIN 的输出提供给程序进行进一步分析,则应改用其机器可读的输出格式之一(XML、JSON 或 YAML)。

阅读更多