- 咱们一起学C++第二十七篇:之C++程序结构与“Hello, World!”深度剖析
一杯年华@编程空间
咱们一起学习C++visualstudiovimemacsdockervscode
咱们一起学C++第二十七篇:之C++程序结构与“Hello,World!”深度剖析在C++学习的征程中,我们共同探索,不断深入理解这门语言的奥秘。此前,我们学习了编写第一个C++程序所需的基础知识,包括iostream类的使用和命名空间的初步概念。今天,我们将进一步剖析C++程序的基本结构,详细解读经典的“Hello,World!”程序,深入理解其背后的原理和C++语言的特性,这对于我们掌握C++
- YOLOv11-ultralytics-8.3.67部分代码阅读笔记-head.py
红色的山茶花
YOLO笔记深度学习
head.pyultralytics\nn\modules\head.py目录head.py1.所需的库和模块2.classDetect(nn.Module):3.classSegment(Detect):4.classOBB(Detect):5.classPose(Detect):6.classClassify(nn.Module):7.classWorldDetect(Detect):8.cl
- Java 的字符串操作(一)
邮专小谦
python开发语言
字符串的定义在Java中,字符串是一个对象,它是java.lang.String类的实例。可以通过以下两种常见方式定义字符串:直接赋值:Stringstr="HelloWorld";,这种方式简单直接,Java会自动在字符串常量池中查找是否已经存在相同内容的字符串,如果有就直接引用,没有则创建新的字符串对象并放入常量池。使用new关键字:Stringstr=newString("HelloWorl
- Qt控件简述
Roadinforest
qt开发语言
引入本篇文章仅作Qt入门的控件指引,如果您已经具有一定Qt开发的基础,那么这篇文章可能不适合您。控件入门指引QLabel用于显示文本或图像,不需要用户交互,适合用作静态信息的展示QLabel*label=newQLabel(this);//在本窗口创建一个新对象QLabellabel->setText("Hello,world");//设置文本内容label->move(x,y);//距离父控件左
- 水果实体店品牌数字化:RWA + 智能体落地方案
leijiwen
去中心化零售区块链人工智能
一、方案背景随着数字化技术的迅猛发展,实体零售行业正面临前所未有的挑战与机遇。传统的零售模式难以满足消费者对个性化、便捷化、智能化的需求,尤其是在水果等生鲜商品领域,如何通过技术手段提升运营效率、增强顾客体验、拓宽盈利模式,成为品牌升级和竞争力提升的关键。“RWA”(Real-WorldAsset,现实世界资产)结合智能体技术的数字化转型为水果实体店提供了全新的解决方案。通过RWA和智能体的结合,
- 编译dpdk19.08.2中example时一系列报错解决
monGyrate
linux服务器相关dpdkC语言DPDK数据平面开发套件ubuntu
dpdk19.08编译过程全解dpdk介绍问题描述编译过程执行Step1报错一解决方式报错二解决方式继续执行Step248的时候报错49没有修改成功输入60退出使用过程执行make报错一解决方式继续make报错二解决方式继续make执行生成文件helloworld报错三解决方式执行make完成参考链接dpdk介绍 数据平面开发套件(DPDK[1],DataPlaneDevelopmentKit)
- Python字符串常用方法
|枫叶
python
本人学习python时的总结,并不需要记住,知道有这个方法,拿起来用就行。a="helloworld"#字符串不能通过索引进行修改name[0]='q'#切片,查找字符串当中的一段值,[起始值:终止值:步长]不写步长默认是1print(a[0:5:])print(a[::-1])#步长负数倒过来走,不写起始值和终止值就走完全部print(a[::1])print(len(a))#len方法获取字符
- 构建一个有智能体参与的去中心化RWA零售生态系统商业模型
leijiwen
去中心化零售区块链
引言随着数字技术和区块链的快速发展,零售行业正在发生深刻变革。去中心化技术打破了传统的集中化零售模式,而智能体(AIAgents)的参与则为这个领域注入了全新的活力。本文提出了一种结合智能体与去中心化技术的RWA(Real-WorldAssets)零售生态系统商业模型,目标是通过区块链、联合曲线积分激励、智能推荐、NFT会员和社区治理等模块,构建一个高效透明、用户共创的零售生态。核心框架概述数据驱
- RWA资产的逆袭:为什么它会是下一个投资爆点?
DAppNode
区块链人工智能大数据
在全球金融市场的深处,有一种资产悄然崛起,正悄无声息地改变着资本流动的规则——它就是RWA(RealWorldAssets,真实世界资产)。这些资产的总规模远超我们熟知的加密资产市场,它们的市场潜力和投资机会,远远超出了很多人的想象。那么,为什么RWA在今天会如此受到关注?它又为什么会成为投资者争相追逐的新“金矿”?从理论到实践,RWA到底有什么独特之处,能够带来这样的吸引力?今天,我们就来深度剖
- 品牌RWA化构建指南:资产数字化与价值共创
leijiwen
区块链
随着区块链技术的飞速发展,RWA(RealWorldAsset,现实世界资产)化已成为品牌融资和价值增值的新趋势。通过将品牌的核心资产、无形资产及未来收益等进行代币化,品牌不仅能拓宽融资渠道,还能赋能投资者、消费者与品牌之间形成更紧密的合作关系。本篇指南将为品牌如何进行RWA化构建提供系统化、全面的框架,包括资产选择、代币化过程、利益绑定及市场推广等环节。1.品牌RWA化的概念与背景品牌RWA化是
- harmonyos 编译打包生成app,鸿蒙(HarmonyOS)App开发入门(2)—运行HelloWorld
weixin_39724748
harmonyos编译打包生成app
前言为确保HarmonyOS应用的完整性,HarmonyOS通过数字证书和授权文件来对应用进行管控,只有签名过的HAP(编译产物,后面章节详细讲述,本章主要讲证书申请到代码运行到真机)才允许安装到设备上进行运行(如果不带签名信息,仅可以运行在模拟器中)。正文在申请数字证书和Profile文件前,需要通过DevEcoStudio来生成私钥(存放在.p12文件中)和证书请求文件(.csr文件)。同时,
- Java基础讲解
Moso_Rx
java开发语言
目录前言1.Java介绍1.1Java是什么及其特点1.2Java用途1.3Java的发展1.4Java开发环境的安装1.5Java的"HelloWorld"代码1.6Java的注释1.7标识符1.7.1标识符命名规则1.7.2Java中标识符的一些命名约定1.8关键字2.数据类型,变量2.1字面常量2.2数据类型2.2.1基本数据类型2.2.2引用数据类型2.3变量2.4字符串类型3.运算符总结
- python字符串相加_Python 中字符串拼接的多种方法
weixin_39573136
python字符串相加
python拼接字符串一般有以下几种方法:①直接通过(+)操作符拼接s='Hello'+''+'World'+'!'print(s)输出结果:HelloWorld!使用这种方式进行字符串连接的操作效率低下,因为python中使用+拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。②通过str.join()方法拼接strlist=['Hello
- 读取机器人移动轨迹并在RVIZ界面中显示(ROS1)
如阳光如你
机器人linux学习
文章目录前言一、准备1.坐标系2.ros下的路径消息格式二、实现过程1.轨迹保存2.轨迹读取并显示前言机器人在巡检过程中需要沿着固定路线执行任务,因此可以先把机器人的移动轨迹录制并保存下来,之后读取轨迹,方便后续操作。一、准备1.坐标系巡检导航过程中,机器人需要确定好坐标系,以便进行定位与导航,在gazebo仿真下可以选择world坐标系,在实际使用中通常使用的是map坐标系,这里以map坐标系为
- Spring Boot 打包报错Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0
旭东怪
SpringBootspringbootapachemaven
问题描述:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-resources-plugin:3.2.0:resources(default-resources)onprojecthelloworld:Inputlength=1->[Help1]问题分析:1、plugins标签里面缺少maven-resources-plugin依赖。
- 启动了容器 但是 docker ps 不显示任何容器信息
杨过姑父
dockerlinux运维
1.镜像存再[root@localhost~]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEhello-worldlatest9c7a54a9a43c6monthsago13.3kB2.启动显示成功[root@localhost~]#dockerrunhello-worldHellofromDocker!Thismessageshowsthatyourin
- 【STL笔记】字符串
Flower#
算法学习笔记c++笔记
字符串下标从0开始,常规用法不再赘述,持续更新中…1.substr(pos,len):返回从位置pos开始,长度为len的子串。(len默认为npos)std::stringstr="Hello,World!";std::stringsub1=str.substr(7,5);//提取从索引7开始,长度为5的子串std::stringsub2=str.substr(7);//提取从索引7开始直到字符
- Python Flask教程
洒脱的六边形战士加辣
pythonpythonflask开发语言
一、前言Flask是一个用Python编写的轻量级的Web应用框架。Flask基于WSGI(WebServerGatewayInterface)和Jinja2模板引擎,旨在帮助开发者快速、简便地创建Web应用。Flask被称为"微框架",因为它使用简单的核心,用扩展增加其他功能。1.HelloWorld以下的Flask程序会在网页输出HelloWorld:fromflaskimportFlaska
- React Props: Understanding and Utilizing Props in React Applications
froginwe11
开发语言
ReactProps:UnderstandingandUtilizingPropsinReactApplicationsIntroductionIntheworldofReact,propsplayacrucialroleincomponentcommunication.Shortfor"properties,"propsareessentiallyargumentspassedintoReact
- Linux基础12-C语言篇之基本结构【入门级】
kk努力学编程
linuxc语言运维
C语言基础c语言的基本结构一个简单的c语言程序功能:要求在控制台输出"helloworld!"/*************************************************************************>FileName:demo01.c>Author:xxx>Description:>CreatedTime:2025年01月20日星期一11时02分17秒*
- Redis的单线程架构
ら.二十一
Redis
Redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库服务。这里通过多个客户端命令调用的例子说明Redis单线程命令处理机制,接着分析Redis单线程模型为什么性能如此之高,最终给出为什么理解单线程模型是使用和运维Redis的关键。开启三个redis-cli客户端同时执行命令客户端1设置一个字符串键值对:127.0.0.1:6379>sethelloworld客户端2对counte
- UE5 特效
qq_42863961
虚幻基础ue5
能帮到你的话,就给个赞吧文章目录postprocessexposurebloomvignettesaturationunboundmaterial材质蓝图altzbasecolorconstant3Vectorroughnessconstantmetallicconstantpbrroughnessmetallicmakemorerealmakesomeareasrougherthanothers
- 非凸科技招聘来啦!技术岗及非技术岗由你选!欢迎大家加入!
招聘
公司介绍:非凸科技成立于2018年,是国内领先的智能算法和交易系统服务公司,专注于智能算法交易领域的研究和开发。公司特点:投研团队来自华尔街顶级资管公司BlackRock等,以及多位来自腾讯、字节跳动的顶尖工程师;在职员工100+,投研和技术团队占总人数比例75%,多位成员是ACM/ICPCWorldFinal选手;公司司正基于Rust生态,结合机器学习、深度学习等新兴技术,打造高效率、低延迟、高
- 2024年度前端技术总结:React、JavaScript、Material UI与Tailwind的实战心得
Peter-Lu
前端javascriptreact.js
目录一、React:从基础到进阶的深度探索二、JavaScript:掌握新特性,提升编码能力三、MaterialUI与Tailwind:设计与开发的完美结合四、技术项目实战:从理论到应用的转变五、总结与展望随着2024年的结束,我回顾这一年在前端技术领域的学习历程,收获颇丰。从React的深度掌握,到JavaScript新特性的运用,再到MaterialUI和Tailwind的实际应用,我不仅学到
- 3-3.4 删除镜像
安心Smile
dockerDocker技术入门与实战删除docker镜像
rmi命令用于删除镜像。若不指定标签,则删除latest标签dockerrmi[选项]/:选项:-f、--force=false强制删除镜像--no-prune=false不删除不带标签的父级镜像1.使用镜像标签删除镜像$dockerrmihello-world$dockerrmiuser/hello:latest$dockerrmi10.0.217.122:6666/hello:latest#远
- C语言基础
不和杨枝甘露
c语言开发语言
//预处理#include是业务代码,要让计算机做的事情//程序的主入口intmain()程序的主入口()是程序的固定格式不能少,int表示程序的运行结果为整数{//输出文本printf("helloworld");大括号是范围所有的代码都得写在大括号内,printf输出语句,内容写在小括号里,分号表示语句的结束//程序的结果return0;表示程序运行结束了,0为运行结果,0为正常结束,非0为异
- solon-flow 你好世界!
组合缺一
SolonJavaFrameworksolonjavaoneflow
solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等…)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可为不同的应用场景定制不同的驱动处理。1、Helloworld1.1、新建项目可以用SolonInitializr新建solon-lib模板项目,之后添加solon-flow依赖(也支持在spring或vert.x或jfinal项
- 算法:实现回文数
Bunury
java算法
给你一个整数x如果是一个回文整数,打印true,否则,返回false解释:回文数是指正序(从左向右)和倒序(从右到左)读都是一样的整数例如:121是回文,而123不是importjava.util.Scanner;publicclassdome2{publicstaticvoidmain(String[]args){System.out.println("HelloWorld2222");//回文
- python keyboard模块使用笔记
G.O.Y
python
**前言:之前写了一个脚本使用到了几个模块,就记录一下用到知识点的使用keyboard模块:wait函数:#等待按下“t”键。keyboard.wait('t')#如果没有按下“t”键,则不会运行下面的代码:print('helloworld!')threading模块:threading.Thread继承threading.Thread的子类并复写run函数,实现多线程;classqq(thre
- 使用 Pyro 和 PyTorch 的贝叶斯神经网络
无水先生
人工智能综合Pytorch和项目实践pytorch人工智能python
一、说明构建图像分类器已成为新的“helloworld”。还记得当你第一次接触Python时,你的打印“helloworld”感觉很神奇吗?几个月前,当我按照PyTorch官方教程并为自己构建了一个运行良好的简单分类器时,我也有同样的感觉。
- 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独立出来,数据持