- python数据分析之matplotlib绘图 plt 的使用
OpenCv学堂
视觉_Opencv
废话不多说,先上一张图:完整代码以及数据:https://download.csdn.net/download/bamboo265925/11548633(提供支持,公众号:海之鹰工作室)importosimportmathimportmatplotlib.pyplotaspltdefreadTxtShow(rootdir):withopen(rootdir,'r',encoding='utf-8
- 利用HTML和css技术编写学校官网页面
彭友圈101
css前端html
目录一,图例展示二,代码说明1,html部分:【第一张图片】【第二张图片】【第三张图片】2,css部分:【第一张图片】【第二张图片】【第三张图片】三,程序代码一,图例展示二,代码说明1,html部分:【第一张图片】创建了一个基本的页面结构,包含header(顶部导航栏)和main(主横幅区域)。在header中,设置了学校logo、学校名称、主导航菜单以及用户相关选项(学生、教工等)。main区域
- 手动计算conv1d 及pytorch源码
取个名字真难呐
pytorch人工智能python
文章目录1.conv1d2.pytorch源码1.conv1dconv1d的作用是进行一维的卷积计算,将卷积核沿着输入矩阵进行一维卷积,具体参考如下excel通过网盘分享的文件:conv1d.xlsx链接:https://pan.baidu.com/s/1WIM4Pp5nwa-uP67TMP-m8Q?pwd=uti7提取码:uti72.pytorch源码importtorchimporttorch
- 在ubuntu22.04上先部署docker,再编译安装kamailio,附详细操作流程及docker和makailio的版本号
狂爱代码的码农
VOIP那些事kamaimio
以下是在Ubuntu22.04上部署Docker并编译安装Kamailio的详细操作流程,包含版本号信息:一、部署Docker(版本:24.0.7)更新系统包sudoaptupdate&&sudoaptupgrade-y安装依赖工具sudoaptinstall-yapt-transport-httpsca-certificatescurlsoftware-properties-common添加Do
- [python]使用 Pandas 分组和汇总表数据
runepic
Pythonpythonpandas开发语言
在数据分析中,数据的分组与汇总是非常常见的操作。下面使用Python的Pandas库来处理表数据,并生成汇总结果。导入数据首先,我们需要导入必要的库并读取Excel文件中的数据:importpandasaspd#读取工资表数据df=pd.read_excel('输入.xlsx')假设我们的表数据如下所示:姓名基础1基础2其他张三500020001000李四600025001200王五4500220
- 大数据存储引擎 NoSQL极简教程 An Introduction to Big Data: NoSQL
AI天才研究院
大数据AI人工智能nosql大数据数据库java开发语言
本文路线图:NoSQL简介文档数据库键值数据库图数据库Here’stheroadmapforthisfourthpostonNoSQLdatabase:IntroductiontoNoSQL
- Halcon基础(3)打开一张图像的几种方式
打鱼的渔夫wh
#halcon
读取图像:read_image打开图像窗口:dev_open_window获取图像尺寸:get_image_size显示图像:dev_display设置窗口句柄:dev_set_window合适的窗口:dev_open_window_fit_image(dev_open_window_fite_size)read_image(Image,'1')*打开图像窗口dev_open_window(0,0
- 6 Flink 状态管理
TTXS123456789ABC
#Flinkflinkpython大数据
6Flink状态管理1.State-KeyedState2.State-OperatorState3.BroadcastState我们前面写的wordcount的例子,没有包含状态管理。如果一个task在处理过程中挂掉了,那么它在内存中的状态都会丢失,所有的数据都需要重新计算。从容错和消息处理的语义上(atleastonce,exactlyonce),Flink引入了state和checkpoin
- gym-anytrading
AAA客服小高
人工智能
参考:https://github.com/upb-lea/gym-electric-motorAnyTrading是一组基于reinforcementlearning(RL)的tradingalgorithms(交易算法)的OpenAIGym环境集合。该项目主要用于foreignexchange(FOREX)和stockmarkets(股票市场),并提供多个Gymenvironments,以简化
- openEuler系统添加静态路由的方法
代先生.重庆
服务器linux运维linux运维网络
本文记录了在openEuler系统中添加静态路由的方法,用于在复杂网络环境下更灵活地配置主机网络。一、测试环境信息1、测试环境的IP地址信息#ipaddr1:lo:mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet127.0.0.1/8s
- 从零开始学飞塔第一篇:飞塔防火墙基本上网配置(PPPoE拨号&固定IP上网)FortiGate Broadband internet access
Zion_Sue
运维
飞塔防火墙基本上网配置一共分三个部分-----接口-----路由-----策略,且防火墙可代替路由器接入互联网。本文参考Aggy梁工的博客,已征得本人同意。首先我们讲的是PPPoE拨号上网的配置,再讲固定IP的上网配置,详情请见下文,红色字体为PPPoE拨号上网配置,蓝色字体为固定IP上网配置。1.接口部分(PPPoE上网配置):第一步:我们进入接口选择一个接口,将其配置为上网口,接口角色一般会自
- python按要求分割excel一列成两列
EaSoNgo111
excelpython开发语言
importopenpyxl#加载Excel文件workbook=openpyxl.load_workbook('example.xlsx')sheet=workbook.active#获取需要处理的列source_column=sheet['A']#定义输出列name_school_column=[]#循环遍历每个单元格forcellinsource_column:#分割姓名和学校parts=c
- 鸿蒙Grid()代码
D11_
前端javascript开发语言
@Entry@Componentstructtest_Grid{scroller:Scroller=newScroller()build(){Column(){Text('请选择你的关卡').fontSize(20).fontWeight(900).padding(10);Grid(this.scroller){ForEach(Array.from({length:100}),(item:numb
- Django项目实战-图书管理系统之项目搭建
D11_
djangosqlite数据库mysqlpython后端
Django项目实战-图书管理系统之项目搭建一、项目开发步骤分析创建虚拟环境安装django创建工程项目创建应用修改配置文件根据应用需求创建数据模型并进行数据迁移创建路由与视图函数引入模版文件编辑路由、视图函数与模板文件项目调试重复步骤7、8、9、10新增功能二、具体实现1>创建虚拟环境2>安装djangopipinstalldjango==3.23>创建工程项目django-adminstart
- 刷代码随想录14--哈希表
2301_76653605
散列表数据结构
三数之和(1.5h)15.三数之和-力扣(LeetCode)确实,哈希表适合i,j,k可重复,即遍历a[i],找有没有0-a[i]那么,i,j,k不重复怎么办代码随想录给出了双指针法,个人感觉移动有一点像快排整个过程挺一言难尽的:法一:先是没看到重复的三元组也算重,于是写了如果result最后一组vector和当前要插入的一样,那就不要插;vector可能插入A,B,A又要被插了,但是B是最后一个
- 简单的if判断(python)
菜狗woc
python
文章目录前言一、if判断介绍二、例子1.判断奇偶数总结前言简单介绍一下python中的if语句一、if判断介绍简单来说,if语句就是个闸口,通过判断条件来处理问题,使得主程序流向流向不同的方向。一般来说,if语句主要有以下几种:单分支,双分支,多分支,分支嵌套。二、例子1.判断奇偶数a=int(input("输入一个非负整数"))ifa%2==0print("偶数")这就是一个简单的单分支判断语句
- 使用python实现Hadoop中MapReduce
qq_44801116
Pythonpythonhadoopmapreduce
Hadoop包含HDFS(分布式文件系统)、YARN(资源管理器)、MapReduce(编程模型)。一、三大组件的简介(1)HDFS(HadoopDistributedFileSystem):HDFS是Hadoop的分布式文件系统,它是将大规模数据分散存储在多个节点上的基础。主要负责数据的存储和管理,可以将大数据集分成多个数据块,并将数据块分配到不同的计算节点上存储,提高数据的可靠性和处理效率。旨
- 入门指南:SpringCloud 和 Dubbo 有哪些区别
愤怒的小青春
java
题解|#子查询#selectprod_name,(selectSUM(quantity)from题解|#矩阵乘法#解题思路循环找到arr1的每一行循环找到arr2的每一列循环arr1这一行的每一项去乘以arr2的这项目很水,如何准备面试?最近不少同学跟我咨询,我的项目很水,没什么场景化解决方案和技术亮点,怎么办?说一个点,项目水不代表你还有两周,要抽京东卡的友友快来~刷题节已经进入第四周,上周没领
- 自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测
sirius12345123
pytorch逻辑回归人工智能
importtorchimportnumpyasnpimporttorch.nnasnnfromtorch.utils.dataimportDataLoader,TensorDatasetdata=np.array([[-0.5,7.7],[1.8,98.5],[0.9,57.8],[0.4,39.2],[-1.4,-15.7],[-1.4,-37.3],[-1.8,-49.1],[1.5,75.
- 使用 uiautomatorviewer 获取元素的定位信息
kinder-balabala
Appiumappiumpython
1.使用adb连接设备(真机或模拟器)连接夜神模拟器:adbconnect127.0.0.1:62001连接MuMu模拟器:adbconnect127.0.0.1:75552.打开uiautomatorviewer在android-sdk-->tools目录,找到uiautomatorviewer.bat,双击打开:3.连接指定的设备(以连接夜神模拟器为例):在有多台设备连接adb的情况下,选择指
- C++标准输入输出流编程: 深入了解C++中的I/O操作
YOLO_CODE
c++算法开发语言编程
C++标准输入输出流编程:深入了解C++中的I/O操作在C++编程中,标准输入输出流(I/O)是一种重要的机制,用于处理与用户的交互、读取和写入文件等任务。本文将深入探讨C++中的标准I/O流,并提供相应的源代码示例,帮助读者理解和应用这一关键概念。C++标准库提供了一组用于输入和输出的流类,这些类定义了一套统一的接口,使得我们可以方便地进行数据的输入和输出操作。C++标准I/O流主要分为两种类型
- C++11(下)线程库
东洛的克莱斯韦克
C++c++C++11线程库
参考文档:https://zh.cppreference.com/w/cpp/thread线程构造C++11把线程相关的系统调用封装成了std::thread。我们看下构造函数thread()noexcept;//构造一个空线程thread(thread&&other)noexcept;//支持移动构造templateexplicitthread(F&&f,Args&&...args);//传参构
- 【大数据技术】编写Python代码实现词频统计(python+hadoop+mapreduce+yarn)
Want595
Python大数据采集与分析大数据pythonhadoop
编写Python代码实现词频统计(python+hadoop+mapreduce+yarn)搭建完全分布式高可用大数据集群(VMware+CentOS+FinalShell)搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn)本机PyCharm连接CentOS虚拟机在阅读本文前,请确保已经阅读过以上三篇文章,成功搭建了Hadoop+MapReduce+Yarn+Python
- Go 学习笔记(61)— Go 高阶函数、函数作为一等公民(函数作为输入参数、返回值、变量)的写法
wohu007
Gogolang函数作为变量
函数在Go语言中属于“一等公民(First-ClassCitizen)”拥有“一等公民”待遇的语法元素可以如下使用可以存储在变量中;可以作为参数传递给函数;可以在函数内部创建并可以作为返回值从函数返回;1.函数可以存储在变量中var(myFprintf=func(wio.Writer,formatstring,a...interface
- 使用el-upload组件实现递归多文件上传
程序员林北北
前端javascriptvue.jselementui
一、需求描述:在页面上点击按钮弹出选择电脑文件的界面,可以一次性选择多个文件一起上传到服务器上,并把上传成功的文件展示在页面上。·二、问题阐述:el-upload是支持多文件上传的,但是是同步进行的,你点击上传按钮,选择了多个文件后点击确定,会同时调用上传文件的接口,这样很容易导致服务器奔溃,导致接口报错。·三、解决方法:为了解决这一难题,本文采用递归的方法来实现精准上传文件。·四、实现思路:递归
- Ubuntu18安装zabbix
qq_41872848
运维zabbix
Ubuntu18安装zabbix所需工具MySQL5.7PHP7.2apache2准备工作出于安全考虑,zabbix只使用普通用户运行,假如你当前用户叫dog,运行zabbix后,便以dog身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动尝试以zabbix身份来运行。所以这里需要创建zabbix的用户,如下:groupaddzabbixuseradd-gzabbixz
- lua学习
qq_26306321
LuaLua
Lua数据类型Lua是动态类型语言,变量不要类型定义,只需要为变量赋值。值可以存储在变量中,作为参数传递或结果返回。Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。nil这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)boolean包含两个值:false和true。Lu
- C语言习题(统计输入文本的字符数、行数和单词数)*
没有名字的鬼
#C_习题c语言开发语言
编写程序,统计输入文本的字符数、行数和单词数。思路:初始化:设置字符计数nc=0设置行计数nl=0设置单词计数nw=0设置状态变量state=OUT(表示当前不在单词内部)开始:循环直到读取完所有字符(直到遇到EOF):读取一个字符c增加字符计数nc如果字符c是换行符('\n'):增加行计数nl如果字符c是空格、换行符或制表符('','\n','\t'):将状态设置为OUT(表示不在单词内部)否则
- c盘满了怎么转移到d盘,推荐三种方法
键盘疾风2501
windows
当C盘满了需要转移到D盘时,可以采取以下几种方法:一、手动复制粘贴打开文件资源管理器:按下Win+E快捷键,或者通过开始菜单打开文件资源管理器。定位到C盘文件:在文件资源管理器中,找到并定位到C盘中需要转移的文件或文件夹。复制文件:右键点击需要转移的文件或文件夹,选择“复制”或者使用快捷键Ctrl+C。打开D盘:在文件资源管理器中,找到并打开D盘作为目标位置。粘贴文件:在D盘的空白处右键点击,选择
- 如何解决Java问题:找不到或无法加载主类的详解
Anna_Tong
javapython开发语言
如何解决Java问题:找不到或无法加载主类的详解在使用Java进行开发时,"找不到或无法加载主类"是一个常见但让人头疼的问题。这一错误通常会出现在运行Java程序时,并伴随着以下错误信息:Error:Couldnotfindorloadmainclass本文将从问题成因、排查思路和解决方法三方面,为你详细解析这一问题的解决方案。一、问题成因类路径(Classpath)设置错误Java的运行依赖类路
- 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独立出来,数据持