# 2. 精灵谷

>     北海有大鸟，其高千尺，头文曰天，胸文曰侯，左翼丈曰\_\_，右翼文曰勒。头向东正，海中央捕鱼。或时举翼而飞，其羽相切如风雷也。——《东方朔 · 神异经》

    不论**精灵**有多少种起源，在各种传说中，它都可以意味着：长寿、擅长艺术、高贵、优雅、聪明、美丽，并且和大自然融为一体，在魔幻的舞台中，精灵扮演了不可替代的角色，由于它的出现，剧本才会有了灵性。在软件中，也许“精灵”可以隐喻为各种不同的**数据结构**，不要觉得它很木讷，相反它有着生命和灵魂，而我们的职责就是在学习时去了解它的一切。

    学软件的读者都听过一句：“软件 = 数据结构 + 算法”。那么本章我们将从数据结构入手，去了解一下Vert.x中常用的数据结构。这些数据结构在Vert.x开发过程中属于高频使用的内容，也许在学习过程会特别枯燥，但我还是会将它记录下来，利用实际场景来给读者解析，并且分享一些在使用过程中的心得。

    本章涉及的数据结构如下：

* JsonObject/JsonArray
* Store
* Options
* Record
* Future/AsyncResult

    了解数据结构不仅能要知道它提供的API以及如何使用，若能渗透到内部的实现和原理，那么您在使用过程就会变得更加左右逢源，编写代码的时候才不会有相关的困惑。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lang-yu.gitbook.io/vert.x/02-index.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
