- 如何判断druid连接池存在连接泄漏
lang20150928
druidjava服务器数据库
jmap-histo:live27258|grep'com.alibaba.druid.pool.DruidConnectionHolder'这个命令中的27258是进程号假设返回的结果如下所示2050:5440com.alibaba.druid.pool.DruidConnectionHolder2644:1256[Lcom.alibaba.druid.pool.DruidConnectionH
- go hive skynet_MMORPG游戏服务器技术选型参考-Go语言中文社区
weixin_39908948
gohiveskynet
游戏服务器一般追求稳定和效率,所以偏向于保守,使用的技术手段也是以已经过验证、开发人员最熟悉、能HOLD为主要前提。1、典型按场景分服设计开发语言:c++数据库:mysql架构:多个网关:维持与玩家间的SOCKET连接,可处理广播、断线重连等逻辑。一个或多个账号登陆验证服务器:处理登陆、排队等逻辑。多个场景服务器:处理在本地图上能解决的逻辑,如:打怪、玩家间战斗、接任务、完成任务等各种不需要跨地图
- Spring Boot 整合 log4j2 日志配置教程
m0_74824517
面试学习路线阿里巴巴springbootlog4j单元测试
文章目录前言一、常用日志框架二、配置参数介绍1.日志级别2.输出形式3.日志格式3.1PatternLayout自定义日志布局三、Log4j2配置详解1.根节点Configuration2.Appenders节点2.1Console节点2.2File节点2.3RollingFile节点2.3.1ThresholdFilter节点2.3.2Policies节点2.3.3ThresholdFilter
- linux运维架构部署,Linux运维-day48/49-综合架构-nginx的location规则和LNMP的部署
在下子文
linux运维架构部署
一、nginx状态模块及权限控制补充1.2nginx状态模块通过监控软件查看nginx的状态[root@web01~]#curlstatus.oldboy.comActiveconnections:1serveracceptshandledrequests232323Reading:0Writing:1Waiting:0\\------------------分别代表的含义------------
- html显示base64的pdf,html - base64 embeded PDF files won't render in Chrome - Stack Overflow
weixin_33047553
SomePDFfileswon'trenderinChromebrowserbutwillrenderfineinFirefox.Allfilesrenderfineinallbrowsersifemededdirectly.Theconfusingpartisthattheproblemisonlyforsomefilesandnotall.Filesarestoredinafolderthat
- Git更改远程仓库URL
AI航海家(Ethan)
git
如果你想要更改远程仓库的URL,可以使用以下命令:gitremoteset-urlorigin新的仓库URL如果你希望使用新的远程仓库,你可以更改远程仓库的名称,然后再添加新的远程仓库。例如:#更改远程仓库的名称gitremoterenameoriginold-origin#添加新的远程仓库gitremoteaddorigin新的仓库URL然后你可以使用新的origin远程仓库。如果你需要把修改推
- Python集合之set()使用方法详解
lmseo5hy
python培训python集合
set是一个无序且不重复的元素集合,它有可变集合(set())和不可变集合(frozenset)两种,可以对set()集合进行创建、添加、删除、交集、并集和差集的操作,非常实用,以下是具体用法:一、创建集合setpythonset类是在python的sets模块中,新的python版本可以直接创建集合,不需要导入sets模块。具体用法:1.set('old')2.set(‘o’,’l’,’d’)二
- 【Python深入浅出㊸】解锁Python3中的TensorFlow:开启深度学习之旅
奔跑吧邓邓子
Python深入浅出python深度学习tensorflow
目录一、TensorFlow简介1.1定义与背景1.2特点二、Python3与TensorFlow的关系2.1版本对应2.2为何选择Python3三、安装TensorFlow3.1安装步骤3.2验证安装四、TensorFlow基本概念与使用方法4.1计算图(Graph)4.2会话(Session)4.3张量(Tensor)4.4变量(Variable)4.5占位符(Placeholder)五、Te
- 【记录贴】vite打包内存溢出问题FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
念九_ysl
Vuejavascript开发语言ecmascriptnpm前端
具体报错如下:解决办法:修改package.json的打包命令"build":"vitebuild&&node--max_old_space_size=40960","build:docker":"vitebuild--outDir./docker/dist/",改为"build":"node--max_old_space_size=4096./node_modules/vite/bin/vite
- 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十三节】
车端域控测试工程师
ISO14229-1:2023UDS诊断测试用例全解析测试用例学习经验分享汽车CAPL
ISO14229-1:2023UDS诊断服务测试用例全解析(ControlDTCSetting_0x85服务)作者:车端域控测试工程师更新日期:2025年02月14日关键词:UDS协议、0x85服务、DTC设置控制、NRC覆盖、ISO14229-1:2023一、服务功能概述0x85服务(ControlDTCSetting)用于动态控制DTC存储功能的启用/禁用,支持全局控制和按DTC组控制两种模式
- 【ElasticSearch】规范化器(Normalizers)详解
EulerBlind
Elasticsearchelasticsearch
目录概述自定义规则化器概述规范化器类似于分析器,但它们只能生成单个标记。因此,它们没有标记器,并且仅接受可用字符过滤器和标记过滤器的子集。只允许按字符进行操作的过滤器。例如,小写化过滤器是被允许的,但是需要整体查看关键词的词干过滤器则不被允许。目前可用于规范化器的过滤器列表包括:arabic_normalization、asciifolding、bengali_normalization、cjk_
- 蓝桥杯单片机西风模板 Led底层逻辑
立志当c大牛的白
蓝桥杯单片机职场和发展
voidLed_Disp(unsignedcharaddr,enable){statictemp=0x00;statictemp_old=0xff;if(enable==1)temp|=0x01<<addr;elsetemp&=~(0x01<<addr)if(temp!=temp_old){P0=~temp;P2=P2&0x1f|0x80;P2&=0x1f;temp_old=temp;}}
- AF3 gdt函数解读
qq_27390023
机器学习人工智能生物信息学pythonpytorch
AlphaFold3的函数gdt、gdt_ts以及gdt_ha实现了GlobalDistanceTest(GDT)评分计算,用于衡量蛋白质结构预测的准确性。GDT评分衡量的是预测结构(p1)和真实结构(p2)之间的相似度,主要用于蛋白质结构比较。源代码:defgdt(p1,p2,mask,cutoffs):"""CalculatetheGlobalDistanceTest(GDT)scorefor
- 【Elasticsearch】token filter分词过滤器
risc123456
Elasticsearchelasticsearch
以下是Elasticsearch中常见的分词过滤器(TokenFilter)的详细说明,基于搜索结果中的信息整理:1.Apostrophe•功能:处理文本中的撇号(apostrophe),例如将“O'Reilly”转换为“oreilly”或“oreilly”。•应用场景:适用于处理包含撇号的名称或术语。2.ASCIIFolding•功能:将非ASCII字符转换为ASCII字符。例如,将“é”转换为
- 论文笔记《基于深度学习模型的药物-靶标结合亲和力预测》
I_dyllic
深度学习论文阅读深度学习人工智能
基于深度学习模型的药物-靶标结合亲和力预测这是一篇二区的文章,算是一个综述,记录一下在阅读过程中遇到的问题。文章目录基于深度学习模型的药物-靶标结合亲和力预测前言一、蛋白质接触图谱二、为什么蛋白质图谱的准确性对DTA模型预测结果没有影响1.对这段话的解释2.关于Alphafold3三、随机配体与随机配体节点属性(配体一般指药物)1.什么是随机配体与配体节点属性四、关于深度学习模型对特征的自动学习过
- 使用GitHub Actions的Self-hosted runner
明长歌
githubactions
登录github网站选择项目点击Settings按钮,进入设置页面点击actions/runners进入Runners页面点击Newself-hostedrunner按钮进入新增页面选择相应配置,生成相应的命令,在内网机器上运行下载:#Createafolder$mkdiractions-runner&&cdactions-runner#Downloadthelatestrunnerpackage
- uniapp中对于文件和文件夹的处理,内存的查询
today喝咖啡了吗
uni-app前端javascript
目录移动文件到指定文件夹新增本地文件夹设定本地文件过期时间,清除超时文件,释放内存操作本地文件之----删除uniapp获取设备剩余存储空间的方法读取本地文件夹下的文件移动文件到指定文件夹functionmoveTempFile(tempFilePath,targetFolderPath,targetFileName){plus.io.resolveLocalFileSystemURL(tempF
- 浅析c++中函数调用其他文件中的模板函数出错
律白
C++
文章目录报错信息错误描述原因分析解决方案报错信息Undefinedsymbolsforarchitecturex86_64:"voidPrintNum(int)",referencedfrom:_maininmain-d2a7a9.old:symbol(s)notfoundforarchitecturex86_64clang:error:linkercommandfailedwithexitcod
- 科普:数据存储时,考虑“冷数据”和“热数据”
人工干智能
大数据大数据
冷数据和热数据是根据数据的访问频率和重要性来定义的两种数据类型。热数据(HotData):定义:指的是访问频率高、对业务和应用至关重要的数据。特性:这些数据需要快速、高效的访问和处理,因此通常存储在高性能、低延迟的存储设备上,如SSD固态硬盘或内存。应用场景:常见于实时数据处理、高频交易系统、在线数据库等对数据访问速度要求极高的场景。冷数据(ColdData):定义:指的是访问频率较低、对业务和应
- 图像处理篇---基本OpenMV图像处理
Ronin-Lotus
图像处理篇嵌入式硬件篇图像处理人工智能计算机视觉python机器学习OpenMV
文章目录前言1.灰度化(Grayscale)2.二值化(Thresholding)3.掩膜(Mask)4.腐蚀(Erosion)5.膨胀(Dilation)6.缩放(Scaling)7.旋转(Rotation)8.平移(Translation)9.边缘检测(EdgeDetection)10.轮廓检测(ContourDetection)11.总结总结前言以上就是今天要讲的内容,本文仅仅简单介绍了Op
- 批量修改mysql字符串字段子字符串
Leo_Hu666
mysql数据库
替换子字符串使用REPLACE函数替换字段中的特定子字符串。示例:将table_name表中column_name字段的所有old_value替换为new_value。UPDATEtable_nameSETcolumn_name=REPLACE(column_name,'old_value','new_value')WHEREcolumn_nameLIKE'%old_value%';说明:REPL
- Python numpyf2py链接库
q56731523
python开发语言
1、问题背景用户在使用Python的numpy/f2py模块将FORTRAN程序包装成Python模块时遇到了问题。在链接FORTRAN程序中用到的外部库时,遇到了错误信息:gfortran:f77:/var/folders/46/l1mrxgls07s6tpwb6tgpvhpr0000gn/T/tmpPCM7Ne/src.macosx-10.9-intel-2.7/progs-f2pywrapp
- 【Python】os库的介绍及用法
"啦啦啦"
pythonpython笔记
目录1、os库应用场景2、os库-标准库1、os库应用场景Python的os模块用于与操作系统交互,因此它有许多应用场景。下面是一些常见的案例:文件操作:读取、写入、重命名、删除文件。例如,我们可能需要使用Python来自动化一些文件管理任务。importos#创建文件夹ifnotos.path.exists('new_folder'):os.makedirs('new_folder')#将文件移
- C++四种类型转换方式
aby_byy
c++c++类型转换
C风格(C-style)强制转型如下:(T)expression//castexpressiontobeoftypeT函数风格(Function-style)强制转型使用这样的语法:T(expression)//castexpressiontobeoftypeT这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式称为旧风格(old-style)的强制转型。有的时候用c风
- ubuntu检测断网后自动重启网卡
_Never_stop_
ubuntu网络linux
以下是实现Ubuntu在检测到网络中断时自动重启NetworkManager服务的步骤:###1.创建监控脚本保存以下内容为`/usr/local/bin/network-restart.sh`:```bash#!/bin/bashTARGET="8.8.8.8" #检测目标,可替换为可靠IP或域名FAIL_THRESHOLD=3 #连续失败次数阈值INTERVAL=5 #正常检测间隔(秒)
- AI应用完整加载数据集配置神经网络配置训练信息训练模型与保存模型到本地------AI
旧约Alatus
AI软件架构设计人工智能stablediffusionchatgptAIGCDALL·E2AI-nativebard
packagecom.alatus.djl.web;importai.djl.Application;importai.djl.MalformedModelException;importai.djl.Model;importai.djl.basicdataset.cv.classification.ImageFolder;importai.djl.basicdataset.cv.classifi
- Unity使用iTextSharp导出PDF-03显示文本内容
心前阳光
#Unity插件使用unitypdf
文本内容自动排布类似GUILayoutChunk最简单的文本对象显示文本设置使用的字体,不设置字体,默认使用英文字体设置下划线设置背景色文档中只使用Chunk,文本内容不会自动换行换行:Chunk.NEWLINE或者"\n"doc.Add(newChunk("HelloPDF!"));//使用英文字体不显示中文doc.Add(newChunk("你好,PDF!",BoldFont));//显示中文
- OpenCV——边缘检测 Canny
&海哥
OpenCVopencv计算机视觉人工智能
边缘检测函数Canny功能描述:运用边缘检测算子对输入图形的边缘进行检测(根据设定好的最大阈值和最小阈值)并将检测到的边缘显示在输出的图像上。参数释义:参数image:输入图像;参数edges:输出(边缘)图像;参数threshold1:边缘检测的第一个(最小)阈值;参数threshold2:边缘检测的第一个(最大)阈值;参数apertureSize:Sobel算子的大小(默认为3X3);参数L2
- YOLOv8改进策略【Neck】| NeurIPS 2023 融合GOLD-YOLO颈部结构,强化小目标检测能力
Limiiiing
YOLOv8改进专栏YOLO目标检测深度学习计算机视觉
一、本文介绍本文主要利用GOLD-YOLO中的颈部结构优化YOLOv8的网络模型。GOLD-YOLO颈部结构中的GD机制借鉴了全局信息融合的理念,通过独特的模块设计,在不显著增加延迟的情况下,高效融合不同层级的特征信息。将其应用于YOLOv8的改进过程中,能够使模型更有效地整合多尺度特征,减少信息损失,强化对不同大小目标物体的特征表达,从而提升模型在复杂场景下对目标物体的检测精度与定位准确性。专栏
- libssl.so.10: cannot open shared object file: No such file or directory
jerry.qin
linux
libssl.so.10:cannotopensharedobjectfile:Nosuchfileordirectory解决办法:先下载安装一次openssl下载:https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz执行./configsharedzlib-dynamic来生成Makefile文件。通过make来生成生成li
- 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独立出来,数据持