- 因为mysql 8新的认证插件导致主从复制的IO线程失败
库海无涯
mysql
1、错误信息Last_IO_Error:errorconnectingtomaster'
[email protected]:3306'-retry-time:60retries:1message:Authenticationplugin'caching_sha2_password'reportederror:Authenticationrequiressecureconnection.2、
- Docker-部署ES和Kibana
相逢太短,莫等茶凉
dockerelasticsearchmac
资料kibana和elasticserch兼容性表https://www.elastic.co/cn/support/matrix#matrix_compatibilityMac系统安装需要版本支持linux/arm64,需要两个都要支持有arm64,有些es支持,kibana不支持。ps:dockerpullelasticsearch出现elasticsearch:latestnotfound,
- OpenGL.error.GLError: GLError( err = 12289,
AI算法网奇
python基础python宝典pythonopengl
目录报错信息:报错代码:测试代码:报错信息:libEGLwarning:DRI2:failedtocreatedriscreenlibEGLwarning:DRI2:failedtocreatedriscreenTraceback(mostrecentcalllast):File"/shared_disk/users/lbg/project/online/NeuralLocalizerFields
- DCNV2 报错ImportError: dynamic module does not define module export function(PyInit__ext) 搜索路径问题
你好星酉君
深度学习pytorch人工智能
import_extas_backendTraceback(mostrecentcalllast):File"/yourpath/model/backbone/dla_dcn.py",line16,infrommodel.backbone.DCNv2.dcn_v2importDCNFile"/yourpath/model/backbone/DCNv2/dcn_v2.py",line12,inimp
- mysql 游标分页_MySQL采用游标分页的方式,“下一页”很好实现,那“上一页”如何实现呢?...
酸流
mysql游标分页
为让mysql达到最佳查询性能,我将分页查询改为cursor查询方式:select*fromreplywherereply_id>last_idlimit20orderbyreply_idASC;上面的last_id为本页最后一条回复的reply_id,这样就能实现“下一页”的查询了,但是“上一页”如何实现呢?我想过改变排列顺序select*fromreplywherereply_id,这样不管是
- JAVA代码实现ElasticSearch搜索(入门-进阶)(一):搜索方法、多字段查询、高亮展示
majunssz
elasticsearchelasticsearch
一、搜索方法对比首先存入一条数据count="ilikeeatingandkuing"默认分词器应该将内容分为“i”“like”“eating”“and”“kuing”1.QueryBuilders.matchQuery("count",count);会将搜索词分词,再与目标查询字段进行匹配,若分词中的任意一个词与目标字段匹配上,则可查询到。count="i"可查出count="ili"可查出co
- 轻松入门Apache SeaTunnel:数据集成利器
窝窝和牛牛
SeaTunnelETL数据集成
文章目录轻松入门ApacheSeaTunnel:数据集成利器什么是SeaTunnel基本原理运行流程SeaTunnelvsDataX:两大数据集成工具对比实战场景:MySQL数据同步至ElasticsearchSeaTunnel实现方案DataX实现方案实现原理对比底层依赖环境方案优缺点分析快速上手环境准备简单示例总结轻松入门ApacheSeaTunnel:数据集成利器什么是SeaTunnelAp
- java毕业设计,网上商城系统
爱编程的小哥
java毕设java课程设计springbootvue
️OnlineMall商城系统全解析|Vue3+SpringBoot全栈实战(附高并发与数据安全方案)一、系统架构全景基于七张效果图分析,该系统是企业级电商综合管理平台,采用SpringBoot3+Vue3+ElementPlus+MyBatisPlus技术栈,覆盖商品管理、订单处理、会员运营等核心场景。通过RBAC权限控制+Elasticsearch搜索+分布式事务三大技术亮点,支持10万级商品
- Bug:eventlet ImportError cannot import name ‘ALREADY HANDLED
uncle_ll
Bug合集
问题测试gunicorn不同work下的性能时候,在eventlet方式下报错误Error:classuri'eventlet'invalidornotfound:[Traceback(mostrecentcalllast):File"/app/venv/lib64/python3.6/site-packages/gunicorn/util.py",line99,inload_classmod=i
- K8S遇到过的比较深刻的Pod问题
Gold Steps.
技术博文分享kubernetes容器云原生故障处理
第一案:Pod集体自杀凌晨12点的告警总是格外刺眼。值班群里突然炸出一连串消息:"支付服务全部下线!但Pod日志显示一切正常!"运维组赶到战场时,发现大量Pod像多米诺骨牌般接连消失,监控面板上却全是绿色对勾。错误排查:#查看案发时间线kubectlgetevents--sort-by='.lastTimestamp'|grep-ikilled#查看Pod详细信息kubectldescribepo
- 通过 Kibana 操作 Elasticsearch:从入门到实践
格子先生Lab
elasticsearch大数据搜索引擎
引言Kibana是Elasticsearch的可视化工具,提供了一个用户友好的界面来管理和操作Elasticsearch中的数据。通过Kibana,你可以轻松地执行数据搜索、创建可视化图表、构建仪表盘等操作。本文将带你从零开始学习如何通过Kibana操作Elasticsearch,掌握其基本功能和进阶操作。1.Kibana简介1.1什么是Kibana?Kibana是一个开源的数据可视化工具,专为E
- 同步MySQL数据至Elasticsearch:go-mysql-elasticsearch实战指南
吴镇业
同步MySQL数据至Elasticsearch:go-mysql-elasticsearch实战指南go-mysql-elasticsearchSyncMySQLdataintoelasticsearch项目地址:https://gitcode.com/gh_mirrors/go/go-mysql-elasticsearch项目介绍go-mysql-elasticsearch是一个服务,能够自动将
- ElasticSearch~查询操作~(简单查询、批量查询、匹配查询、模糊查询、精确查询、范围查询、通配符查询、must查询、should查询、过滤查询)
飞Link
Elasticelasticsearchlucene全文检索
一、简单查询一、查询所有结果GET/student_info/_search{"query":{"match_all":{}}}二、根据条件查询GET/student_info/_search{"query":{"match":{"name":"张三"}}}三、排序GET/student_info/_search{"query":{"match":{"name":"张三"}},"sort":[{"
- 将MySQL数据同步到Elasticsearch作为全文检索数据的实战指南
格子先生Lab
全文检索mysqlelasticsearch
在现代应用中,全文检索是一个非常重要的功能,尤其是在处理大量数据时。Elasticsearch是一个强大的分布式搜索引擎,能够快速地进行全文检索、分析和可视化。而MySQL作为传统的关系型数据库,虽然能够处理结构化数据,但在全文检索方面的性能不如Elasticsearch。因此,将MySQL中的数据同步到Elasticsearch中,可以充分发挥两者的优势。本文将介绍如何将MySQL中的数据同步到
- Elasticsearch + Docker:实现容器化部署指南
IT成长日记
elasticsearchdocker容器化部署
Elasticsearch是一款强大的分布式搜索和分析引擎,广泛应用于日志分析、全文检索、实时数据分析等场景。而Docker作为一种轻量级的容器化技术,能够帮助开发者快速部署和管理应用。将Elasticsearch与Docker结合,不仅可以简化部署流程,还能提高资源利用率和系统可维护性。1环境准备1.1安装Docker安装操作请参考:Docker入门指南:1分钟搞定安装+常用命令,轻松入门容器化
- 基于Spring Boot的分布式任务调度实践
Blossom.118
分布式系统与高性能计算领域wpfspringbootjava后端分布式spring开发语言
在现代的分布式系统中,任务调度是一个常见的需求。无论是定时任务的执行,还是根据业务逻辑动态触发的任务,都需要一个高效、可靠的调度框架来管理。SpringBoot作为目前最流行的Java开发框架之一,提供了强大的依赖管理和快速开发的能力,结合分布式任务调度框架,可以极大地提升开发效率和系统的可维护性。本文将介绍如何基于SpringBoot实现一个分布式任务调度系统,主要涉及Elastic-Job框架
- 力扣刷题|链表面试题 02.02. 返回倒数第 k 个节点
柯ran
力扣leetcode算法数据结构链表
题目:实现一种算法,找出单向链表中倒数第k个节点。返回该节点的值。快慢指针思想,画图更容易理解/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/intkthToLast(structListNode*head,intk){assert(head!=NULL);if(head==N
- ElasticSearch Java查询实现详解
当牛作馬
ElasticSearch使用elasticsearchjavajenkins
文章目录前言一、环境准备二.连接到ElasticSearch三.实现各种查询1匹配查询(MatchQuery)2术语查询(TermQuery)3范围查询(RangeQuery)4复合查询(BoolQuery)5.术语聚合(TermsAggregation)5.平均值聚合(AvgAggregation)6.最大值聚合(MaxAggregation)与最小值聚合(MinAggregation)7.日期
- 网络编程之解除udp判断客户端是否断开
v维焓
网络udpwindows
思路:每几秒发送一条不显示的信息,客户端断开则不再发送信息,超时则表示客户端断开连接。(心跳包)服务器#include#defineMAX_CLIENTS100//最大支持100个客户端#defineTIMEOUT5//5秒超时structClient{structsockaddr_inaddr;time_tlast_seen;//记录最后一次收到该客户端数据的时间};structClientcl
- sc命令在windows上将elasticsearch和kibana自动作为服务开机启动
windowselastic
sc是Windows自带的命令行工具,用于管理服务。1.创建服务:打开命令提示符,运行以下命令:sccreateElasticsearchbinPath="D:\elasticsearch\bin\elasticsearch.bat"start=auto2.启动服务:创建后,启动服务:scstartElasticsearch亲测可用
- 【sglang】sglang出现如下报错sglang/srt/server.py“, line 631, in _wait_and_warmup assert res.status_code
深度求索者
python
sglang部署服务过程中如果出现如下报错:Initializationfailed.warmuperror:Traceback(mostrecentcalllast):[2025-03-1110:17:39]Initializationfailed.warmuperror:Traceback(mostrecentcalllast):File"/miniconda/envs/SGLang/lib/
- std::find, find_if, find_if_not,find_end,find_first_of,adjacent_find
大树青云
C++20C++adjacent_findfind_if_notfind_endfind_first_of
DefinedinheadertemplateInputItfind_first_of(InputItfirst,InputItlast,ForwardIts_first,ForwardIts_last);(1)(constexprsinceC++20)templateForwardIt1find_first_of(ExecutionPolicy&&policy,ForwardIt1first,F
- Elasticsearch 介绍:分布式搜索与分析引擎
吱屋猪_
elasticsearch
在如今大数据时代,企业和开发者面临着前所未有的数据量和实时性要求。为了能够高效地处理、存储和查询这些数据,Elasticsearch作为一种强大的分布式搜索引擎,已经成为了很多组织和开发者的首选解决方案。1.什么是Elasticsearch?Elasticsearch是一个开源的、基于ApacheLucene构建的全文搜索引擎。它提供了高效的搜索功能,并且非常适合处理大量数据,尤其是在需要快速搜索
- oracle当前耗时sql语句,查看Oracle最耗时的SQL
weixin_39846553
oracle当前耗时sql语句
有很多种方法可以用来找出哪些sql语句需要优化,但是很久以来,最简单的方法都是分析保存在V$sql视图中的缓存的sql信息。通过V$sql视图,可以确定具有高消耗时间、CUP和IO读取的sql语句。1.查看总消耗时间最多的前10条sql语句select*from(selectv.sql_id,v.child_number,v.sql_text,last_load_time,v.PARSING_US
- 《Linux运维总结:基于银河麒麟V10+ARM64架构部署多机elasticsearch7.17.21分布式集群+单机kibana7.17.21二进制版ssl集群》
东城绝神
《Linux运维实战总结》运维linuxelasticsearchssl
总结:整理不易,如果对你有帮助,可否点赞关注一下?更多详细内容请参考:Linux运维实战总结一、背景elasticsearch是一个分布式、实时、高性能的搜索和分析引擎,它广泛应用于企业级搜索、日志分析、实时数据处理等领域。随着elasticsearch的广泛应用,安全性变得越来越重要。这里将从安全策略和访问控制两方面来部署elasticsearch集群安全策略涉及到数据安全、访问安全和操作安全等
- Rocky Linux安装部署Elasticsearch(ELK日志服务器)_rockylinux elk
2401_83739411
程序员服务器linuxelasticsearch
一、Elasticsearch的简介Elasticsearch是一个强大的开源搜索和分析引擎,可用于实时处理和查询大量数据。它具有高性能、可扩展性和分布式特性,支持全文搜索、聚合分析、地理空间搜索等功能,是构建实时应用和大规模数据分析平台的首选工具。二、RockyLinux系统安装链接:VMwareWorkstation下载安装(含秘钥)链接:VMwareWorkstation创建虚拟机链接:Ro
- Transformers模型版本和lm_eval老版本冲突问题ImportError: cannot import name ‘initialize_tasks‘ from ‘lm_eval.task
neverwin6
llamapython服务器
Transformers模型版本和lm_eval老版本冲突问题1问题背景在LLM评测的时候,要用lm_eval模型,而对于像是llama3/Mistrual等比较新的模型,较低的Transformers不能适配,所以要升级到0.40.0以上才行,但是如果升级的话,那么直接在沿用老版本的lm_eval评测就会出现:Traceback(mostrecentcalllast):File"main.py"
- ngx_url_t
若云止水
linux运维服务器
定义在src/core/ngx_inet.htypedefstruct{ngx_str_turl;ngx_str_thost;ngx_str_tport_text;ngx_str_turi;in_port_tport;in_port_tdefault_port;in_port_tlast_port;intfamily;unsignedlisten:1;unsigneduri_part:1;unsi
- Spring Boot 整合 Elasticsearch 实践:从入门到上手
遇见伯灵说
mysqlSpringelasticsearchjenkinsspringboot
引言Elasticsearch是一个开源的分布式搜索引擎,广泛用于日志分析、搜索引擎、数据分析等场景。本文将带你通过一步步的教程,在SpringBoot项目中整合Elasticsearch,轻松实现数据存储与查询。1.创建SpringBoot项目首先,你需要创建一个SpringBoot项目。如果你还没有创建,可以使用SpringInitializr快速生成一个项目。在生成项目时,确保选择了以下依赖
- CentOS下安装ElasticSearch(日志分析)
墨痕诉清风
安全建设elasticsearch大数据日志分析
准备目录搞一个自己喜欢的目录mkdir/usr/local/app切换到该目录cd/usr/local/app下载wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz选择其他版本点击进入官网
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持