- IDEA里的Spring Boot的开发环境搭建
北城相拥£
springboot
SpringBoot的开发环境今天接着介绍SpringBoot的开发环境1.jdk的配置使用IDEA进行开发,在IDEA中配置jdk的方式很简单,打开File->ProjectStructure选择SDKs在JDKhomepath中选择本地jdk的安装目录在Name中为jdk自定义名字通过以上三步骤,即可导入本地安装的jdk。如果是使用STS或者eclipse可以通过两步骤添加:1、window-
- 链表的基础知识
erchazhan
链表网络数据结构
在大一学习链表的过程中,感觉有许多没有学过的知识,这篇文章,算是我的第一篇学习笔记,可以在后续学习中回顾,有不对的情况可以提出,谢谢大家的建议。#pragmaonce#include#include//#include"SList.h"typedefintSLDateType;//voidSListPrint(SListNode*phead);定义结构体typedefstructNode{SLDa
- 树的存储结构&树和森林的遍历
于冬恋
java算法数据结构
树的存储结构(1)双亲表示法(顺序存储)每个结点中保存指向双亲的“指针”#definemaxsize100//树中最多结点数typedefstruct{//树中结点定义intdata;//数据元素intparent;//双亲位置域}ptnode;typedefstruct{//数的类型定义ptnodenodes[maxsize];//双亲表示intn;//结点数}ptree;增加新元素只需保存该结
- def __init__(self)是什么意思_通俗的告诉你Python中 init_ 到底是什么含义?
cjz0422
python
Python是面向对象的编程语言,因此我从Class、Instance以及属性(property/attribute)的角度出发解释。_init_根据其英文意思(initialize),用来初始化一个类(class)的新成员(instance),它是一个constructor.当新成员被创建时,这个方程会自动被调用。举个栗子1,使用_init_方程我们创建了一个叫做“人类”(Person)的类别,
- <sa8650>sa8650 qcxserver-之-摄像头传感器VB56G4A驱动开发<1>
waterAdmin
驱动开发linuxxml车载系统视觉检测汽车
<sa8650>sa8650qcxserver-之-摄像头传感器VB56G4A驱动开发一、前言二、QCX架构三、QCX传感器驱动程序定制开发3.1sensor硬件接口3.2sensor配置文件3.2.1cameraconfig.c3.2.2cameraconfigsa8650_water.c3.2.3新增编译MK3.2.4参数解析3.2.4.1structCameraConfigI2CDevice
- Typescript新特性关键字readyonly详细解读
黑码小帅
自己总结typescriptjavascript前端htmlcssvue.jsvue
readonly修饰符:首先是一个关键字,对类中的属性成员进行修饰,修饰后,该属性成员,就不能在外部被随意的修改了一构造函数中,可以对只读的属性成员的数据进行修改(()=>{//定义一个类型classPerson{//属性readonlyname:string//构造函数constructor(name:string){this.name=name}}//实例化对象constperson:Pers
- 咱们一起学 LINUX(六):揭秘内核文件表的实现机制
lilye66
咱们一起学习LINUXlinux运维服务器
咱们一起学LINUX(六):揭秘内核文件表的实现机制在Linux知识的探索旅程中,我们不断深入挖掘其内部的奥秘。今天,我们将聚焦于内核文件表的实现,这是Linux文件管理体系中极为关键的一部分。我希望通过分享这些知识,能与大家共同进步,进一步提升对Linux系统的理解深度。一、内核文件表的核心结构剖析在Linux内核中,每个进程都有一个对应的task_struct结构体,而进程的文件表就保存在ta
- GO语言 链表(单向链表
徐小黑ACG
链表数据结构
链表的前提GO语言的链表类似于C语言的链表,它通过结构体和结构体指针实现。结构体GO语言定义结构体如下typeuserstruct{namestringageintnext*user}结构体指针结构体指针就是指向结构体的指针,我们在链表中会用到结构体指针实现链表节点之间的连接next*user就是结构体指针构建链表构建链表需要三点:头节点,尾节点,中间节点头节点的作用相当于链表的入口,尾节点用来表
- C++11新特性之连续右尖括号(>>)改进
画个逗号给明天"
c++开发语言
1.介绍在C++11之前的泛型编程中,模版实例化有个很繁琐的地方,那就是连续右尖括号(>>)会被编译器解释为右移操作符,而不是模版参数表的结束。例如:templatestructFun{typedefTtype;};templateclassA{...};intmain(void){Fun>::typexx;//编译出错return0;}这种嵌套模版在编译过程中会出现错误,因为不支持Fun>这种写
- 部署通义千问Qwen模型时,遇到Flash-Attention2装不上的问题
清米Dummy
python
参考Qwen2-VL最佳实践—swift2.5.0.dev0文档我不去装什么Flash-Attention2,说是要编译好几个小时,然后我这边一直报错。直接从头开始说我的部署方式,最后可以实现图片描述:1.从“通义千问2-VL-7B-Instruct·模型库”下载模型到本地2.按照参考的文档里,完成如下操作:gitclonehttps://github.com/modelscope/ms-swif
- pytorch 手写数字识别
CrxzYia
深度学习pytorch机器学习
importnumpyasnpimporttorchimporttorch.nnasnnimporttorch.nn.functionalasFimportstructimporttorch.optimasoptimfromPILimportImagefrommatplotlibimportpyplotaspltclassNet(nn.Module):def__init__(self):super
- 开源模型应用落地-qwen模型小试-调用Qwen2-VL-7B-Instruct-更清晰地看世界-vLLM+Docker(七)
开源技术探险家
开源模型-实际应用落地#深度学习AI编程AIGC
一、前言学习Qwen2-VL,为我们打开了一扇通往先进人工智能技术的大门。让我们能够深入了解当今最前沿的视觉语言模型的工作原理和强大能力。这不仅拓宽了我们的知识视野,更让我们站在科技发展的潮头,紧跟时代的步伐。Qwen2-VL具有卓越的图像和视频理解能力,以及多语言支持等特性。学习它可以提升我们处理复杂视觉信息的能力,无论是在学术研究中分析图像数据、解读视频内容,还是在实际工作中进行文档处理、解决
- ORB-SLAM2源码学习:Initializer.cc(13): Initializer::ReconstructF用F矩阵恢复R,t及三维点
PaLu-LvL
计算机视觉#ORB-SLAM2#初始化c++计算机视觉人工智能ubuntu学习矩阵线性代数
前言这部分函数的实现依赖于之前学习的的检查三角化结果的函数:ORB-SLAM2源码学习:Initializer.cc⑧:Initializer::CheckRT检验三角化结果-CSDN博客这里通过基础矩阵F来恢复位姿和三维点实际上是借助本质矩阵来进行的,相对于用单应矩阵H恢复位姿和三维点来说,它的解的结构较为简单其解的讨论形式也是比较简单的。1.函数声明boolInitializer::Recon
- ORB-SLAM2源码学习:Initializer.cc(11): Initializer::ReconstructH用H矩阵恢复R, t和三维点
PaLu-LvL
计算机视觉#ORB-SLAM2#初始化c++计算机视觉ubuntu人工智能矩阵学习
前言这个函数的实现依赖于之前学习的检验三角化结果的函数:ORB-SLAM2源码学习:Initializer.cc⑧:Initializer::CheckRT检验三角化结果-CSDN博客位姿可能有多组解,到底哪个才是真正的解呢?方法是实践出真知。根据相应的论文我们分两种情况分别恢复出不同的解,最后得到一个最好的。每种可能的解都需要重复计算一次,最终根据如下条件选择最佳的解:1.最优解成功三角化点数目
- ERROR 1872 (HY000): Replica failed to initialize applier metadata structure from the repository
元气满满的热码式
数据库mysql
ERROR1872(HY000):Replicafailedtoinitializeappliermetadatastructurefromtherepository是MySQL数据库中的一个错误。它表示在复制过程中,从存储库初始化应用程序元数据结构时出现了问题。这个错误通常发生在MySQL复制设置中,其中一个从服务器(replica)试图从主服务器(master)获取复制数据时遇到问题。复制是一
- MySQL--查询数据
君君学姐
mysql数据库
在MySQL数据库中,查询数据是数据库操作中最为基础和频繁的任务之一。通过查询,用户可以检索存储在数据库表中的数据,以满足特定的业务需求或分析目的。MySQL提供了强大而灵活的查询语言——SQL(StructuredQueryLanguage),特别是其数据查询部分,即DQL(DataQueryLanguage),允许用户以多种方式检索数据。以下将详细探讨MySQL中查询数据的方法,包括基本查询、
- AWS微服务示例项目指南
缪玺彬
AWS微服务示例项目指南aws-microservicesAWSServerlessEvent-drivenMicroserviceswithusingAWSLambda,AWSDynamoDB,AWSAPIGateway,AWSEventBridge,AWSSQS,AWSCDKstandsforCloudDevelopmentKitforIaC—InfrastructureasCodetoola
- Codeforces Round 1000 (Div. 2)-C题(树上两个节点不同边数最大值)
Colinnian
算法
https://codeforces.com/contest/2063/problem/C牢记一棵树上两个节点如果相邻,它们有一条边会重叠,两个节点延伸出去的所有不同边是两个节点入度之和-1而不是入度之和,那么如果这棵树上有三个节点它们的入度都相同,那么优先选择非相邻的两个节点才能使所有不同边的数量最大!!然后思路就是:暴力templatestructSegmentTree{intn;std::v
- Protocol buffers--python简介以及安装与使用
冰雪满天
PythonProtocol
简介:以下引用自官方首页文档:ProtocolbuffersareGoogle'slanguage-neutral,platform-neutral,extensiblemechanismforserializingstructureddata–thinkXML,butsmaller,faster,andsimpler.Youdefinehowyouwantyourdatatobestructur
- Golang 使用通道实现流程的暂停与继续
go异步channel
Golang中主流程要控制某个协程的暂停与继续,需要两个通道分别接收来自主流程的通知,并在协程中始终监听这两个通知。例如:packagemainimport("fmt""time")funcmain(){//创建一个通道chPause:=make(chanstruct{})chResume:=make(chanstruct{})//启动一个goroutinegofunc(){//初始化isPaus
- 【Validator】字段验证器struct与多层级验证,go案例
{⌐■_■}
golang信息可视化开发语言
标签用法总结表标签功能代码实例required字段必填Namestring\v:“required”``alphaunicode验证字段是否只包含字母和Unicode字符Namestring\v:“alphaunicode”``gte验证字段值是否大于等于指定值Ageuint8\v:“gte=10”``lte验证字段值是否小于等于指定值Ageuint8\v:“lte=130”``e164验证电话号
- SQL SUM() 函数:快速掌握与高级应用
lsx202406
开发语言
SQLSUM()函数:快速掌握与高级应用SQL(StructuredQueryLanguage)作为一种强大的数据库查询语言,广泛应用于各种数据管理系统中。SUM()函数是SQL中用于执行数值聚合操作的关键函数之一,主要用于计算数据表中某列数值的总和。本文将详细介绍SUM()函数的基本用法、高级应用场景,并提供一些实用的优化技巧。一、SUM()函数的基本用法1.1基础语法SUM()函数的基本语法如
- 周报(2025.1.20 ~ 2025.1.26)
@Happiness.
cocoamacosobjective-c
一、CodeforcesRound998(Div.3)E题用到并查集并查集模板#includeusingnamespacestd;#definelllonglong#definePIIpair#defineendl'\n'structDSU{vectorf,siz;DSU(){}DSU(lln){init(n);}voidinit(lln){f.resize(n);iota(f.begin(),f
- 数据结构——无向图(邻接矩阵表示)
ChirsMatin
笔记数据结构深度优先图论
创建无向图(邻接表)获取顶点在顶点表的位置深度优先遍历(DFS)广度优先遍历(BFS)/*数据结构——无向图(邻接矩阵表示)*/#include#include#definemaxsize100usingnamespacestd;typedefstruct{charvex[maxsize];intva[maxsize][maxsize];}Graph;//构建邻接矩阵结构体intvisited[m
- 111.二叉树的最小深度 -----力扣每日打卡Day17
爱吃草莓蛋糕的猴
算法题二叉树算法leetcode
目录1.题目2.题目分析3.代码实现1.题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/\920/\157返回它的最小深度2.C语言函数头:/***Definitionforabinarytreenode.*structTreeNode{*intval
- 数据结构 图 邻接矩阵表示法
大和田
数据结构数据结构有向图c++
图邻接矩阵表示法图的邻接表表示法看这里基本结构:enumGraphKind{DG,DN,UDG,UDN};templatestructArcCell{VRTypeadj;InfoType*info;};templateusingAdjMatrix=ArcCell[MAX_VERTEX_NUM][MAX_VERTEX_NUM];templatestructMGraph{VertexTypevexs[
- 题海拾贝:P2085 最小函数值
<但凡.
题海拾贝算法c++数据结构
Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!我的博客:#includetypedeflonglongLL;usingnamespacestd;constintN=1e4+10;LLA[N],B[N],C[N];structnode{LLnum;//值LLi;//第i个方程式LLj;//代入的值//重载运算符写结构体里面不能typedefbooloperato
- [ Spring ] Spring Cloud Alibaba Message Stream Binder for RocketMQ 2025
ByteFlys
javaspring-cloudstarter-streammessage-binderrocketmqkafakakotlin
文章目录IntroduceProjectStructureDeclarePluginsandModulesApplyPluginsandAddDependenciesSenderPropertiesSenderApplicationSenderControllerReceiverPropertiesReceiverApplicationReceiverMessageHandlerCongratul
- 总结8..
挽清和
c语言
#include//定义结构体表示二叉树节点,包含左右子节点编号structnode{intl;intr;}tree[100000];//全局变量记录二叉树最大深度,初始为0intans=0;//深度优先搜索函数//pos:当前节点在数组中的位置,deep:当前深度voiddfs(intpos,intdeep){//若为叶子节点if(tree[pos].l==0&&tree[pos].r==0){
- 吴恩达Prompt Engineering(2/9): Guidelines for Prompting
就叫你天选之人啦
LLM学习prompt深度学习人工智能学习笔记linux
目录PrincipalsofPromptingPrinciple1Tactic1:Tactic2:AskforstructuredoutputTactic3:Checkwhetherconditionsaresatisfied/CheckassumptionsrequiredtodothetaskTactic4:Few-Shotprompting,Givesuccessfulexamplesofc
- 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独立出来,数据持