elasticsearch-java客户端jar包中各模块的应用梳理

最近使用elasticsearch-java客户端实现对elasticsearch服务的Api请求,现对elasticsearch-java客户端jar包中各模块的应用做个梳理。主要是对co.elastic.clients.elasticsearch路径下的各子包的简单说明。使用的版本为:co.elastic.clients:elasticsearch-java:8.16.1。

1、_helpers

通过包名字面意义上理解,像一个辅助包,其包括bulk和esql。对其中的某几个类进行说明:

BulkIngester:用于批量将数据摄入(ingest)到 Elasticsearch 中的工具类。利用了 Elasticsearch 的批量 API(_bulk API)的原理。它会收集多个索引请求,将它们组合成一个或多个批量请求。

EsqlHelper:用于ES|QL数据查询和检索的工具类。

2、_types

基础对象的定义,如:dsl的term查询类、聚合的平均属性、mapping中的属性、分词相关等。

dsl查询相关类的使用,参考前面文章:Elasticsearch Java Api Client中DSL语句的查询方法汇总。

3、async_search

异步搜索API相关类。

Async Search(异步搜索)是一种用于处理长时间运行搜索请求的机制。当面对复杂的搜索查询、大量的数据或者资源受限的情况时,同步搜索可能会导致客户端长时间等待结果。Async Search 允许用户发起搜索请求后,继续执行其他任务,稍后再来获取搜索结果。

4、autoscaling

自动缩放或自动扩展。

在 Elasticsearch API 中,autoscaling(自动缩放)功能用于根据集群的负载情况自动调整资源。这包括自动调整节点数量、资源分配(如 CPU、内存、存储)等,以优化集群性能、降低成本,并确保在不同负载条件下都能提供稳定高效的服务。

5、cat(Compact and aligned text)

在 Elasticsearch API 中,Compact and Aligned Text(CAT)是一组用于获取集群相关信息的接口。这些接口以简洁且格式化的文本形式返回集群的各种状态信息,包括索引信息、节点信息、分片信息等,帮助用户快速了解和监控集群的运行状况。主要命令:

5.1  /_cat/indices

功能:这个命令主要用于查看索引相关的信息。它返回集群中所有索引的详细情况,如索引名称、状态(例如是否打开或关闭)、主分片数量、副本分片数量、文档数量、存储大小等。

health status index        uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   my_index     xxxxxxxxxx             5   1      10000            0      50mb          25mb

5.2 /_cat/nodes

功能:用于获取集群中节点的信息。包括节点名称、IP 地址、端口号、节点角色(如主节点、数据节点等)、负载指标(如 CPU 使用率、内存使用率等)、磁盘使用情况等。

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           40          70   2    0.20    0.15     0.10 dilmrt    *      node1

5.3 /_cat/shards

提供关于分片的详细信息,包括分片所属的索引、分片的编号、分片所在的节点、分片的状态(如启动中、已分配等)等。

index   shard prirep state      docs  store ip        node
my_index 0     p      STARTED   5000  25mb  127.0.0.1 node1
my_index 0     r      STARTED   5000  25mb  127.0.0.2 node2

6、ccr(Cross-cluster replication)

6.1 概念

跨集群复制是一种高可用解决方案,能够实现数据迁移、数据备份以及降低访问延迟。它采用主备架构模型,在主集群中创建 leader 索引,在备集群中通过主动 Pull 方式复制数据到 follower 索引中,且 follower 索引为只读索引。

6.2 需求

  • 数据备份:在不同地理位置的集群间复制数据,以防止单点故障。
  • 灾难恢复:在主集群出现故障时,能够迅速切换到备集群。
  • 负载平衡:通过跨多个集群分布数据来提高性能和可扩展性。
  • 数据分析:跨地理区域整合数据,便于分析。

7、cluster

集群API相关类。

在 Elasticsearch 中,Cluster API 是一组用于管理和获取集群相关信息的接口。它允许用户对整个集群的状态、配置、节点等方面进行操作和查询,是维护和监控 Elasticsearch 集群健康运行的重要工具。

7.1 集群健康状态查询(Cluster Health)

功能描述:通过/_cluster/health端点可以获取集群的健康状况。返回的信息包括集群状态(如绿色、黄色或红色),绿色表示所有主分片和副本分片都已正确分配,黄色表示至少有一个副本分片未分配,红色表示存在未分配的主分片,这通常意味着数据丢失风险。还能获取到活动的分片数量、未分配的分片数量等详细信息。

7.2 集群状态查询(Cluster State)

功能描述:/_cluster/state端点提供了集群的完整状态信息。这包括集群的元数据,如索引的设置、映射、分片分配情况,以及节点的信息,如节点的角色(主节点、数据节点等)、节点的连接状态等。与集群健康状态查询相比,它提供了更全面、更详细的集群信息。

7.3 集群设置管理(Cluster Settings)

功能描述:使用/_cluster/settings端点可以获取和修改集群的设置。这包括一些全局的配置参数,如集群的名称、自动发现节点的方式、索引的默认配置等。用户可以通过 API 来更新这些设置,以适应不同的业务需求和环境变化。

8、connector

此包下,主要分为Connector和Sync Jobs 两个API。 用于管理数据连接(Connectors)和同步作业(Sync Jobs)。这些 API 允许用户将外部数据源与 Elasticsearch 集成,确保数据能够持续、高效地从外部系统同步到 Elasticsearch 中,以便进行后续的搜索、分析等操作。

9、core

核心模块,请求与响应相关类的定义。

10、dangling_indices

悬空索引的API。

10.1 定义

在 Elasticsearch 中,悬空索引(Dangling Index)是一种特殊的索引状态。它主要是指在集群状态更新过程中,索引的元数据在集群状态中被标记为已删除,但索引的实际数据(如分片)仍然存在于节点的存储中。这种情况可能会导致一些问题,例如占用磁盘空间,并且可能会干扰集群的正常操作。

10.2 产生原因

  • 集群状态更新冲突:当集群在进行复杂的状态更新操作时,比如同时处理多个索引的创建、删除和更新操作。如果在索引删除操作的过程中出现了故障或者网络问题,就可能导致索引的元数据在集群状态中被删除,但实际的索引数据没有被完全清理。例如,主节点发送了删除索引的指令,但是在部分从节点还没有完成删除操作时,集群状态就已经更新为索引已删除,那么这些从节点上的索引分片就会成为悬空索引。
  • 节点故障恢复异常:当节点出现故障后重新加入集群时,如果在故障前节点正在处理索引相关操作,恢复过程可能出现问题。比如,节点在故障前正在删除索引,但是恢复时没有正确处理这个未完成的删除操作,就可能导致索引数据残留,形成悬空索引。

11、enrich

丰富API。

在 Elasticsearch API 中,Enrich API 用于通过将外部数据与现有索引数据相结合,来丰富(enrich)索引中的文档内容。这有助于在搜索和分析过程中提供更全面的信息,提升数据的价值。

11.1 创建 Enrich Policy

创建一个富集策略来定义如何从外部数据源获取数据以及如何将这些数据与索引中的文档进行匹配。可以通过在请求体中指定源索引(source index)和匹配字段(matching fields)来实现。

例如,假设有一个客户信息索引和一个订单索引,想要将客户的详细信息(如姓名、联系方式等)添加到订单文档中,可以创建一个富集策略,将客户信息索引作为源索引,使用客户 ID 作为匹配字段。

{
  "name": "customer_info_enrichment",
  "match": {
    "indices": "customer_info_index",
    "match_field": "customer_id",
    "enrich_fields": ["customer_name", "customer_contact_info"]
  }
}

11.2 执行 Enrich Policy

创建好富集策略后,需要执行它来实际进行数据富集。通过向/_enrich/policy/{policy_name}/_execute端点(其中{policy_name}是富集策略的名称)发送请求来执行策略。执行过程中,Elasticsearch 会按照策略中的定义,扫描源索引和目标索引,找到匹配的文档,并将指定的字段内容添加到目标文档中。

例如,对于上面创建的 “customer_info_enrichment” 策略,执行后,订单索引中的文档(假设订单索引中有客户 ID 字段)会根据客户 ID 与客户信息索引中的记录进行匹配,然后将客户姓名和联系方式等信息添加到订单文档中。


12、eql(Event Query Language)

在 Elasticsearch API 中,Event Query Language(EQL)是一种专门用于处理事件数据的查询语言。它的目的是让用户能够高效地从存储在 Elasticsearch 中的大量事件数据中检索、分析和关联事件,尤其适用于安全分析、系统监控和故障排查等场景。

12.1 事件序列查询

EQL 的一个重要特点是能够进行事件序列查询。例如,通过sequence by子句可以指定按照某个字段(如用户 ID)对事件进行分组,然后查询事件的先后顺序。

12.2 条件筛选与逻辑组合

与传统查询语言类似,EQL 支持条件筛选。可以使用where子句来指定事件需要满足的条件。

12.3 事件关联与聚合

EQL 支持事件之间的关联和聚合操作。例如,通过关联用户登录事件和文件访问事件,可以分析用户在登录系统后访问了哪些文件。

13、esql (Elasticsearch Query Language (ES|QL))

The Elasticsearch Query Language (ES|QL) 是 Elasticsearch 提供的一种高级查询语言。它旨在提供一种更简单、更直观的方式来查询和检索存储在 Elasticsearch 中的数据,融合了传统数据库查询语言的一些特点和 Elasticsearch 特有的功能,用于处理结构化和半结构化数据。

13.1 基础查询

SELECT field1, field2
FROM index_name
WHERE condition;

13.2 函数使用

SELECT AVG(price)
FROM product_index;

13.3 关联查询与子查询

SELECT o.order_id, c.customer_name
FROM orders_index o
JOIN customers_index c ON o.customer_id = c.customer_id;

13.4 聚合与分组查询

SELECT product_category, SUM(sales_amount)
FROM sales_index
GROUP BY product_category;

14、features

功能API,查询和重置Elasticsearch和Elasticsearch插件提供的功能。

15、fleet

队列API。包括:获取全局检查点、队列搜索、队列多重搜索,支持Fleet使用Elasticsearch作为内部代理和操作数据的数据存储。这些API是实验性的,仅供Fleet内部使用。

16、graph

Graph explore API(图形浏览API)

在 Elasticsearch API 中,Graph API 用于处理和分析数据之间的关系,构建和查询图结构数据。它允许用户发现文档之间隐藏的关联关系,这在知识图谱构建、社交网络分析、推荐系统等诸多领域都非常有用。

17、ilm(Index lifecycle management)

索引生命周期管理的API,是elasticsearch提供的一种用于自动管理索引的生命周期的功能。允许使用者定义索引的各个阶段,从创建至删除。并允许使用者在每个阶段定义索引需要执行的特定动作。这些动作包含索引创建,rollover滚动规则, shrink收缩索引,索引降冷,删除索引等动作。极大程度的降低了elasticsearch索引管理的成本。

参考文档:elasticsearch的ILM(Index Lifecycle Management)操作详解-腾讯云开发者社区-腾讯云

18、indices

索引API。

能够管理单个索引、索引设置、别名、映射和索引模板。

19、inference

推理API。

在 Elasticsearch 中,Inference API 用于在数据索引和搜索过程中集成机器学习推理能力。它允许用户利用预训练的机器学习模型对文本或其他数据类型进行处理,例如分类、实体识别、文本嵌入等操作,从而增强 Elasticsearch 的数据分析和检索功能。

20、ingest

摄取API。

Ingest API 是 Elasticsearch 中一个强大的工具,用于在数据进入 Elasticsearch 之前对其进行预处理。它允许用户定义一系列的处理器(processors),这些处理器可以对文档进行各种操作,如转换、过滤、丰富数据内容等,以确保进入索引的文档符合特定的要求或包含更有价值的信息。处理器可以组合使用,形成一个管道(pipeline)。

  • a、创建和管理 Ingest 管道(Pipeline)。
  • b、在索引过程中应用 Ingest 管道
  • c、geo:地理ip统计
  • d、simulate:模拟操作,主要用于模拟请求在 Elasticsearch 集群中的执行情况。它允许用户在不实际执行可能会对数据产生影响的操作(如索引、搜索、更新等操作)的情况下,查看这些操作会如何被集群处理,包括查看查询的解析过程、聚合的执行方式以及相关的性能影响等诸多方面。

21、license

Licensing APIs 主要用于管理 Elasticsearch 的许可证。这些 API 提供了一种方式来获取许可证信息、安装新的许可证、更新现有许可证以及检查许可证的有效性,确保软件的使用符合许可协议的规定。

22、logstash

 Logstash APIs 主要用于管理和监控 Logstash 与 Elasticsearch 之间的交互。Logstash 是一个数据收集引擎,它可以从多种数据源获取数据,并将其发送到 Elasticsearch 进行存储和后续分析。这些 API 提供了对 Logstash 配置、管道状态、监控数据等方面的操作和查询功能。


23、migration

迁移Apis,主要针对deprecations和system_features的处理。

  • migration/deprecations相关内容中,主要涉及到在迁移过程中已弃用(deprecations)功能的处理。随着 Elasticsearch 版本的不断更新,一些旧的功能、配置或 API 可能会因为技术改进、性能优化或安全原因而被标记为弃用。理解和正确处理这些弃用内容是顺利进行迁移的关键。
  • migration/system_features相关的 API 主要用于处理系统特性在版本升级过程中的迁移问题。

24、ml(Machine learning)

Machine Learning API 是用于在 Elasticsearch 中构建、训练、部署和管理机器学习模型的接口。它使企业能够利用数据中的模式和趋势,通过机器学习算法进行异常检测、预测分析等操作,从而挖掘数据的潜在价值,提升数据分析的深度和广度。

25、monitoring

它主要用于高效地将大量的监控信息发送到 Elasticsearch 进行存储和后续分析。这些监控数据可以来自 Elasticsearch 自身的各个组件,如节点的性能数据、索引的状态数据,也可以是与 Elasticsearch 集成的外部系统的数据。

26、nodes

Nodes API 是一组用于获取和管理集群中节点相关信息的接口。这些接口可以帮助用户了解节点的状态、配置、性能指标等诸多方面的情况,对于监控、维护和优化 Elasticsearch 集群的运行非常关键。

27、query_rules

此功能为8.15.0版本新增。

“Query Rules” 是用于控制和定制查询行为的规则集合。这些规则可以帮助用户根据特定的业务需求、数据特点或性能要求,对查询操作进行优化、限制或扩展。

主要应用场景:查询优化规则、安全与访问控制规则、数据过滤与限制规则

28、rollup

Rollup APIs 用于创建和管理数据聚合(rollup)任务。Rollup 是一种数据处理技术,它可以将原始的详细数据按照一定的规则(如时间间隔、字段值范围等)进行聚合,生成汇总数据。这有助于减少数据存储量、提高查询性能,尤其适用于处理大规模的时间序列数据。

29、search_application

Search Application APIs 是用于构建和管理搜索应用程序的一组接口。这些 API 允许用户自定义搜索体验,包括配置搜索策略、管理搜索结果的展示、处理用户输入、行为分析等,从而满足各种复杂的搜索需求,如企业级文档搜索、电商产品搜索或知识图谱搜索等。

30、searchable_snapshots

searchable - snapshots(可搜索快照)是一种用于以低成本存储和高效查询大量数据的功能。它允许用户将数据快照存储在低成本的存储介质(如对象存储)上,并且能够像查询本地存储数据一样对这些快照进行搜索,而无需将数据全部恢复到本地磁盘。

31、security

Security API 是用于管理和配置 Elasticsearch 安全相关功能的一组接口。它的主要目的是确保数据的安全性、用户访问的合法性以及集群操作的安全性,涵盖用户认证、授权、加密等多个安全领域。

主要功能:用户认证(用户管理)、授权(角色与权限管理)、加密(数据加密、密钥管理)。

32、shutdown

Shutdown API 是用于安全关闭 Elasticsearch 节点或获取节点关闭状态的一组接口。


33、slm(Snapshot lifecycle management)

快照生命周期管理(Snapshot Lifecycle Management,简称 SLM)是 Elasticsearch 中的一个功能,用于自动化地创建、保留和删除索引快照。它的目的是确保数据备份的一致性、高效性和合规性,帮助用户有效地管理数据备份策略,以应对数据丢失、灾难恢复等情况。

34、snapshot

快照(Snapshot)是数据在某一时刻的备份,而快照和恢复 API(Snapshot and Restore APIs)用于创建、管理这些数据备份,并在需要时将数据从备份中恢复。这对于数据保护、灾难恢复和数据迁移等场景至关重要。

35、sql

SQL API 提供了一种使用类 SQL 语法来查询 Elasticsearch 数据的方式。这使得熟悉 SQL 的用户能够更方便地与 Elasticsearch 中的数据进行交互,降低了查询数据的学习成本,并且在某些复杂查询场景下提供了更简洁、高效的查询途径。

在使用sql时,可使用对应的sql插件,如:OpenDistro for Elasticsearch SQL

36、ssl

SSL(Secure Sockets Layer)API 主要用于管理与 SSL/TLS(Transport Layer Security)相关的配置。SSL/TLS 是一种加密协议,用于确保数据在网络传输过程中的安全性和保密性。这些 API 允许用户配置节点之间以及客户端与节点之间通信的加密方式,从而保护敏感数据免受窃听、篡改等网络安全威胁。

37、synonyms

Synonyms API 用于管理同义词。同义词是指在语义上相近或相同的词汇。通过使用这些 API,可以有效地处理用户查询中的同义词,从而提高搜索的准确性和召回率。例如,当用户搜索 “汽车”,也能返回包含 “轿车”“机动车” 等同义词的文档。

38、tasks

Tasks API 主要用于管理和查询集群中正在执行的任务。它允许用户获取任务的详细信息,包括任务的状态、执行时间、所属节点等,帮助用户监控和控制集群中的任务执行情况,以便更好地管理集群资源、排查问题以及优化任务执行效率。

我用到的地方:Reindex重置索引时,请求参数wait_for_completion=false(不等待完成)时,会返回一个taskId,可使用此taskId通过task接口获取索引重置的进度。

39、text_structure

Text Structure API 来帮助用户更好地理解和处理文本数据的结构,以便更有效地将其摄入到 Elasticsearch 中进行后续的分析和检索等操作。

40、transform

Transform API 用于创建和管理数据转换任务。它的主要目的是将原始数据从一个或多个索引中提取出来,按照用户定义的规则进行转换,然后将转换后的数据存储到新的目标索引中。这种数据转换可以用于多种场景,如数据聚合、数据清理、数据格式调整等,以满足不同的数据分析和应用需求。

41、watcher

 Watcher API 是用于创建、管理和执行监控任务(称为 “watch”)的接口。它允许用户定义一系列条件来监控 Elasticsearch 集群的状态、索引数据的变化或者外部数据源的信息,并且在满足特定条件时触发相应的操作,如发送通知、执行脚本或者更新文档等,从而实现自动化的监控和响应机制。

42、xpack

X - Pack API 是 Elasticsearch 中与 X - Pack 插件相关的一组接口。X - Pack 是 Elasticsearch 的一个扩展包,提供了安全、监控、告警、机器学习等一系列高级功能。X - Pack API 的目的是让用户能够以编程方式对这些高级功能进行配置、管理和获取信息,从而实现对 Elasticsearch 集群更精细的管控和更深入的洞察。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/946282.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

119.【C语言】数据结构之快速排序(调用库函数)

目录 1.C语言快速排序的库函数 1.使用qsort函数前先包含头文件 2.qsort的四个参数 3.qsort函数使用 对int类型的数据排序 运行结果 对char类型的数据排序 运行结果 对浮点型数据排序 运行结果 2.题外话:函数名的本质 1.C语言快速排序的库函数 cplusplus网的介绍 ht…

JVM实战—G1垃圾回收器的原理和调优

1.G1垃圾回收器的工作原理 (1)ParNew CMS的组合有哪些痛点 Stop the World是最大的问题。无论是新生代GC还是老年代GC,都会或多或少产生STW现象,这对系统的运行是有一定影响的。 所以JVM对垃圾回收器的优化,都是朝减少STW的目标去做的。在这…

HuatuoGPT-o1:基于40K可验证医学问题的两阶段复杂推理增强框架,通过验证器引导和强化学习提升医学模型的推理能力

HuatuoGPT-o1:基于40K可验证医学问题的两阶段复杂推理增强框架,通过验证器引导和强化学习提升医学模型的推理能力 论文大纲理解1. 确认目标2. 分析过程3. 实现步骤4. 效果展示 解法拆解全流程提问俩阶段详细分析 论文:HuatuoGPT-o1, Towards …

HTML——45.单元格合并

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>表格</title></head><body><!--合并单元格&#xff1a;1.在代码中找到要合并的单元格2.在要合并的所有单元格中&#xff0c;保留要合并的第一个单元格…

electron在arm64架构交叉编译遇到libnotify/notify.h文件找不到错误记录

问题描述 在按照官方文档进行arm64下electron编译时出现下面的错误&#xff0c;编译环境为ubuntun22.04.5。 问题分析 由于当前目标架构是arm64&#xff0c;所以从上图可知sysroot为build/linux/debian_bullseye_arm64-sysroot&#xff0c;进入到该目录下查看libnotify的头文…

我的创作纪念日与2024年年报

我的创作纪念日 机缘 原来是你&#xff01; 收获 在创作的过程中都有哪些收获 获得了14668粉丝的关注。获得了正向或者反向的反馈&#xff1a;1万多赞、426评论、140多万阅读量等。认识和哪些志同道合的领域同行&#xff1a;有且再寻觅。 日常 &#x1f3e0;个人主页&…

点击锁定按钮,锁定按钮要变成解锁按钮,然后状态要从待绑定变成 已锁定(升级版)

文章目录 1、updateInviteCodeStatus2、handleLock3、InviteCodeController4、InviteCodeService5、CrudRepository 点击锁定按钮&#xff0c;锁定按钮要变成解锁按钮&#xff0c;然后状态要从待绑定变成 已锁定&#xff1a;https://blog.csdn.net/m0_65152767/article/details…

使用npm包的工程如何引入mapboxgl-enhance/maplibre-gl-enhance扩展包

作者&#xff1a;刘大 前言 在使用iClient for MapboxGL/MapLibreGL项目开发中&#xff0c;往往会对接非EPSG:3857坐标系的地图&#xff0c;由于默认不支持&#xff0c;因此需引入mapboxgl-enhance/maplibre-gl-enhance扩展包。 在使用Vue等其他框架&#xff0c;通过npm包下载…

[2474].第04节:Activiti官方画流程图方式

我的后端学习大纲 Activiti大纲 1.安装位置&#xff1a; 2.启动&#xff1a;

UnityRenderStreaming使用记录(三)

测试UnityRenderStreaming在Ubuntu24.04.1LTS上的表现 先放上运行图操作系统 Ubuntu24.04.1LTSUnity测试工程环境相关修改遇到的问题 先放上运行图 操作系统 Ubuntu24.04.1LTS 系统下载地址 https://cn.ubuntu.com/download/desktop安装UnityHub https://blog.csdn.net/AWNUXC…

电脑主机后置音频插孔无声?还得Realtek高清晰音频管理器调教

0 缘起 一台联想电脑&#xff0c;使用Windows 10 专业版32位&#xff0c;电脑主机后置音频插孔一直没有声音&#xff0c;所以音箱是接在机箱前面版的前置音频插孔上的。 一天不小心捱到了音箱的音频线&#xff0c;音频线头断在音频插孔里面了&#xff0c;前置音频插孔因此用不…

【项目】智能BI洞察引擎 测试报告

目录 一、项目背景BI介绍问题分析项目背景 二、项目功能三、功能测试1、登录测试测试用例测试结果 2、注册测试测试用例测试结果出现的bug 3、上传文件测试测试用例测试结果 4、AI生成图表测试测试用例测试结果 5、分析数据页面测试&#xff08;异步&#xff09;测试用例测试结…

年会头投票小游戏

原型预览 源码 https://github.com/open-frame/vote 原型源文件 https://download.csdn.net/download/qq_42618566/90206788

活动预告 |【Part1】Microsoft Azure 在线技术公开课:基础知识

课程介绍 参加“Azure 在线技术公开课&#xff1a;基础知识”活动&#xff0c;培养有助于创造新的技术可能性的技能并探索基础云概念。参加我们举办的本次免费培训活动&#xff0c;扩充自身的云模型和云服务类型知识。你还可以查看以计算、网络和存储为核心的 Azure 服务。 活…

springboot499基于javaweb的城乡居民基本医疗信息管理系统(论文+源码)_kaic

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…

Java高级

1.反射 每个类都有一个唯一的类对象&#xff0c;该对象是 java.lang.Class 类型。【是 Java 类的元数据&#xff08;metadata&#xff09;对象&#xff0c;包含了该类的结构信息和其他相关数据】 获取类对象 1.什么是类对象 public class Daughter extends Parent{ …

HarmonyOS NEXT 实战之元服务:静态案例效果---我的热门应用服务

背景&#xff1a; 前几篇学习了元服务&#xff0c;后面几期就让我们开发简单的元服务吧&#xff0c;里面丰富的内容大家自己加&#xff0c;本期案例 仅供参考 先上本期效果图 &#xff0c;里面图片自行替换 效果图1完整代码案例如下&#xff1a; Index import { authentica…

libvirt学习

文章目录 libvirt 简介节点、Hypervisor和域libvirt 安装和配置libvirt的XML配置文件libvirt APIMain libvirt APIsError handlingSpecial specific APIs 建立到Hypervisor的连接libvirt API使用编译libvirt工具virshvirt-clonevirt-dfvirt-imagevirt-installvirt-topvirt-what…

“进制转换”公式大集合

咱们都知道十进制是“逢10进1 ”&#xff0c;同理&#xff0c;N进制就是 “逢N进1”。进制其实就这么简单。它的麻烦之处在于各种进制之间的转换。 一、十进制整数转N进制 1&#xff0e;十进制转二进制 除2取余法&#xff1a;连续除以2&#xff0c;直到商为0&#xff0c;逆序…

线程-3-线程控制

线程资源共享 线程间绝大部分资源都是共享的&#xff08;堆栈共享区&#xff09; 线程间堆空间是共享的 谁拿着堆空间的入口地址&#xff0c;谁就能访问 共享区也是共享的&#xff08;cout&#xff0c;printf库都在共享区&#xff09; 线程间有权限访问/修改其他线程栈数据&…