- Python常见面试题的详解10
ylfhpy
python开发语言面试
1.哪些操作会导致Python内存溢出,怎么处理?要点1.创建超大列表或字典:当我们一次性创建规模极为庞大的列表或字典时,会瞬间占用大量的内存资源。例如,以下代码试图创建一个包含10亿个元素的列表,在执行这段代码时,由于需要为这10亿个整数分配内存空间,很容易就会导致内存溢出错误。pythonhuge_list=[iforiinrange(10**9)]2.递归深度过大:递归函数在没有正确设置终止
- Python 发送短信
黑足-山治
短信发送python
Python发送短信短信发送平台在发送短信前需要添加两个配置文件,将下面两个文件复制下来即可xmltojson.py```#-*-coding:utf-8-*-#pythonxml.etree.ElementTreeimportxml.etree.ElementTreeasET#fromxml.domimportminidomclassxmltojson:#globalvar#showlogSHO
- 一、VHDL实现UART协议代码
cmc1028
FPGA代码fpga开发
1.uart_tx.vhd--串口发送模块编写--数据帧格式1位起始位+8位数据位+1位停止位--低位先行LSBlibraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;----------------------------------------------
- 二、VHDL实现SPI协议代码
cmc1028
FPGA代码fpga开发
1、spi.vhdLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_signed.ALL;----------------------------------------------------------------
- java23种设计模式-观察者模式
千里码!
设计模式后端技术#Java设计模式观察者模式
观察者模式(ObserverPattern)学习笔记编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/1458840391.模式定义行为型设计模式,定义对象间
- 24-3-25拓扑+二分图+tarjan
Agnes_A20
c++算法开发语言
确定比赛名次问题(图的拓扑排序+单调队列)原文链接:https://blog.csdn.net/Mitchell_Donovan/article/details/116654722问题描述:有N个比赛队伍(1#include#include#includeusingnamespacestd;voidtopsort(intnumvextex,vector>&matrix,vector&depth){
- java23种设计模式-中介者模式
千里码!
设计模式后端技术#Java设计模式中介者模式
中介者模式(MediatorPattern)学习笔记编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/1458840391.模式定义行为型设计模式,通过定义一
- 强大的ETL利器—DataFlow3.0
lixiang2114
数据分析etlflumesqoop数据库数据仓库
产品开发背景DataFlow是基于应用数据流程的一套分布式ETL系统服务组件,其前身是LogCollector2.0日志系统框架,自LogCollector3.0版本开始正式更名为DataFlow3.0。目前常用的ETL工具Flume、LogStash、Kettle、Sqoop等也可以完成数据的采集、传输、转换和存储;但这些工具都不具备事务一致性。比如Flume工具仅能应用到通信质量无障碍的局域网
- Flink连接kerberos认证的hive 并使用table API
lisacumt
flinkhive大数据
有个问题flink的kerveros通过配置设置。但是HiveCatalog还需要再次使用UserGroupInformation再次认证。直接上代码:importcom.amihaiemil.eoyaml.*;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importorg.apa
- 集群部署Elasticsearch+Logstash+Kibana+Filebeat+Kafka+Zookeeper
YH746
日志分析系统linux
目录引言一、安装Zookeeper步骤1、准备阶段(全部节点操作,以node1为例)(1)关闭防火墙和系统安全机制(全部节点操作,以node1为例)(2)同步时钟源(全部节点操作,以node1为例)(3)JDK的安装(全部节点操作,以node1为例)(4)配置hosts(全部节点操作,以node1为例)2、安装Zookeeper软件包(全部节点操作,以node1为例)3、修改配置文件(全部节点操作
- DataFlow 模型是什么?
Shockang
大数据理论体系大数据bigdata
前言本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!本专栏目录结构和参考文献请见100个问题搞定大数据理论体系正文WHY无界、无序、全球规模的数据集在日常业务中越来越常见(例如网络日志、移动使用统计和传感器网络)。与此同时,这些数据集的消费者已经进化出复杂的要求,例如事件时间排序和按数据本身的特征进行窗口,此外,他们贪得无
- JSONField、JsonProperty不生效的问题
FLGB
杂谈jsonjava
@JSONField(name="env_version")privateStringenvVersion;问题:openfeign请求接口一直获取的是线上的小程序码,无法获取到develop环境的小程序码排查:1、打开openfeigndebug日志#level后面是自己feign接口的包名,另外还需要添加feign的日志配置类logging.level.com.lf.feign:debug#f
- 2.1部署logstash:9600
AustinCien
ELFKelk运维
实验环境:关闭防火墙,完成java环境yum-yinstallwgetwgethttps://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpmyumlocalinstalljdk-8u341-linux-x64.rpm-yjava-version1.安装logstashtarxflogstash-6.4.1.tar.gz-C/usr/localln-s
- elfk+zookeeper+kafka数据流
AustinCien
zookeeperkafkaelk
申请7台部署elfk+zookeeper+kafka数据流:filebeat(每台app)------>【logstash(2)+kafka(3)】------->logstash(1)------->【elasticsearch(3)+kibana(1)】
- 【MySQL】mysql中的事务
在成都搬砖的鸭鸭
MySQLmysql数据库
目录1、背景2、事务的特性3、事务之间的几种错误【1】脏读【2】不可重复读【3】幻读4、事务中的隔离级别5、总结1、背景事务是存储引擎层面实现的,有的引擎支持事务,有的引擎不支持事务,我们常用的引擎InnoDB就支持事务,本文大概讲解一下事务的特性,后续再讲解事务的MVCC(多版本并发控制)如何实现的。2、事务的特性事务的特性满足ACID,A(Atomicity):原子性、C(Consistenc
- 【LeetCode】时间复杂度和空间复杂度
在成都搬砖的鸭鸭
Golang刷LeetCodeleetcode算法排序算法golang
目录1、背景2、时间复杂度3、时间复杂度示例【1】O(1)【2】O(logn)【3】O(n)【4】O(nlogn)【5】O(n^2)【6】O(2^n)【7】O(n!)4、空间复杂度5、空间复杂度示例【1】O(1)【2】O(n)【3】O(n^2)1、背景分析算法的时间复杂度和空间复杂度是衡量算法性能的关键,它们分别用于评估算法的运行时间和占用内存,本文只讲相关概念和示例。2、时间复杂度时间复杂度表示
- 手把手教你架构3d游戏引擎pdf_一个在游戏行业摸爬滚打了十几年的人,为何我对这本书情有独钟...
weixin_39794340
BigNews!《游戏开发:世嘉新人培训教材》今日开始预售啦!经过漫长的等待,这次终于可以买到了。现在下单,你将在图书出印厂的第一时间收到书哦~这本书由世嘉一线开发者执笔,并被选为世嘉新人培训教材,荣获游戏开发者奥斯卡CEDECAWARDS2009著作奖。作者平山尚,1977年生于日本北海道,曾在京都大学研究生院工学研究科进行基因研究,毕业后进入世嘉株式会社,参与了《电脑战机》(PS2)、《超级网
- 力扣hot100——排序数组中查找元素出现的第一个位置和最后一个位置
01_
力扣hot100leetcode算法数据结构
给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。解题思路://二分查找划分左右俩边找//当找到后,左边继续向左边搜,不断更新找到位置就是左边界//同理,右边就是继续向右找,找到右边界classSolution{p
- JavaScript函数
晚安720
javascript前端开发语言
函数what函数是一段具有特定功能的代码块。函数必须调用,才可以被执行。函数可以被重复调用,也可以被另一个函数所调用。作用:开发者根据需求定制具有特定功能的函数代码块。分类及定义使用系统函数又名库函数/内置函数alter()log()Number()parseInt()......由JS内部提供的,具有特定功能的函数,供开发者使用。自定义函数自己按照自己的需求,定制具有特定功能的函数。定义函数基本
- aiohttp的详细使用和异步爬虫实战
数据知道
2025年爬虫和逆向教程爬虫pythonaiohttpasyncio异步爬虫
文章目录1.基本概念2.安装aiohttp3.一个简单的异步爬虫4.示例代码及解析5.并发控制6.错误处理7.数据解析与存储8.高级用法8.1限速8.2处理JavaScript渲染的页面8.3异步文件写入8.4POST请求8.5使用代理8.6超时设置9.总结aiohttp是一个基于asyncio的异步HTTP客户端/服务器框架,非常适合用于编写高效的异步爬虫。下面我们将详细讲解如何使用aiohtt
- QILSTE H6-M108HR超亮红光LED灯珠 发光二极管LED
QILSTE LED
科技
型号H6-M108HR,由QILSTE(HongKong)TechnologyCo.,Ltd生产,是一款具有超亮红光的小型SMDLED,尺寸仅为1.8x0.8x0.55mm,精巧的体积使其在紧凑空间中也能发挥出色的性能。这款LED的光电参数经过精确调控,光强范围从-230mcd至450mcd,主波长在615至630nm之间,半波宽为20nm,确保了色彩的纯正和亮度的稳定性。正向电压VF在1.8至2
- 【软件体系结构】软件体系结构评估
向懒羊羊学习的大猫
软件体系结构
1.软件体系结构评估概述1.1软件质量属性性能(Performance):关注系统响应时间和吞吐量等关键指标。衡量系统在完成特定功能时的及时性和效率。可靠性(Reliability):系统在意外或错误使用情况下维持功能的能力。包括容错性、健壮性等,确保系统稳定运行。可用性(Availability):系统能够正常运行的时间比例。衡量用户能够访问和使用系统的程度。安全性(Security):系统在提
- qml代码使用C++ enum
令狐掌门
QML入门进阶教程c++qmlenum
QML入门进阶专栏:https://blog.csdn.net/yao_hou/category_9951228.html?spm=1001.2014.3001.5482本篇博客介绍如何在qml代码里使用C++enum数据类型。先看如下C++类:dataenum.h#ifndefDATAENUM_H#defineDATAENUM_H#
- 【uni-app笔记整理八】图片的上传
小异常
uni-appuni-appvuejavascriptjs图片
版权声明:本文为小异常原创文章,非商用自由转载-保持署名-注明出处,谢谢!本文网址:https://sunkuan.blog.csdn.net/article/details/111678247图片上传在移动端也是很常见的一项功能,它可以从本地相册中或者使用相机进行拍照上传图片,uni-app提供了以下两个方法:uni.chooseImage(object):从本地相册选择图片或使用相机拍照。co
- 适合 C++ 学习的开源项目——在 GitHub 学编程
java领域
javaspring数据库架构数据库开发sql
俗话说:万事开头难,学习编程也是一样。在HelloGitHub的群里,经常遇到有小伙伴询问编程语言如何入门方面的问题,如:我要学习某一门编程语言,有什么开源项目可以推荐吗?我是某编程语言的新手,有什么练手的项目推荐吗?等等See,这就是本系列文章的由来,我们希望学习各类编程语言的同学们,读(Mark)完我们的入门系列,可以找到学习的方向、系统的学习某一门语言,然后做个简单的小玩意,不只是Hello
- 【python】4_异常
简易091
pythonpython开发语言
目录一、异常处理1、异常捕获基本捕获语法:捕获指定异常:捕获多个异常:捕获所有异常:异常else&finally:2、异常的传递性二、模块模块的导入方式1、语法2、as定义别名一、异常处理1、异常捕获基本捕获语法:try:可能发生错误的代码except:如果出现异常执行的代码捕获指定异常:try:print(name)exceptNameErrorase:print("name变量名未定义错误")
- 结合全网内容介绍C盘清理技巧分享,以及推荐相关软件
日记成书
反正看不懂系列学习
C盘空间不足是许多Windows用户常见的问题,合理清理不仅能释放存储空间,还能提升系统运行速度。以下从手动清理技巧和软件工具推荐两方面为你详细解析:一、C盘手动清理技巧(安全操作)1.系统自带清理工具磁盘清理:右键C盘→属性→磁盘清理→勾选「临时文件」「系统错误内存转储」「Windows更新缓存」等选项(可释放数GB空间)。存储感知:设置→系统→存储→开启「存储感知」,自动清理临时文件并释放空间
- git常用命令
git
常用命令ꔷgitinit初始化ꔷgitadd[文件名]添加修改代码到缓存ꔷgitcommit-m“”注释ꔷgitstatus被修改文件ꔷgitdiff查看修改内容ꔷgitshowcommit_id查看某次修改ꔷgitlog查看提交历史,看要回推到那个版本ꔷgitreflow查看命令历史,看要回退到那个版本ꔷgitpull拉取最新的改动并mergeꔷgitpush(-u)提交至远程仓库ꔷgitres
- js的一些处理
初晨未凉
javascript前端开发语言
1.翻转字符串letstr='abcdef'str=str.split('').reverse().join()console.log(str)因此想到了我之前写的截取字符串获取参数跳转,在写一遍letstr='name=Jack&age=18&gender=男'letlist=str.split('&');letobj={}list.forEach((v)=>{letitem=v.split('
- Flutter 运行新项目时报错 Build failed due to use of deprecated Android v1 embedding.(已解决)
--程
flutterBugandroidflutter
问题描述:构建flutter项目时错误了这个错误:BuildfailedduetouseofdeprecatedAndroidv1embedding。问题原因:使用了flutterv2的sdk编译项目,而你的项目是旧的v1时候开发的。解决方法:第一步先/android/app/src/main下的找到AndroidManifest.xml文件第二步修改application标签删除name字段值并
- 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独立出来,数据持