- 最新最全软件测试- Linux面试题
linux面试题一、请写出如下功能Linux命令:1、三种查看server.log的文件内容linux查看日志文件内容命令tail、cat、tac、head、echo2、编辑start.sh文件,查看文件前10行内容和后10行内容vistart.shhead-n10start.sh前10行tail-n10start.sh后10行3、Linux使用命令可以查找到当前目录下所有txt文件且文件中包含h
- go关闭linux进程,Golang信号处理和优雅退出守护进程
凯然
go关闭linux进程
Golang中的信号处理信号类型个平台的信号定义或许有些不同。下面列出了POSIX中定义的信号。Linux使用34-64信号用作实时系统中。命令mansignal提供了官方的信号介绍。在POSIX.1-1990标准中定义的信号列表信号值动作说明SIGHUP1Term终端控制进程结束(终端连接断开)SIGINT2Term用户发送INTR字符(Ctrl+C)触发SIGQUIT3Core用户发送QUIT
- Linux使用ab进行并发压力测试
Linux使用ab进行并发压力测试简介介绍原理安装参数说明性能指标1.吞吐率(Requestspersecond)2.并发连接数(Thenumberofconcurrentconnections)3.并发用户数(ConcurrencyLevel)4.用户平均请求等待时间(Timeperrequest)5.服务器平均请求等待时间(Timeperrequest:acrossallconcurrentr
- Jetson Nano 2GB运行Stable Diffusion精简版模型(仅CPU运行)
2301_77939311
边缘计算个人开发linuxdocker
作者已经完成了该项目的全部开发工作,但是由于Docker镜像本体过于庞大,且不适合没有开发经验和Linux使用的人使用。还有一点,因为作者是个初中生,基础和经验相比CSDN各位大佬差了特别多,在此作者希望各位在使用了此容器后,能给作者提出修改建议,作者会在学习之余听取各位意见的,并认真修改,谢谢。本文参考:https://github.com/vitoplantamura/OnnxStream镜像
- Linux使用graphics.h图形库绘图
百口可乐__
GNU/LinuxC/C++linuxubuntu运维
graphics.h是上古时代C语言程序开发工具TurboC的图形库,主要在Dos环境下使用。在现代图形库的发展下逐渐被淘汰。graphics.h具有像素函数、线型函数、多边形函数、曲线函数、填充函数、图像函数等函数类型,简单和易用,学习成本低,简单的做出任何2d图像。对于linux,需要手动编译库来使用linux使用graphics库的方法:首先下载libgraphlibgraph源码下载地址:
- PyCharm 常用快捷键
心 一
pycharmidepython
PyCharm常用快捷键整理,按功能分类,适用于不同操作系统(Windows/Linux使用Ctrl,Mac使用Cmd,部分键位需注意系统差异):代码编辑智能补全Ctrl+Space(Win/Linux)/Cmd+Space(Mac)(若与系统输入法冲突,可在设置中修改)快速注释单行注释:Ctrl+/(Win/Linux/Mac通用)块注释:Ctrl+Shift+/(Win/Linux)/Cmd+
- linux使用make命令编译错误,有关linux的make文件编译问题
达尔文小姐
我现在编译一个linux下的软件包,一周前编译还可以,但是现在却无法编译了,提示很多错误,但是这些错误觉得又不错误,对make如何管理又不是很了解,请高手指点一下。Makefile文件内容如下(比较长,请耐心看一看):#Linux/*BSD*/OthersCC=gccCFLAGS=-Wall-O3CLIBS=SERVER_OBJ=pass.oaes.obase64.ocast.oflood.oip
- linux使用pyenv安装python环境
隐形喷火龙
Pythonlinuxpython运维
linux服务器一般会内置python,很多服务如yum会依赖python,但是这个python版本一般很低,如2.7,是无法满足我们的部署需求的,但是这个默认版本不能随便覆盖,因为很多内置服务都是依赖这个版本的,这时可以使用pyenv来安装python它的功能如下:功能说明多版本管理可以安装和使用多个Python版本(如3.8、3.9、3.10、3.11等)按项目切换版本不同项目可以使用不同的P
- 042-linux使用密钥登录
深度学习0407
linuxgit
linux使用密钥登录前言密码登录密钥登录一、SSH密钥登录原理1.1密钥登录的原理是:1.2非对称加密算法:1.3.ssh/里面的文件作用解释二、配置SSH密钥登录2.1配置SSH,打开秘钥登录功能、关闭密码登录功能(管理员做)2.2生成密钥对2.3在服务器上安装公钥2.4客户端利用私钥登录三、多私钥管理前言通常SSH设备采用密码登录方式。但一般的密码方式登录,容易被暴力破解,安全性不足。为保证
- linux使用亚马逊aws-sdk-cpp
iummature
c++aws
两种方式1.使用vcpkg安装(最简单)gitclonehttps://github.com/microsoft/vcpkg.gitcdvcpkg./bootstrap-vcpkg.sh
- Linux实用小技巧汇总
jllllyuz
linux运维服务器
Linux系统作为开源操作系统的代表,凭借其强大的性能和灵活的配置能力,在服务器、嵌入式设备、云计算等多个领域占据重要地位。在日常的Linux使用和管理中,掌握一些实用小技巧可以显著提升工作效率和系统性能。本文将为您汇总一些常用的Linux实用小技巧,帮助您在Linux的海洋中更加游刃有余。1.系统监控与性能优化1.1实时监控系统资源top:这是Linux下最常用的性能分析工具之一,可以实时显示系
- Linux开放防火墙端口
坚持每天学习一点
#Linuxlinux运维
目录一、使用`firewalld`开启端口二、使用`iptables`开启端口在KylinLinux上,开启防火墙端口的步骤与其他Linux发行版类似。如果KylinLinux使用firewalld(这在许多基于CentOS或RHEL的发行版上是默认的),你可以按照以下步骤来管理防火墙端口。一、使用firewalld开启端口检查firewalld服务状态:首先,确保firewalld服务正在运行:
- linux常用命令
yunduor909
linuxlinux
linux使用手册1.打开文件1.1打开pdf文件方式一(推荐):okular方式二:firefox方式三:evince2.展示目录层级展示该目录下的所有层级:tree展示两级目录:tree-L23.压缩和解压缩3.1tar(1)解压缩方式一:tar-zxvf***.tar.gz-z:使用gzip来压缩和解压缩文件-v:(verbose)详细的列出处理的文件-f:(file)使用文件,此选项必选-
- linux 蓝牙协议
爱学习的大牛123
通讯协议linux蓝牙
1.Linux蓝牙协议Linux蓝牙协议是一个复杂的主题,涉及多个层次和组件。以下是Linux蓝牙协议的主要方面:1.蓝牙核心协议栈Linux使用BlueZ作为官方的蓝牙协议栈。BlueZ实现了核心蓝牙协议,包括:-L2CAP(LogicalLinkControlandAdaptationProtocol)-SDP(ServiceDiscoveryProtocol)-RFCOMM(RadioFre
- 史上最详细的Linux使用手册(持续更新中)
QQQ_wank
linux运维
一、Linux目录/bin存放系统基本命令和二进制可执行文件。/boot包含启动Linux时所需的文件,如内核和引导加载程序。/dev包含设备文件,用于与硬件设备进行通信。/etc存放系统配置文件。/home用户的主目录。每个用户都有一个以其用户名命名的子目录,用于存放用户的文件和个人配置。/lib存放系统所需的共享库文件。/media用于挂载可移动介质,如光盘、USB驱动器等。/mnt用于挂载临
- Linux使用rm命令误删除文件恢复(前提是VSCODE打开过)
我在这里啊@
linux
Linux使用rm命令误删除文件恢复(前提是VSCODE打开过)在vscode的命令面板中输入>Restoredeletedfiles并选择要恢复的文件。
- python培训班课程大纲_Python课程大纲
weixin_39782355
python培训班课程大纲
课程大纲被分成6个部分,每个部分又被分解为多个阶段,而每个阶段包含了多个Try,Workshop,FactToFace,Apply.这里只列出部分,和阶段:CHAPTER0:预科[可选]Linux使用,常用CMD,服务配置,IDE,VIM编辑器培训CHAPTER1:认识篇Python应用展示,过往项目演示,Python能力说明,以及PythonPie的学习方式模拟CHAPTER2:实践篇Pytho
- linux使用docker + docker compose 本地搭建redis cluster集群
BanFS
Linuxredisdockerredislinux
背景项目用到一个redis库,对于里面的集群相关功能要自己测试(就像《代码简洁之道》中说的,使用第三方库需要自己有测试用例,这样即使第三方库更新了,直接用原来的测试用例,也知道是否能兼容)。所以需要自己本地搭建redis集群测试。搭建是使用docker搭建的,一下需要启动很多个container,所以使用docker-compose作为容器编排我的环境已经有了,没有的自己下载直接上redis-cl
- 使用DeepSeek建立一个智能聊天机器人0.12
yehaiwz
python机器人ipython
为了确保这段代码能够在Windows和Linux系统上都能正常运行,我考虑以下几个方面:路径分隔符:在Windows和Linux中,文件路径的分隔符不同。Windows使用反斜杠(\),而Linux使用正斜杠(/)。我们可以使用os.path.join来处理路径,以确保跨平台兼容性。消息框:tkinter.messagebox在不同操作系统上的表现可能会有所不同。确保使用tkinter.messa
- Linux使用pidof命令来快速查找进程id
linux
简介pidof命令用于查找Linux中正在运行的程序的进程ID(PID)。它有助于管理和控制进程。基本语法pidof[options]program_name常用选项-s:单次-指示程序仅返回一个pid-q:安静模式,抑制任何输出并仅相应地设置退出状态-w:还显示没有可见命令行的进程(例如内核工作线程)-x:这会导致程序也返回运行指定脚本的shell的进程ID-o:告诉pidof忽略具有该进程ID
- Linux使用cpulimit对CPU使用率进行限制
云服务器linux运维cpu
介绍cpulimit是一款可以对CPU使用率进行限制的软件,既可限制单个特定程序,也可以对整个CPU使用率进行限制,安装使用都很方便,需要的朋友可以试试。源安装(推荐)Centos:yuminstallcpulimitDebian/Ubuntu:apt-getinstall-ycpulimit编译安装cd/tmpwget'https://www.02405.com/wp-content/uploa
- 一个9年archlinux重度使用者自述
linux
引言系统没有高低贵贱,主要还是使用的人,哪个跟你更契合。对我而言,archlinux就是最契合的那个。本文主要是对archlinux使用做一个粗浅的介绍,如果能勾起你一丝兴趣,那就更好了。第一部分:初识ArchLinux从Ubuntu和Fedora到Arch的转变大学期间了解到有linux这么一类系统,看起来很酷,那命令行操作神秘又高级,瞬间引起了我的兴趣。经过各种对比,选择了最容易上手的ubun
- 【Linux】Python 使用虚拟环境开发
Tang Paofan
PythonLinuxlinuxpython
在Linux使用Python开发项目,建议使用虚拟环境。通过创建虚拟环境,你可以将项目与工具隔分开,避免与其他项目的工具存在版本冲突。创建虚拟环境需要使用virtualenv或venv模块使用venv模块安装Python3.3及以上版本自带venv模块,可以直接使用。低于该版本的Python也可以自行安装pipinstallvirtualenv创建python3-mvenv.venv//.venv
- Linux使用chrony让局域网内的服务器时间同步_chrony同步间隔,走进Linux运维架构
2401_87298546
服务器运维linux
在所有节点上执行chrony服务安装命令,将主节点设置时间服务器,其他的节点都从主节点同步时间。#安装服务yum-yinstallchrony#查看状态systemctlstatuschronyd#重启chronydsystemctlrestartchronyd二、检查设置时区在所有节点上设置统一的时间区域,本文中将其设置为亚洲时区,用户可自行定义。#查看时区[root@x~]#timedatec
- Linux使用基础
zhou_zhao_xu
Linux
文章目录一、概述1.1Linux的历史1.2Linux开发者1.3Linux发展历史1.4Linux发行版1.4.1Linux版本Ubuntu1.4.2Linux版本RedHatLinux1.4.3Linux版本CENTOS二、Linux安装2.1物理机安装2.2虚拟机安装2.2.1虚化技术2.2.1.1软件层面2.2.1.2硬件层面2.2.2虚拟化平台2.2.2.1virtualbox2.2.2
- Linux使用领域
凌愚人
杂文linux服务器手机
视频笔记:1.查看某网站的服务器信息1)http://www.netcraft.com2)InternetDataMining标签下(可以看到全世界服务器系统的使用情况)3)what'sthatsiterunning?可以输入想要查看的站点网址,查看查询网址的服务器2.用手机搜SSHd
- MySQL安装后设置和测试
Run Out Of Brain
mysql数据库
本节讨论安装MySQL后应执行的任务:1、如有必要,初始化数据目录并创建MySQL授权表。对于一些MySQL安装方法,数据目录初始化可能会自动为您完成:由MSI安装程序和MySQL配置程序执行的Windows安装操作。安装在Linux使用从Oracle下载的服务器rpm或Debian发行。在许多平台上使用本机打包系统安装,包括DebianLinux、UbuntuLinux、GentooLinux等
- Linux使用mjpg-streamer进行图像传输
—你的鼬先生
Linux驱动linux树莓派图像传输
图像传输是一项在Linux操作系统中比较常见的一个操作,在视频图传时,一般是采用MJPG-streamer来进行图像传输,本文就以树莓派为例子,来示范一个图像传输。1.树莓派的摄像头激活首先更新树莓派sudoapt-getupdatesudoapt-getupgrade随后打开树莓派的配置界面,选择InterfaceOptionsudoraspi-config在InterfaceOption选择C
- 嵌入式Linux使用sqlite的库源码编译及用户程序的编译
junziruyu53
sqlite数据库
本文章记录了在嵌入式设备中使用sqlite数据库的前期编译工作,工作是在虚拟机ubuntu环境中进行的。首先需要去官网下载sqlite源码,官网地址SQLiteDownloadPage,下载后在虚拟机环境解压,进入文件目录,执行如下命令,将生成Makefile文件。其中,编译器及安装目标路径等需要根据自己的情况进行修改,单纯执行./configure一般不会成功。./configureCC=arm
- linux使用vim修改文件内容
zqy1515
linuxvim运维
1.进入vim输入vim文件名,此时进入命令行模式,此时还不能进行编辑。2.进入插入模式按一下字母i就可以进入插入模式,这时候你就可以开始输入文字了。3.保存修改按下esc推出编辑模式,回到命令行模式,然后输入:wq保存修改并退出vim.4.取消修改按下esc,输入q!取消修改并退出vim
- 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独立出来,数据持