- Linux使用cpulimit对CPU使用率进行限制
云服务器linux运维cpu
介绍cpulimit是一款可以对CPU使用率进行限制的软件,既可限制单个特定程序,也可以对整个CPU使用率进行限制,安装使用都很方便,需要的朋友可以试试。源安装(推荐)Centos:yuminstallcpulimitDebian/Ubuntu:apt-getinstall-ycpulimit编译安装cd/tmpwget'https://www.02405.com/wp-content/uploa
- Linux 查看 CPU 使用情况
linux运维
在Linux系统中,查看CPU使用情况是性能分析和故障排查的重要环节。查看CPU使用情况,使用top命令或者htop命令来查看。top命令是Linux的一个快速动态进程监视器,可以实时显示特定系统监视器核心指标,示例如下:1.top命令toptop-19:30:10up 2:33, 1user, loadaverage:0.44,0.47,0.45Tasks:183total, 1runn
- Oracle分析函数,窗口函数
殷乾Lakers
oracle数据库
Oracle窗口函数也叫分析函数,是系统自带的一种函数。可以对数据的结果集进行分组操作,然后对分组的数据进行分析统计,可以在每个分组的每一行中返回统计值。分析函数-定义:分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。分析函数和聚合函数区别:1)普通的聚合函数用groupby分组,每个分组
- 安卓环境脚本
nb的码农
linux杂项linux
sudoapt-getinstalluuiduuid-devzlib1g-devliblz-devliblzo2-2liblzo2-devlzopgit-corecurlu-boot-toolsmtd-utilsandroid-tools-fsutilsopenjdk-8-jdkdevice-tree-compiler\gdiskm4libz-devgitgnupgflexbisongperfli
- arm64 ubuntu20.4 安装 mysql5.7 脚本
因你而在的梦
linuxubuntuarm64mysql5.7
1.安装依赖sudoaptupdatesudoaptinstall-ylibaio*2.下载压缩包wgethttps://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz3.添加mysql组和mysql用户sudogroupaddmysqlsudouseradd-r-gmysq
- SQL Server 触发器
.Net 爱好者
sql数据库oracle
在SQLServer中,触发器是一种特殊类型的存储过程,它会在特定事件发生时自动执行。触发器主要分为以下几种类型:DML触发器(DataManipulationLanguageTriggers)DDL触发器(DataDefinitionLanguageTriggers)登录触发器(LogonTriggers)1.DML触发器DML触发器用于响应数据操作语言(INSERT、UPDATE、DELETE
- 【MySQL】表的改,删
熙曦Sakura
MySQLmysql数据库
CRUD:Create(创建),Retrieve(读取),Update(更新),Delete(删除)6.3Update语法:UPDATEtable_nameSETcolumn=expr[,column=expr...][WHERE...][ORDERBY...][LIMIT...]对查询到的结果进行列值更新6.3.1将孙悟空同学的数学成绩变更为80分--更新值为具体值--查看原数据SELECTna
- [AtCoder Regular Contest 125] A-F全题解
ikrvxt
结论和构造DP构造网络流dp分块数学
文章目录A-DialUpB-SquaresC-LIStoOriginalSequenceD-UniqueSubsequenceE-SnackF-TreeDegreeSubsetSum网址链接A-DialUp签到题特判一下有没有0/1在目标串中出现而没在原串出现除了第一次0/1数字互换时,需要从a1a_1a1左右找距离最近的不同数字后面互换就是左/右转一次#include#includeusingn
- auto.js_事件与监听-events(主要的)_ZHOU125disorder_
zjing125
#auto.js基础学习auto.js事件与监听
启用按键监听events.observeKey()启用按键监听,例如音量键、Home键。按键监听使用无障碍服务实现,如果无障碍服务未启用会抛出异常并提示开启。只有这个函数成功执行后,onKeyDown,onKeyUp等按键事件的监听才有效。该函数在安卓4.3以上才能使用。注册一个按键监听函数events.onKeyDown(keyName,listener)keyName:要监听的按键名称list
- auto.js_按键模拟_ZHOU125disorder_
zjing125
#auto.js基础学习auto.js模拟按键
依赖root的模拟Home()模拟按下Home键。此函数依赖于root权限。Back()模拟按下返回键。此函数依赖于root权限。Power()模拟按下电源键。此函数依赖于root权限。Menu()模拟按下菜单键。此函数依赖于root权限。VolumeUp()按下音量上键。此函数依赖于root权限。VolumeDown()按键音量上键。此函数依赖于root权限。Camera()模拟按下照相键。Up
- kotlin 万能适配器
шесай-ай-ай-ай-ай, ч
kotlinkotlinandroid开发语言
Kotlin语言的直接考这四个类直接拿来用就可以了RecyclerBaseAdapter类packagecom.xxxx.pad.base.adapterimportandroid.content.Contextimportandroid.view.LayoutInflaterimportandroid.view.Viewimportandroid.view.ViewGroupimportandr
- 多线程(4)
噼里啪啦啦.
java算法前端
接着介绍多线程安全问题.由于线程是随机调度,抢占式执行的,随机性就会导致程序的执行顺序产生不同的结果,从而产生BUG.下面是一个线程不安全的例子.packageDemo4;publicclassDemo1{privatestaticintcount=0;publicstaticvoidmain(String[]args)throwsInterruptedException{Threadt1=new
- Ubuntu18.04虚拟机掉电重启后网卡丢失只剩下lo回环网卡ens33网卡不见了
新潮技术研究社
Qt开发问题大全算法爬虫大数据百万案例大全ubuntulinuxvmwareifconfig
某天,Ubuntu18.04虚拟机掉电重启后网卡丢失只剩下lo回环网卡执行操作:1.查看所有网卡,ifconfig-a2.执行sudodhclientens333.查看网卡驱动是否还在:lspci–v4.使能网卡:ifconfigens33up5.重启网络服务:/etc/init.d/networkingrestart6.测试:sudoaptupdate7.这里,关键的一步是,dhclienten
- linux环境下快速输出电脑的系统/硬件/显卡/网络/已安装软件等信息
Tipriest_
Ubuntulinux电脑网络信息输出
在Linux环境下,可以通过以下命令快速获取系统和硬件信息。最后将这些命令整合成一个脚本(如`sysinfo.sh``),一键输出所有信息。1.系统信息#内核信息uname-a#发行版信息lsb_release-a2>/dev/null||cat/etc/*release*#系统启动时间uptime#环境变量echo"PATH:$PATH"2.硬件信息#CPU信息lscpucat/proc/cpu
- 我的Notepad++插件推荐
硫酸锌01
Windowside编辑器
上一篇文章我对x86版本的Notepad++官方支持的167个第三方插件,做了一个总结和翻译介绍。这几天我对感兴趣的插件做了一些测试,推荐22个高频使用的实用插件。Notepad++的插件可以从菜单栏的插件-插件管理中查找并下载:或者也可以下载文件后将插件拷贝到Notepad++安装目录下的plugins目录下。其中本文提到的全部22个插件我已经上传到了网盘。其中我对dll文件使用了upx压缩,所
- Java学习--关键字
月色很柔
Java学习java
Java学习--关键字前言关键字finalstaticsuperthis实现前言本文主要参考:here;若需要可直接前往学习。关键字final、Static、super、this…final区分final、finally、finalize:理解final的含义:final意为最终的含义,用来修饰类、方法和变量。修饰类:publicfinalclassClassName{}被final修饰的类不能被
- java------方法的覆盖[重写],super和final关键字
从未止步..
JavaSE基础java开发语言jvm
方法覆盖(也称为方法的重写,Override)定义:它是多态性的重要体现之一,是动态多态性的表现形式,他是指子类中可以定义名称,参数列表,返回值类型均与父类中某个方法完全相同的方法,我们就说子类中定义的这个方法覆盖了父类中的同名方法。举例://anmial为父类packageanmial;publicclassAnimal{publicvoidshow
- Java学习------static、final、this、super关键字
日暮南城故里
Java学习记录java学习
1.static关键字static修饰的变量叫做静态变量。当所有对象的某个属性的值是相同的,建议将该属性定义为静态变量,来节省内存的开销。静态变量在类加载时初始化,存储在堆中。static修饰的方法叫做静态方法。所有静态变量和静态方法,统一使用“类名.”调用。静态方法中不能使用this关键字。因此无法直接访问实例变量和调用实例方法。静态代码块在类加载时执行,一个类中可以编写多个静态代码块,遵循自上
- 近期docker镜像加速器被封杀,需要的请看此内容 点赞加关注
加油干sit!
dockerdocker
{“registry-mirrors”:[“https://docker.m.daocloud.io”],“insecure-registries”:[“harbor.sunya.com”],“exec-opts”:[“native.cgroupdriver=systemd”],“data-root”:“/data/docker”,“log-driver”:“json-file”,“log-opt
- AI学习第二天--监督学习 半监督学习 无监督学习
iisugar
机器学习支持向量机人工智能
目录1.监督学习(SupervisedLearning)比喻:技术细节:形象例子:2.无监督学习(UnsupervisedLearning)比喻:技术细节:形象例子:3.半监督学习(Semi-SupervisedLearning)比喻:技术细节:形象例子:4.三者的对比与选择表格总结:5.实际案例对比案例:电商平台用户分群6.关键逻辑总结1.监督学习(SupervisedLearning)比喻:老
- HTML入门
Yeauty
html
HTML的概述什么是HTML:HyperTextMarkupLanguage超文本标记语言超文本:比普通文本更加强大,能够定义许多文本样式标记语言:通过一组标签来对内容进行标记,并且修饰-标签:为什么要学习HTML它是网页设计的设计,基本上所有的网站都是用它开发的如何来学习HTMLHTML语法规范HTML是一个.html或者.htm结尾的文件HTML文件中是头和体两部分HTML是通过一组标签来对内
- 编程提示异常就不用挨个度娘了——Python初识必备
爱码小士
Python网络爬虫机器学习web开发人工智能
相信对于很多小白,新手对一些异常提示,都不一定明白其含义,所以给大家整理了这样一份中英对照表,对大家一定有所帮助,当然最好都能熟记于心,这样就不用再去一个个度娘了,觉得这个表不错就点个赞加转发吧,文末更多福利异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopI
- MySQL(二):逻辑查询
2401_84003690
程序员mysqlandroid数据库
CREATETABLEt(aCHAR(5))ENGINE=INNODB;INSERTINTOt(a)VALUES(‘a’),(NULL),(‘b’),(‘c’),(NULL);SELECT*FROMtORDERBYa;//这也是一个小技巧,当想使用GROUPBY后,想统计各个组/块的数量,可以使用COUNT(1)SELECTa,COUNT(1)FROMtGROUPBYa;结果如上,很清楚可以看到o
- MySQL相关面试题
努力的搬砖人.
mysqljava面试后端
以下是150道MySQL相关面试题:一、SQL和基本操作1.SQL的执行顺序是什么?SQL查询的执行顺序大致如下:1.FROM:指定数据来源表。2.WHERE:对表中的行进行筛选。3.JOIN:将多个表连接起来。4.GROUPBY:对数据进行分组。5.HAVING:对分组后的数据进行筛选。6.SELECT:选择需要的列。7.ORDERBY:对结果进行排序。8.LIMIT:限制返回的行数。2.如何优
- 【Python】字符串的常用方法
myjzwsz
python开发语言
Python的字符串是一种不可变序列类型,提供了许多内置的方法来处理文本数据。下面是一些常用的字符串方法:str.lower()-将所有字符转换为小写。str.upper()-将所有字符转换为大写。str.capitalize()-首字母大写,其余字母小写。str.title()-每个单词的首字母大写。str.swapcase()-大小写互换。str.strip([chars])-移除字符串头尾指
- 基于生成对抗网络(GAN)的图像超分辨率实战:从SRGAN到ESRGAN
Evaporator Core
#深度学习强化学习生成模型生成对抗网络人工智能神经网络
图像超分辨率(ImageSuper-Resolution)是一种通过算法将低分辨率图像转换为高分辨率图像的技术,广泛应用于医学影像、卫星图像和视频增强等领域。生成对抗网络(GAN)是图像超分辨率的经典方法,而增强型超分辨率生成对抗网络(ESRGAN)则通过引入残差网络和感知损失进一步提升了图像质量。本文将通过一个完整的实战案例,展示如何使用SRGAN和ESRGAN进行图像超分辨率,并提供详细的代码
- React-state响应式内部数据(类组件&Hook两种方式整理)
一蓑烟雨,一任平生
Reactjavascript前端react.js
类组件在类组件中要定义内部数据,由两种方案构造器里面定义state属性,在这个对象中定义你需要的数据constructor(){super()this.state={count:1}}在类的下面直接定义一个属性state(推荐)state={count:10}页面要使用state数据{this.state.count}建议大家在React中使用内部state数据的时候,使用解构的方式将内容解构出来
- 【工作记录】python使用总结
星光不负赶路人!
python
1.os库2.xlwt库3.xlrd库4.BeautifulSoup库5.panda库6.json库7.re正则8.ddddocr登录网站的时候,经常输入用户名和密码后会遇到验证码,ddddocr是一款强大的通用开源ocr识别库,具有高效、准确、易用的特点,广泛应用于图像处理和文字识别任务。importddddocrtry:login_page.wait_for_timeout(2000)#等待2
- STM32F103 NVIC嵌入式中断控制器
芯片烧毁大师
STM32F103C语言stm32单片机arm
STM32F103NVIC嵌入式中断控制器一、什么是NVICNVIC即嵌套向量中断控制器(NestedVectoredInterruptController).STM32中有一个强大而方便的NVIC,它是属于CM3内核的器件。NVIC是嵌套向量中断控制器,控制着芯片中断相关的功能,他跟内核紧密耦合,是内核里面的一个外设。但是各个芯片厂商在设计芯片的时候会对CM3内核里面的NVIC进行剪裁,把不需要
- 【Auto-Scroll-List 组件设计与实现分析】
Gazer_S
Vue3重构优化数据结构vue.js前端javascript
Auto-Scroll-List组件设计与实现分析gitee代码仓库https://gitee.com/chennaiyuan/dayup-record/tree/master/%E4%B8%80%E4%BA%9B%E7%BB%84%E4%BB%B6/auto-scroll-list1.组件概述我们封装的AutoScrollList是一个自动滚动列表组件,主要用于展示需要自动循环滚动的数据项,如通
- 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独立出来,数据持