- 深入解析:Storm配置项详解
喵手
零基础学Javastorm大数据
全文目录:开篇语前言摘要概述Storm配置项详解1.集群配置项1.1`storm.zookeeper.servers`1.2`storm.zookeeper.port`1.3`nimbus.seeds`1.4`supervisor.slots.ports`1.5`storm.local.dir`1.6`worker.childopts`2.拓扑配置项2.1`topology.name`2.2`to
- nginx部署Channels实现wss协议请求
只要思想不滑坡办法总比困难多--小鱼干
NginxChannelsuwsginginxChannelsuwsgisupervisordaphne
在已经用nginx部署完了uwsgi的https请求的前提下我们将https的请求发送给uwsgi进行处理,将websocket请求发送给daphne进行处理,daphne和uwsgi可以使用supervisord进行控制,aupool项目中只用supervisord来控制daphne,uwsgi服务需要单独起。1.安装supervisor:$sudoaptinstallsupervisor2.安
- 【学Rust写CAD】18 定点数2D仿射变换矩阵结构体(MatrixFixedPoint结构别名)
Source.Liu
学Rust写CADrust矩阵CAD
源码//matrix/fixed.rsusecrate::fixed::Fixed;usesuper::generic::Matrix;///定点数矩阵类型别名pubtypeMatrixFixedPoint=Matrix;代码解析这段代码定义了一个定点数矩阵的类型别名MatrixFixedPoint,它基于一个通用的Matrix类型。详细解释如下:模块导入:usecrate::fixed::Fix
- 【学Rust写CAD】19 颜色渐变定义(gradient_stop.rs)
Source.Liu
学Rust写CADrustCAD
源码//color/gradient_stop.rsusesuper::argb::Color;#[derive(Clone,Copy,Debug)]pubstructGradientStop{pubposition:f32,pubcolor:Color,}代码分析这段代码是一个结构体(struct),并为其派生(derive)了几个trait。我来逐步解释:结构体定义pubstructGradi
- Vala 编程语言教程-多态
__XYZ
vala教程c#开发语言c语言c++后端
多态性多态性基础多态性指同一对象可被视作多种类型使用的能力。在Vala中,子类实例可被当作父类或接口类型操作,但通过虚方法机制可实现运行时动态行为绑定。虚方法的作用未使用虚方法(静态绑定)classSuperClass:GLib.Object{publicvoidmethod_1(){stdout.printf("SuperClass.method_1()\n");}}classSubCl
- 【学Rust写CAD】17 通用2D仿射变换矩阵结构体(matrix/generic.rs)
Source.Liu
学Rust写CADrust矩阵CAD
源代码//matrix/generic.rsusestd::ops::{Add,Mul};usesuper::algebraic_units::{Zero,One};///通用2D仿射变换矩阵结构体#[derive(Clone,Debug,PartialEq)]pubstructMatrix{pubox:Ox,//x方向平移量puboy:Oy,//y方向平移量pubxx:Xx,//x方向缩放和旋转
- 全面掌握SuperMap iMobile for iOS:入门与数据部署指南
麦克羊
本文还有配套的精品资源,点击获取简介:SuperMapiMobileforiOS是一款功能强大的移动GIS应用,适用于iOS设备。本课程将引导您从零开始入门,并详细指导如何在iOS设备上部署地理信息系统数据。课程内容涵盖了解SuperMapiMobile的基本概念、安装与初次使用说明、数据部署的详细步骤,以及必要的许可文件处理。通过本课程,您将学会如何创建自定义地图服务,进行地图操作和数据分析,并
- 基于Pytorch+LSTM实现一元单步时间序列预测(保姆级教程)
赵赵赵的进阶之路
时间序列预测pytorchlstm
目录模型搭建模型基础要点单元测试数据准备数据来源数据读取数据加载单元测试模型训练模型参数规范化训练步骤模型测试主程序训练结果相关技巧模型搭建模型基础图1RNN网络结构classLSTM(nn.Module):def__init__(self,input_size,hidden_size,num_layers,output_size,batch_size):super().__init__()sel
- 机器学习都有哪些算法?
不加冰的红茶要热的
机器学习算法人工智能
机器学习有很多种算法,通常可以根据任务类型(监督学习、无监督学习、强化学习)以及算法的特性进行分类。以下是一些常见的机器学习算法:1.监督学习算法(SupervisedLearning)监督学习是指模型在已标注的数据集上进行训练,目标是学习输入与输出之间的映射关系。常见算法:线性回归(LinearRegression):用于回归任务,预测连续值。逻辑回归(LogisticRegression):用
- 案例3-1 基于控制台的购书系统
灭掉c与java
java算法c++
第一个类:图书类:用于输出图书的信息;//封装类,封装图书的信息publicclassbook{//图书的编号,名字,单价,库存privateintid;privateStringname;privatedoubleprice;privateintstorage;publicbook(intid,Stringname,doubleprice,intstorage){super();this.id=
- 文件操作(1.文件资源上传到MinIO 2.文件资源保存在数据库中)
伏颜.
后端学习积累java
目录本文提供文件操作接口的实现(上传+下载)附件资源表实体类具体代码实现上传到MinIO服务器pom依赖yml配置MinIO配置服务实现类保存到数据库本文提供文件操作接口的实现(上传+下载)附件资源表实体类@Data@AllArgsConstructor@NoArgsConstructor@EqualsAndHashCode(callSuper=true)@Accessors(chain=true
- PYQT5实现一个简单的计算输出显示功能
菜鸟自学一哥
pythonpython
PYQT5实现一个简单的计算输出显示功能效果如下下面是源代码,直接可以运行importsysfromPyQt5.QtWidgetsimport*classForm(QDialog):def__init__(self):super().__init__()self.browser=QTextBrowser()self.lineedit=QLineEdit()self.lineedit.selectA
- MitoSOX Green Mitochondrial Superoxide Indicator,绿色线粒体超氧化物荧光探针,可检测活细胞线粒体超氧化物
强化生物实验室
动态规划排序算法dockeremacs启发式算法支持向量机随机森林
一、试剂描述绿色线粒体超氧化物荧光探针(MitoSOXGreenMitochondrialSuperoxideIndicator)是一种特异性检测活细胞线粒体超氧化物的新型荧光探针。超氧化物歧化酶(SOD)和超氧化物清除剂能够预防MitoSOXGreen被氧化。MitoSOXGreen可以直接检测活细胞线粒体超氧化物,从而避免因分离纯化线粒体再进行检测可能存在人为操作引起的误差。二、试剂特点细胞膜
- TPAMI 2025 | 通过逐像素密度分布建模的半监督计数
小白学视觉
论文解读IEEETPAMI人工智能TPAMI顶刊论文论文解读
论文信息题目:Semi-supervisedCountingviaPixel-by-pixelDensityDistributionModelling通过逐像素密度分布建模的半监督计数作者:HuiLin,ZhihengMa,RongrongJi,YaoweiWang,ZhouSu,XiaopengHong,DeyuMeng源码:https://github.com/LoraLinH/Semi-su
- python面向对象:方法重写2-对父类方法进行扩展
苏婳666
pythonpython开发语言
"""方法的重写有两种情况:1、子类重写父类方法,直接覆盖原来的方法实现2、子类重写父类方法,重新定义方法的实现,同时可以通过super().父类方法去调用父类的方法父类中的方法一旦被子类重写,子类对象就不会自动去找父类方法执行,在子类方法中可以通过super().父类方法名来调用被重写的父类方法"""#定义动物类classAnimal:def__init__(self,name):self.na
- Android应用退出后不在任务栏显示
海天鹰
Androidandroid
目前只有云原神实现了。1.设置启动参数缺点:切换到后台就会消失。2.finishAndRemoveTask无效@OverrideprotectedvoidonDestroy(){super.onDestroy();finishAndRemoveTask();//无效}
- Pytorch实现之对称卷积神经网络结构实现超分辨率
这张生成的图像能检测吗
优质GAN模型训练自己的数据集pytorchcnn人工智能生成对抗网络神经网络深度学习
简介简介:针对传统的超分辨率重建技术所重建的图像过于光滑且缺乏细节的问题,作者提出了一种改进的生成对抗图像超分辨率网络。该改进方法基于深度神经网络,其生成模型包含多层卷积模块和多层反卷积模块,其中在感知损失基础上增加了跳层连接和损失函数。该判别模型由多层神经网络组成,其损失函数基于生成式对抗网络生成的判别模型损失函数。论文题目:ImageSuper-resolutionReconstruction
- 智能优化算法-蜣螂优化器 Dung beetle optimizer(附Matlab代码)
优化算法侠Swarm-Opti
智能优化算法算法matlab启发式算法数学建模
引言蜣螂优化器Dungbeetleoptimizer(DBO)模拟了蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为。中国学者于2022年发表在SCI期刊《JOURNALOFSUPERCOMPUTING》上。参考文献Xue,J.,Shen,B.Dungbeetleoptimizer:anewmeta-heuristicalgorithmforglobaloptimization.JSupercomput79
- HarmonyOS Next 架构深度解析
小_铁
HarmonyOSNextharmonyos架构华为
HarmonyOSNext架构深度解析一、分布式架构核心设计1.跨设备虚拟化(VirtualSuperDevice)核心概念:将多设备硬件能力抽象为统一资源池,通过分布式软总线(D-Bus)实现低时延(classSensorService:publicBinder{public:int32_tOnRemoteRequest(uint32_tcode,MessageParcel&data
- SFT和RLHF是什么意思?
玩人工智能的辣条哥
人工智能人工智能深度学习机器学习
环境:SFTRLHF问题描述:SFT和RLHF是什么意思解决方案:SFT(SupervisedFine-Tuning,监督微调)和RLHF(ReinforcementLearningfromHumanFeedback,基于人类反馈的强化学习)是两种用于改进大型语言模型(LLMs)性能的技术。它们通常应用于自然语言处理(NLP)领域,特别是对于那些需要对特定任务进行优化的语言模型。SFT(监督微调)
- python基础之--面相对象--OOP基本特性
暴龙胡乱写博客
python开发语言人工智能
python基础之–面相对象–OOP基本特性文章目录python基础之--面相对象--OOP基本特性一,OOP基本特性1.1封装1.2继承/派生1.2.1基础概念1.2.3继承实现1.3多态1.4对象对成员的操作(补充)1.5私有属性1.6重写魔术方法二,super函数2.1基本使用2.2super().\__init__()一,OOP基本特性OOP的四大基本特性是封装、继承、多态和抽象。1.1封
- SQL Server 2022常见问题
软件研究员
数据库sqlserver
根据本人多年使用数据库的经验,总结SQLServer2022数据库常见问题包含安装、链接、性能等问题,下面简单说下。一、安装失败问题主要是以下问题:1、硬件配置问题sqlServer2022运行的最低硬件配置要求:根据官网公布要求最低1G内存,最低6G可用磁盘空间,处理器速度1.4GHz,x64处理器;显示器Super-VGA(800x600)。注意:在这里我说的是最低配置。2、软件插件问题缺少.
- Centos 7 安装 supervisor
qq_50977952
Linuxcentoslinux服务器
方式1:yuminstall-yepel-releaseyuminstall-ysupervisor启动systemctlstartsupervisord其他命令supervisorctlreload#重启修改了supervisord.conf,需要执行来重新加载配置文件supervisorctlstatus#查看所有进程的状态supervisorctlstopdemo#停止supervisorc
- CentOS7 安装Supervisor
IChen.
Linux服务器运维
安装epel-releaseyum-yinstallepel-release安装supervisoryum-yinstallsupervisor开机自启systemctlenablesupervisord启动supervisord服务systemctlstartsupervisord重启supervisord服务systemctlrestartsupervisordSupervisor常用命令#重
- CentOS 7 下 Supervisor 安装与配置
OUDKE
centoslinux运维服务器
Supervisor是一个用于管理和监控进程的工具,它可以在CentOS7服务器上轻松地启动、停止和重启进程。在本文中,我将向您展示如何安装和配置Supervisor。步骤1:安装Supervisor首先,我们需要使用yum包管理器安装Supervisor。打开终端并执行以下命令:sudoyuminstallepel-releasesudoyuminstallsupervisor这将安装Super
- 在CentOS上安装Supervisor进行进程监控
张3蜂
软件安装部署centoslinux运维
安装EPEL存储库:sudoyuminstallepel-release安装Supervisor:sudoyuminstallsupervisor启动并启用Supervisor服务:sudosystemctlstatussupervisordsudosystemctlstartsupervisordsudosystemctlenablesupervisord配置Supervisor:Supervi
- Description of a Poisson Imagery Super Resolution Algorithm 论文阅读
青铜锁00
论文阅读Radar论文阅读
DescriptionofaPoissonImagerySuperResolutionAlgorithm1.研究目标与意义1.1研究目标1.2实际意义2.创新方法与模型2.1核心思路2.2关键公式与推导2.2.1贝叶斯框架与概率模型2.2.2MAP估计的优化目标2.2.3超分辨率参数α2.3对比传统方法的优势3.实验验证与结果3.1实验设计3.2关键结果4.未来研究方向(实波束雷达领域)4.1挑战
- 【机器学习】机器学习四大分类
藓类少女
机器学习机器学习分类人工智能
机器学习的方法主要可以分为四大类,根据学习方式和数据标注情况进行分类:1.监督学习(SupervisedLearning)特点:有标注数据(即训练数据有明确的输入(X)和输出(Y))。学习目标是找到一个映射(f(X)\approxY)。适用于分类和回归问题。主要算法:分类(Classification):逻辑回归(LogisticRegression)支持向量机(SVM)朴素贝叶斯(NaïveBa
- Flutter App开发,高效解决如何将用户登录手机号部分用星号代替在页面中展示
champion_ooO
Flutterflutter
在开发App时,一般都会遇到个人中心的页面,这个时候页面中要展示出来用户当前登录手机号码,但是数据库存的是正常的手机号,需要前端自己来将部分用星号('*')代替。第一步:定义一个变量存储手机号classPersonPageextendsStatefulWidget{constPersonPage({Key?key}):super(key:key);@overrideStatecreateState
- MiniMind
亚伯拉罕·黄肯
大模型人工智能
数据集分类:tokenizer训练集:这个数据集用于训练分词器(tokenizer),是文本处理中的一个重要步骤。它可以帮助模型更好地理解文本数据的结构。Pretrain数据:这是用于预训练模型的数据集,它可以帮助模型学习语言的基本结构和特征。SFT数据:SFT(SupervisedFine-Tuning)数据集,用于监督式微调,可以提高模型在特定任务上的性能。DPO数据1和DPO数据2:这两个数
- 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独立出来,数据持