- php 把一个数组分成有n个元素的二维数组的算法
风清扬-独孤九剑
phpphp算法
一、第一种解法0){$columns_map[$position]++;//这个地方格外注意,$position与$columns比较$position=($position<$columns-1)?++$position:0;$array_length--;}foreach($columns_mapas$val){$newarray[]=array_splice($array,0,$val);}
- c++中如何判断变量的数据类型,并输出
xnrbjy
c++开发语言
C++中如果想要判断变量的数据类型,可以使用typeid运算符。该运算符返回一个std::type_info类型的对象,可以使用name()方法获取其名称从而确定变量的类型,例如:#include#includeusingnamespacestd;intmain(){inta=123;floatb=3.14;boolc=true;chard='A';stringe="HelloWorld";cou
- docker怎么端口映射
Lance_mu
docker容器运维
1、默认固定的端口#Web服务器:WebApache或Nginx通常使用80端口HTTP:80HTTPS:443#数据库服务器MySQL:3306PostgreSQL:5432MongoDB:27017Redis:6379#邮件服务器SMTP:25POP3:110IMAP:143#其他服务SSH:22FTP:21DNS(域名解析):53代理服务器Squid:3128版本控制系统Git:9418(S
- 【数据结构】实验一 实现顺序表各种基本运算的算法
张鱼·小丸子
数据结构实验c++数据结构
题目:实现顺序表各种基本运算的算法要求:1、建立一个顺序表,输入n个元素并输出;2、查找线性表中的最大元素并输出;3、在线性表的第i个元素前插入一个正整数x;4、删除线性表中的第j个元素;5、将线性表中的元素按升序排列;6、将线性表中的元素就地逆序(只允许用一个暂存单元);#include#defineSIZE1000usingnamespacestd;typedefstruct{int*a;//
- ruoyi使用笔记
万变不离其宗_8
项目笔记代码参考笔记笔记java前端
1.限流处理@RateLimiter@PostMapping("/createOrder")@ApiOperation("创建充值订单")@RateLimiter(key=CacheConstants.REPEAT_SUBMIT_KEY,time=10,count=1,limitType=LimitType.IP)publicRcreateOrder(@RequestBodyFormform){/
- 检测usb口HotPlug-netlink
cany1000
linux
为了完成内核空间与用户空间通信,Linux提供了基于Socket的NetLink通信机制。SELinux,Linux系统的防火墙分为内核态的netfilter和用户态的iptables,netfilter与iptables的数据交换就是通过Netlink机制完成。下面看一个检测usb口的例子:s32InitUsbHotPlug(void){s32nSockFd=0;//套接字地址structsoc
- Java中HashMap底层数据结构及主要参数?
山间漫步人生路
java数据结构开发语言
在Java中,HashMap的底层数据结构主要基于数组和链表,同时在Java8及以后的版本中,当链表长度超过一定阈值时,链表会转换为红黑树来优化性能。这种结构结合了数组和链表的优点,既提供了快速的随机访问,又允许动态地扩展存储桶的大小。HashMap的主要参数包括:初始容量(InitialCapacity):这是HashMap在创建时设定的桶数组的大小。默认值为16。这个值可以根据预计存储的键值对
- Nginx服务
老伙子53
nginx运维
Nginx服务一、什么是Nginx1、概念Nginx是一个高性能的开源的HTTP和反向代理服务器,以及邮件(IMAP/POP3)代理服务器。它最初由IgorSysoev创建,并于2004年首次公开发布。Nginx的主要特点包括高性能、低内存占用、高并发处理能力以及高度的可靠性。2、特点高性能Nginx被设计成高性能的服务器软件,能够处理大量并发连接和高流量的请求。它采用了事件驱动的架构,使用异步I
- Linux(centos7)部署hive
灯下夜无眠
Linuxlinuxhive运维dbeaverhive客户端
前提环境:已部署完hadoop(HDFS、MapReduce、YARN)1、安装元数据服务MySQL切换root用户#更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysqL-2022#安装Mysqlyum库rpm-Uvhhttp://repo.mysql.com//mysql57-community-release-el7-7.noarch.
- opencv “未声明的标识符:SurfFeatureDetector”问题解决办法
adsdriver
Opencv学习点滴opencv特征点检测未声明的标识符SurfFeaturDetector
在VS中使用opencv2.4.X版本的时候,如果使用SurfFeatureDetector(或者SiftFeatureDetector)做特征点检测的时候,按照官方文档上的示例代码include头文件为:opencv2/features2d/features2d.hpp,则会出现如下报错:errorC2065:“SurfFeatureDetector”:未声明的标识符。1、实际上2.4.X版本的
- GROM学习
码小白l
golang
什么是GROMGo语言ORM(对象关系映射)库,它提供了一种高效、简洁的方式来操作数据库。通过将数据库表映射为Go语言的结构体,GORM让数据库操作变得更加直观和类型安全。GORM支持主流的数据库系统,包括MySQL、PostgreSQL、SQLite和SQLServer等GORM提供了一系列的API来操作MySQL数据库。以下是一些常用的GORMAPI操作,以及它们在操作MySQL时的用法:安装
- 关于HDP的20道高级运维面试题
编织幻境的妖
运维
1.描述HDP的主要组件及其作用。HDP(HortonworksDataPlatform)的主要组件包括Hadoop框架、HDFS、MapReduce、YARN以及Hadoop生态系统中的其他关键工具,如Spark、Flink、Hive、HBase等。以下是对这些组件及其作用的具体描述:Hadoop框架:Hadoop是一个开源的分布式计算框架,用Java语言编写,用于存储和处理大规模数据集。它广义
- Redis+Lua脚本实现分布式服务的限流
henry_2016
Redis分布式redislua
背景限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务。开始打算使用GuavaRateLimiter来实现限流,但RateLimiter是局限于单机中使用,然后打算使用Redis+Lua脚本实现限流。1提供调用的接口@Slf4j@RestController@RequestMapping("/rateLimter")publiccl
- 游戏客户客户端面经
Unity游戏开发
游戏游戏开发求职程序员
C#和C++的类的区别C#List添加100个Obj和100int内存是怎么变化的重载和重写的区别,重载是怎么实现的重写是怎么实现的?虚函数表是类的还是对象的用过哪些C++的STLVector底层是怎么实现的Vector添加一百次数据内存是怎么变化Map的底层,红黑树的查询和插入的时间复杂程度,Unordermap的底层实现是什么List的底层是怎么实现的场景里面有6个玩家扮演贪吃蛇进行3v3,场
- 蓝桥杯:数的分解
云格~
蓝桥杯蓝桥杯算法职场和发展数据结构c语言c++
题目把2019分解成3个各不相同的正整数之和,并且要求每个正整数都不包含数字2和4,一共有多少种不同的分解方法?注意交换3个整数的顺序被视为同一种方法,例如1000+1001+18和1001+1000+18被视为同一种。思路循环遍历看每个数的每位代码#includeusingnamespacestd;boolcheck(intnum){while(num){intdigit=num%10;if(d
- opencv | 计算轮廓的质心
DdddJMs__135
分享opencv人工智能计算机视觉
#include#include#include#includeusingnamespacecv;usingnamespacestd;Matsrc;Matsrc_gray;intthresh=30;intmax_thresh=255;intmain(){src=imread("2.jpg",CV_LOAD_IMAGE_COLOR);cvtColor(src,src_gray,CV_BGR2GRAY
- 蓝桥杯day10刷题日记
jia_jia_LL
蓝桥杯蓝桥杯算法图论dfs刷题笔记数据结构
P8604[蓝桥杯2013国C]危险系数思路:dfs,用深度优先搜索查找一次所有的线路,过程中记录每个点走过的次数,最后在与总路线数比较,相同即为每次必过的点,即关键点#includeusingnamespacestd;intn,m;inta[1010][1010],b[1010];intu,v;intcnt[1010],sum,ans;voiddfs(intx){if(x==v){sum++;f
- MyBatis面试简答题
糯米小麻花啊
mybatis
以下是一份MyBatis的高难度简答题,共20题:请解释MyBatis中#{}和${}的区别,并举例说明它们在实际应用中的使用场景。MyBatis的Mapper接口是如何与XML映射文件关联的?如何在MyBatis中实现动态SQL?请列举几种常见的动态SQL元素并解释其作用。描述MyBatis中的ResultMap的作用,并说明如何定义和使用它。MyBatis如何处理数据库中的null值?请解释M
- C++中using namespace std的作用以及vector数组的使用
宁77吖
数据结构c++学习开发语言
C++中usingnamespacestd的作用以及vector数组的使用本文为自我学习记录,主要包括C++中usingnamespacestd的作用vector数组的使用文章目录C++中usingnamespacestd的作用以及vector数组的使用一、usingnamespacestd二、vector数组2.1使用vector>和ints[][]定义二维数组区别2.2vector数组的插入,
- gdb、mdb、docx、xlsx、pdf、图片、txt多格式文件集成预览
开源GIS地图与信创
近期闭关研究了新成果,实现了gdb、mdb、docx、xlsx、pdf、图片、txt多格式文件集成预览。软件采用B/S架构,可代替ArcGISServer、GeoServer、MapServer等多种GIS引擎。软件只有20M大小,可运行于多种老旧Windows电脑以及国产化电脑桌面软件,免安装,双击即启动,叉掉即关闭支持gdb、mdb、docx、xlsx、pdf、txt、png、jpg、gif、
- 【快速幂、欧拉函数】蓝桥杯第十四届---互质数的个数
bug~bug~
蓝桥杯蓝桥杯职场和发展
给定a,b,求1≤xusingnamespacestd;typedeflonglongLL;constintmod=998244353;LLquick_pow(LLa,LLb){LLres=1;while(b){if(b&1)res=res*a%mod;a=a*a%mod;b>>=1;}returnres;}LLeu(LLn){LLres=n;for(LLi=2;i1)res=res*(n-1)/
- 8x8图形取模软件2.0
Jsjjsnmsk
单片机stm32嵌入式硬件
一不小心把它也开始连载了,最近又有考试,只能偶尔更新一下了更新:选中的格子可以取消选中,程序结束时暂停,直到用户输入enter#include#include#includeusingnamespacestd;#defineKEY_DOWN(VK_NONAME)((GetAsyncKeyState(VK_NONAME)&0x8000)?true:false)#defineEsc27#defineN
- 洛谷入门——P1150 Peter 的烟
Fiona Tracy
c++算法算法c++
Peter的烟题目背景温馨提醒:吸烟有害健康,请勿尝试吸烟!题目描述Peter有nnn根烟,他每吸完一根烟就把烟蒂保存起来,kkk(k>1k>1k>1)个烟蒂可以换一个新的烟,那么Peter最终能吸到多少根烟呢?与某些脑筋急转弯不同的是,Peter并不能从异次元借到烟蒂,抽完后再还回去。输入格式每组测试数据一行包括两个整数n,kn,kn,k(1usingnamespacestd;intmain()
- P9241--DFS
泛舟起晶浪
深度优先算法图论
#includeusingnamespacestd;#defineintlonglongstructplane{intt,d,l;//如题}a[16];intn,f;intbo[16];//标记voiddfs(intx,inttim){if(x==n-1){f=1;return;}else{for(inti=0;itim)//确定开始降落的时间{dfs(x+1,a[i].t+a[i].l);}el
- 第十五届蓝桥杯软件赛模拟赛第三期(c++,python,java通用)
北洋的霞洛
蓝桥杯历年真题蓝桥杯c++算法
注:1.填空题用最简单的方式(暴力递归或枚举)得出答案即可。2.编程题若无思路可用暴力递归或枚举也能拿到不少的分数。第一题【问题描述】请问2023有多少个约数?即有多少个正整数,使得2023是这个正整数的整数倍。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。【思路】简单模拟【代码】#includeusing
- Mockito.when返回的list长度为0问题解决方法
Fanzongshen
Javalistjava
今天玩Mockito.when遇见一个问题Mockito.when返回的list长度为0;上代码ArrayListchildDepts=newArrayListlist=orgMapper.selectOrgList(queryChild);//发现该代码返回的list长度为0此时应该把我们的模拟代码修改成这样Mockito.when(orgMapper.selectOrgList(Mockito
- 百度地图的使用(js,vue2,vue3)
Nancy哇
地图百度javascript开发语言vue前端cssvue.js
百度地图的使用创建应用获取密钥akak是在百度地图开发者平台申请的密钥详见http://lbsyun.baidu.com/apiconsole/key一、原生js使用百度地图引入初始化地图varmap=newBMapGL.Map("container");//创建地图实例varpoint=newBMapGL.Point(116.404,39.928);//创建点坐标map.centerAndZoo
- [Python]补充程序实现以下计算小明参加语文,数学和英语考试,输入小明的3门课程考试成绩,计算并输出3门课程考试成绩的和、平均值以及最高和最低分。 如果三门课程以权重0.5,0.3和0.2计入总分
小熊吖吖
python开发语言
补充程序实现以下计算小明参加语文,数学和英语考试,输入小明的3门课程考试成绩,计算并输出3门课程考试成绩的和、平均值以及最高和最低分。如果三门课程以权重0.5,0.3和0.2计入总分,计算并输出小明的最终总评成绩。chinese,math,english=map(int,input().split(','))print('三门总分:',chinese+math+english)print('三门均
- 流畅的Python(十九)-动态属性和特性
maplea2012
Pythonpython开发语言
一、核心要义在Python中,数据的属性和处理数据的方法,统称属性。方法,只是可调用的属性。除了这两者之外,我们还可以创建特性(property),在不改变类接口的前提下,使用存取方法(即读值方法和设值方法)修改数据属性。二、代码示例0、相关知识点#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2024/3/1320:56#@Author:Maple#@
- XSS四-WEB攻防-XSS跨站&CSP策略&HttpOnly属性&Filter过滤器&标签闭合&事件触发
爱敲键盘的pig
前端xss网络安全
演示案例:XSS跨站-安全防御-CSPXSS跨站-安全防御-HttpOnlyXSS跨站-安全防御-XSSFilter1.CSP(Content Security Policy 内容安全策略)内容安全策略是一种可信白名单机制,来限制网站中是否可以包含某来源内容。该制度明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单,它的实现和执行全部由浏览器完成,开发者只需提供配置。禁止加载外域代码,防
- 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独立出来,数据持