- 个人开发随笔
葉飞纷飞
.netcorevue
1.NETCORE分布式缓存IDistributedCacheMicrosoft.Extensions.Caching.Distributed.MemoryDistributedCacheMicrosoft.Extensions.Caching.Redis.RedisCacheMicrosoft.Extensions.Caching.SqlServer.SqlServerCacheMicrosof
- 日常随笔: React useEffect中使用异步更新数据方法遇到的问题
月半叫做胖
前端学习常见问题ReactReacthooke异步更新useEffect
开发随笔:reacthooks异步更新的问题1.问题叙述在使用antd/G2图表更新的时候发现:在useEffect中通过异步函数对图表渲染的data进行更新,但是由于第一次更新后,数据是延迟更新的,所以好像数据并没有实时进行更新.2.代码分析定义了一个heatmapDataconst[heatMapData,setHeatMapData]=useState([]);异步更新函数//异步更新函数c
- uwp开发随笔:ContentDialog使用技巧
搬砖的包工头
uwp中,ContentDialog的加入,使我们开发方便了很多。ContentDialog和过去使用的MessageDialog都属于弹出框,但是ContentDialog多了很多新特性,而且在自定义弹框上更加灵活。例如,ContentDialog可以直接在里面添加内容。vardialog=newContentDialog(){Title="提示",Content="你确认要退出该页面吗?",P
- linux开发随笔
维多利加514
Linux专栏ubuntulinux运维
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot/usr/include/如果将网卡比喻为身份证插入的usb网卡代表windows(当然,windows可以有很多网卡),开发板自身有两网卡,有两个身份证,用
- C++ 开发随笔
新车上路宋哈娜
开发随笔c++java开发语言
基础多态“一个接口,多个实现”:通过父类调用子类的成员,实现了接口重用,如父类的指针指向子类的对象编译多态:函数重载函数模版运行多态:派生类对象的地址可以赋值给基类指针。对于通过基类指针调用基类和派生类中都有的同名、同参数表的虚函数的语句,编译时并不确定要执行的是基类还是派生类的虚函数;而当程序运行到该语句时,如果基类指针指向的是一个基类对象,则基类的虚函数被调用,如果基类指针指向的是一个派生类对
- 博客启程随笔
攻克bug的码农
随笔小记程序人生随笔
软件开发随笔从自己接触计算机到现在已历时九年,我是如何走上这条路那就要从高考说起了。高考结束后摆在自己面前的就是填报志愿,翻着厚厚的一本志愿书研究历年来各院校专业的录取分数线,最终以自己预估的分数线勉强选择了计算机科学与技术这个专业。之前一直没有碰过计算机的我阴差阳错选择了一个不感兴趣的专业,只好硬着头皮学完了四年的课程,这期间一直做着如同高中时代的乖乖女,直到大四面临就业问题陷入深思,有的同学选
- Odrive 代码开发随笔(一)
snailaf
odriveodrvie
说明:记录自己阅读源码的笔记。1.目录说明固件位于Firmare下面:Board\V3:板级文件,都是自带或者cube生成的,----drivers:stm32库代码----Inc:cube生成的头文件----Src:cube生成的源文件启动函数在main.c里面----Middlewares:----ST\STM32_USB_Device_Library:USB库----Thired_Party
- Odrive 代码开发随笔(二)
snailaf
odriveodrive
代码版本为0.5.1这一章主要查看odrive的轴控制程序。从上一节最后启动的voidAxis::start_thread()来查看。//@briefStartsrun_state_machine_loopinanewthreadvoidAxis::start_thread(){osThreadDef(thread_def,run_state_machine_loop_wrapper,hw_con
- 微信小程序开发随笔
Lindsay_Jie
基于uniapp的小程序javascripthtml5cssvue.js
一、HbuilderX环境配置及uniapp框架使用去看官网就行,和微信开发者工具同步。HbuilderX使用uniapp框架二、解决控制台报错1.当在小程序项目中设置了sitemap的配置文件(默认为sitemap.json)时,便可在开发者工具控制台上显示当前页面是否被索引的调试信息。官方文档说明:修改project.config.json中的“checkSiteMap”:false2.没解决
- 开发随笔(前端内容)
JianZhen✓
前端vue.jselementuivisualstudior语言-4.2.1学习美食
写在前面,博主是个在北京打拼的码农,从事前端工作5年了,做过十多个大大小小不同类型的项目,最近心血来潮在这儿写点东西,欢迎大家多多指教。对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论和学习的问题可联系我:
[email protected]。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。目录关于日常开发中遇到的那些~~~一、划过显示二维码二、关于打包时候为什么要
- 安卓开发随笔
lxmhuendan
androidvim编辑器
安卓如何查看隐藏类的源码,如PhoneWindow,ViewRootImpl等1.ctrl+N打开页面2.选择选项All,右侧Include勾选选中,然后再查找自己想查找的源码如PhoneWindow,ViewRootImpl就可以查到了vim操作命令1、默认不可编辑2、按i键,进入输入模式,可编辑文本内容3、编辑完成,按esc键,退出输入模式4、按shift+:键,按wq!键,按回车键,完成保存
- excel二次开发c语言,excel C#二次开发随笔(纯新手).
weixin_39620118
excel二次开发c语言
1.首先需要安装VS,然后把需要的模块一起安装.2.新建项目,VSTO外接程序.1.png3.新建好项目之后会生产以下代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Xml.Linq;usingExcel=Microsoft.Office.Interop.Exce
- 游戏开发随笔
gyl58365
游戏开发的关键是核心机制时,用创意找到核心机制,用技术增强核心机制,用工程实现核心机制,用商业保障核心机制。比如创新的过程,最难的不是创意的发散,而是收敛。先画小圆再画大圆的工作方式,就能让最关键的困难首先暴露,也能让好的创意冒出水面,这样就能让创新之路走得更有效率。而这其中也有扣人心弦的逆转,《暗黑破坏神Ⅲ》又用发售之后的三年证明,即使是先天不足的游戏,只要投入足够的时间、精力、资金,当然还有诚
- HiveSQL & SparkSQL中常用知识点记录
电光闪烁
开发随笔大数据SparkSQLHiveSQL
目录0.相关文章链接1.hive中多表fulljoin主键重复问题2.Hive中选出最新一个分区中新增和变化的数据3.Hive中使用sort_array函数解决collet_list列表排序混乱问题4.SQL中对小数位数很多的数值转换成文本的时候不使用科学计数法5.HiveSQL&SparkSQL中炸裂函数的使用(列转行)6.HiveSQL&SparkSQL中对时间的转换0.相关文章链接开发随笔文
- Mac App开发随笔
冬冬吧
随手记录......隐藏Dock图标info.plist配置Applicationisagent(UIElement)NSWindow//获取主windowletwindow=NSApplication.shared.windows.first//设置window可以背景拖动window?.isMovableByWindowBackground=true//设置window全屏显示置顶window
- (大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式
脑汁
hadoop大数据分布式
索引完全分布式模式守护进程布局集群搭建准备总纲配置文件格式化集群启动集群集群控制命令集群启停进程查看启动日志查看集群常见问题案例演示:WordCount完全分布式模式分布式文件系统中,HDFS相关的守护进程也分布在不同的机器上,如:NameNode守护进程,尽可能单独部署在一台硬件性能较好的机器中其他的每台机器上都会部署一个DataNode进程,一般的硬件环境即可SecondaryNameNode
- (大数据开发随笔6)Hadoop 3.3.x分布式环境部署——本地模式
脑汁
大数据开发hadoop大数据分布式
本地模式材料准备Linux虚拟机-CentOS7hadoop-3.3.1.tar.gzIndexof/hadoop/common(apache.org)jdk-8u321-linux-x64.tar.gzJavaArchive|OracleCentos7虚拟机部署准备材料:VMware17CentOS-7-x86_64-Minimal-2009.isocentos-7-isos-x86_64安装包
- (大数据开发随笔7)Hadoop 3.3.x分布式环境部署——伪分布式模式
脑汁
hadoop大数据分布式
伪分布式模式前戏jdk和hadoop环境变量配置确保防火墙关闭:systemctlstatusfirewalld;返回inactive;关闭命令systemctlstopfirewalld;防止自启动命令systemctldisablefirewalld报错:-bash:/usr/bin/systemctl:Permissiondenied解决:sudochmod-R750/usr/bin/sys
- (大数据开发随笔8)Hadoop 3.3.x分布式环境部署——补充知识
脑汁
大数据分布式hadoop
索引克隆虚拟机SSH免密登录ssh简介免密登录scp命令时间同步克隆虚拟机克隆:注意要分开放置三个虚拟机的位置修改克隆机的ip地址vi/etc/sysconfig/network-scripts/ifcfg-ens33——IPADDR重启网络systemctlrestartnetworkipaddr查看ip地址修改克隆机的主机名hostname主机名2hostnamectlset-hostname
- Echarts开发随笔
周末不敲键盘
一解决echarts使用setOption重新配置时不清除之前的配置项问题描述:如果我们在初始化option之后,然后第一次从接口获取数据渲染结束,然后二次在根据别的条件触发二次请求然后在重新进行渲染,组装series的值,直接使用setOption重新配置,以前的配置项会重复合并,造成显示错误。对应属性notMerge可选。是否不跟之前设置的option进行合并。默认为false。即表示合并。如
- jeecgboot前端开发_JeecgBoot 前端开发随笔
山语经
jeecgboot前端开发
Jeecg-Boot技术文档v2.0:https://www.bookstack.cn/read/jeecg-boot-2.0/custom-component.md(一些现成的组件很实用,常见的用法里面都有详细介绍)【修改页面的一些默认文字,logo等】1.loading文字(正在加载Jeecg-Boot快速开发平台,请耐心等待)位置:public-index.html另外,服务器地址也是在改页
- 安卓开发随笔
龙谈胡学
安卓随笔安卓
今天学到了一些关于intent属性1.ActionAction属性代表系统要执行的动作系统提供如下常用的Action属性*ACTION_MAIN:应用程序入口点*ACTION_VIEW:显示指定数据*ACTION_EDIT:编辑指定数据*ACTION_DIAL:显示拨打电话界面*ACTION_CALL:向指定用户打电话*ACTION_SENDTO:向指定用户发送信息*ACTION_GET_CONT
- 如何提高码农产量,基于java的web快速开发平台之自定义表单开发随笔
香飘飘奶搽
老板:下班前一定写完?程序猿:可以,下班前能一定给!第二天早上上班~~~老板:这都第二天了,怎么没写完?程序猿:我还没有下班呢!哎!程序猿的痛啊公司上线的项目有不少销售记录表,又是报价单,又是仓储表,还有什么请假单之类的。一开始,还觉得不就一些表单吗,有什么难的。结果,实际进行起来,才发现,字段什么的是不难,难的是整体的架构啊!每张表的架构都不一样,又不能套用,每个控件的布局啊,表格的宽度和高度,
- iOS开发随笔
杨柳小易
一些架构小想法。熊猫直播iPad端有很多固定的侧边栏,比如刚进入直播间那个UISplitViewControlleriPad.jpeg分为左右两个,左边是首页、娱乐、订阅、比赛、个人中心、聊天、搜索、设置tab.这几页固定写死的。现在的做法的是这样,首先一个UISplitViewController的子类,然后有个类似leftController和rightController的东东。leftCo
- 开发随笔
Hello_DH
1、mysql数据库的最大链接是300到700。机械硬盘是300,固态硬盘是700。2、缓存穿透是指黑客利用在缓存中不存在的key穿透过缓存直接访问数据库,这样并发的访问数据库导致数据库挂掉。用布隆过滤器进行过滤。3、缓存雪崩,因为缓存失效导致数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都查数据库,导致数据库cpu和内存负载过高,甚至宕机。第一种是由于缓存大面积同时失效导致,
- 基于弹性云服务器的昇腾AI应用开发随笔【与云原生的故事】
Tianyi Li 1997
华为云人工智能
什么是弹性云服务器?先来说说云服务器(ElasticCloudServer),云服务器是具有完整硬件、操作系统、网络功能,并且运行在一个完全隔离环境中的计算机系统。云服务器具有弹性、按需获取的特点。简单来说,就是能够弹性获得资源的云服务器。而我选择使用的是华为云提供的弹性云服务器,规格如下图所示,是用来做基于Ascend310的应用开发的,得益于云服务的方便和快捷,我通过接收官方共享的镜像,可以快
- WPF开发随笔收录-WriteableBitmap绘制高性能曲线图
流浪g
一、前言之前分享过一期关于DrawingVisual来绘制高性能曲线的博客,今天再分享一篇通过另一种方式来绘制高性能曲线的方法,也就是通过WriteableBitmap的方式;具体的一些细节这里就不啰嗦了,同样是局部绘制的思想,滚动条拖动到哪里,就只绘制那一部分的曲线,直接贴代码;二、正文1、
- WPF开发随笔收录-心电图曲线绘制
流浪g
一、前言项目中之前涉及到胎儿心率图曲线的绘制,最近项目中还需要添加心电曲线和血样曲线的绘制功能。今天就来分享一下心电曲线的绘制方式;二、正文1、胎儿心率曲线的绘制是通过DrawingVisual来实现的,这里的心电曲线我也是采用差不多相同的方式来实现的,只是两者曲线的数据有所区别。心电图的数据
- flutter 开发随笔
nero_i
TextField回车换行控制//键盘确认键样式textInputAction:TextInputAction.search,//实现该方法,阻止onSubmitted键盘回落onEditingComplete:(){//自定义回车换行,flutter没有找到换行方式String_temp=_controller.text+'\n';_controller.text=_temp;///控制光标在最
- iOS开发随笔(Xcode11+iOS13兼容)
_涼城
苹果要求6.30日前商店App需升级到iOS13sdk,百度了一下相关资料,并且做了一下升级,发现Xcode11api文档做了许多改动,估计底层实现变更了。现在记录如下:UISegmentedControl默认样式改变(UI有要求,务必优化)。iOS13以上对于通用的仅颜色UI的变更,可以通过创建子类来做覆盖,设置一个自定义tintColor替代。可以通过下面这三个方法设置纯色图片来还原之前的样式
- 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独立出来,数据持