- 搭建一个本地 SMTP 服务器
FHKHH
服务器运维
由于SMTP服务器的开放端口和安全性问题,许多现代邮件服务器不再允许直接通过Telnet连接到标准的25端口发送邮件,尤其是未经认证的用户。因此,许多公共电子邮件服务商如Gmail、Yahoo等也禁用了这种方式,转而要求使用更安全的加密连接,如通过SSL/TLS连接发送邮件。不过,如果你有权限使用某个SMTP服务器(比如你自己公司的邮件服务器或本地服务器),你可以联系你的邮件服务器管理员获取服务器
- 【C/C++】创建链表例题学习
奇变偶不变0727
c语言链表开发语言
题目:函数接口定义:voidinput();该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:structstud_node{intnum;/*学号*/charname[20];/*姓名*/intscore;/*成绩*/structstud_node*next;/*指向下个结点的指针*/};单向链表的头尾指针保存在全局变量head和tail中。输入为若干个学生
- 高流量Web服务器Kubernetes架构优化
完颜振江
前端服务器kubernetes
一、基础设施层优化1.节点自动扩展策略#集群自动扩缩容配置(GKE示例)apiVersion:clusterautoscaler.kubernetes.io/v1beta2kind:AutoscalingPolicymetadata:name:web-cluster-policyspec:minNodeCount:5maxNodeCount:50scaleDown:utilizationThres
- 网络安全之反射放大型DDOS
tiezhuLee
笔记scapy安全网络经验分享
背景据CERNET2014年10月的月报统计,其38个主节点中有超过一半检测到来自国内次数超过2200次、总流量超过16TB的NTP反射放大攻击;2016年10月美国Dyn公司的DNS服务器遭受DNS反射放大攻击与SYN洪水攻击,导致美国大范围断网;2017年11月13日到2017年11月15日期间,ZoomEye网络空间探测引擎探测到一个活动频繁的攻击——CLDAPDDoS反射放大攻击,随后对D
- Elasticsearch+Fluentd+Kibana 日志收集系统的搭建
Resean0223
devopselasticsearchdocker
本次安装部署是在docker环境中进行,没有安装docker的,先安装docker环境,具体也可以参考我另一篇文章:[https://blog.csdn.net/qq_31366767/article/details/120880458]一、ElasticSearch安装配置1、首先先创建好安装目录,然後在改目录下创建docker-compse.yml文件version:'2'networks:e
- 潮州观林曦老师书画展 幸福又圆满
消息快传
生活
元宵节前一日,去潮州看林曦老师的书画展,一次没看够,元宵节当天又去一次,一个人一幅画站定很久,才满足才甘心。站在林曦老师作品前,除看到每一笔里的功夫,天真、温柔与精进——这次展览的主题,也是最能表达老师人生态度的六个字跃然纸上,很难没有好兴致。记得我成为林曦老师的学生,是二零二二年,那年春天跟随林曦老师写下了第一笔横道道和圆圈圈。我爱半途而废,却不知不觉写了那么久,时常感慨。天资普通,用功一般,所
- 【毕设专用】2025 AI 多模态 大模型 接入 合集
2401_84711588
人工智能
【ESP32接入国产大模型之kimi】https://vor2345.blog.csdn.net/article/details/140782934【ESP32接入国产大模型之MiniMax】https://vor2345.blog.csdn.net/article/details/136768206【ESP32接入国产大模型之豆包】https://vor2345.blog.csdn.net/ar
- linux系统测试网络pps、带宽和延时(方案来源于阿里云)
乐观主义现代人
linux网络阿里云
此方案来源于阿里云pps测试步骤分别在测试机和辅助测试机上执行以下命令,下载Netperf。wgethttps://benchmark-packages.oss-cn-qingdao.aliyuncs.com/netperf-2.7.0.tar.gz分别在测试机和辅助测试机上执行以下命令,安装Netperf和sar监控工具。sudoyuminstall-ygccautoconfautomakeli
- 天童美语:观察你的生活
消息快传
生活
在孩子的认知里,世界宛如一片充满神秘色彩的未知之境,有着无尽的奥秘等待他们去探索。家长们,引导孩子用心观察世界,领略其中的美妙,这对孩子的成长进程有着极为关键的作用。贵阳天童教育相信:观察生活,感悟生活,会给孩子带来对世界的美好之处的深度体验。为什么我们建议孩子们去观察生活呢?从认知发展理论来讲,孩子通过观察自然万象,能有效激发他们内在的好奇心与求知欲。自然环境中的各类元素,无论是宏观的生态系统,
- springboot+vue使用EasyCaptcha实现简单验证码
ueanaIU潇潇子
springbootvue.js图形验证码EasyCaptcha
一、实现效果springboot使用EasyCaptcha实现简单验证码,更多api和用法可以去github上查看EasyCaptcha:Java图形验证码,支持gif、中文、算术等类型,可用于JavaWeb、JavaSE等项目。二、实现步骤1、导入依赖com.github.whvcseeasy-captcha1.6.2org.openjdk.nashornnashorn-core15.4我使用的
- FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future versio
byteyoung
错误调试
一直用pandas做数据分析,不过一直用的是老版本,还是0.20,今天做平稳性分析,出现了一个警告信息FutureWarning:Thepandas.core.datetoolsmoduleisdeprecatedandwillberemovedinafutureversion.Pleaseusethepandas.tseriesmoduleinstead.frompandas.coreimpor
- 国标GB28181设备管理软件EasyGBS国标GB28181视频平台:GB/T28181中的流类型
科技小E
音视频网络视频监控安全大数据
在当今的视频监控领域,GB/T28181协议作为中国国家标准委员会发布的重要技术规范,发挥着举足轻重的作用。这一标准不仅为视频监控系统的设备接入、视频流传输、设备控制等功能提供了明确的技术指导,还极大地促进了不同厂家设备之间的兼容性和互操作性。本文将深入探讨GB/T28181协议中的流类型。GB/T28181中的流类型(一)PS码流抓包分析GB/T28181的视频流采用PS格式进行封装。PS数据包
- nnUNet V2修改网络——替换为U-Net V2
w1ndfly
nnU-NetV2修改网络人工智能深度学习计算机视觉卷积神经网络机器学习
更换前,要用nnUNetV2跑通所用数据集,证明nnUNetV2、数据集、运行环境等没有问题阅读nnU-NetV2的U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。U-NetV2是一种先进的医学图像分割模型,它通过改进的跳跃连接和语义细节注入(SDI)模块,有效地融合了高级语义信息和低级细节信息,从而显著提升了分割精度。相比原始U-Net,U-NetV2在多个数据集上表现出更
- Intellij IDEA快捷键大全汇总
harryptter
javajavaintellijidea
转载自:http://www.jb51.net/softjc/261714.htmlAlt+回车导入包,自动修正Ctrl+N查找类Ctrl+Shift+N查找文件Ctrl+Alt+L格式化代码Ctrl+Alt+O优化导入的类和包Alt+Insert生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C最近更改的代码Ctrl+R替换文本Ctrl+F查找文本Ctrl+Shi
- Http响应头之Date与Age
yzpyzp
参考:http://www.xuebuyuan.com/1496558.htmlhttp://blog.csdn.net/xifeijian/article/details/46460631HTTP没有为用户提供一种手段来区分响应是缓存命中的(比如响应是来自代理服务器的),还是访问原始服务器得到的。客户端有一种方法能判断响应是否来自缓存,就是使用Date首部。将响应中Date首部的值与当前时间进行
- HTTP协议响应头Date与Age的区别
yzpyzp
HTTP/HTTPS
参考:http://blog.csdn.net/xifeijian/article/details/46460631
- 后端Long类型19位返回前端丢失精度问题
19940719
JAVA
后端Long类型19位返回前端丢失精度问题问题原因:由于Long类型最大19位而JavaScript最大接收数字为16位,固存在精度丢失问题解决方案1.导入Maven依赖com.fasterxml.jackson.corejackson
- DQN的原理和代码实现
SmallerFL
NLP&机器学习DQN强化学习深度学习
文章目录1.概述2.DQN的训练步骤2.1初始化2.2训练循环2.3终止条件2.4评估3.代码示例1.概述深度Q网络(DeepQ-Network,DQN)是强化学习中的一种重要算法,由GoogleDeepMind于2013年提出。DQN结合了Q学习和深度学习,通过使用神经网络来近似Q值函数,解决了传统Q学习在高维状态空间中的问题。2.DQN的训练步骤2.1初始化环境:定义环境(例如,Atari游戏
- 解决CSS中设置<span>标签失效的方法
学技术的翻译小白
前端csshtmlhtml5
引用原文:https://www.jb51.net/css/112384.html‘’’spanid=‘span_slide_container’style=‘display:block;overflow-y:auto;overflow-x:auto;height:500px;’‘’’此处display:block;一定要加上,否则,span不起作用如果要定义span居中,必须先让span成块级元
- ML.NET库学习006:成人人口普查数据分析与分类预测
North_D
ML.NET库机器学习人工智能深度学习数据挖掘目标检测自然语言处理神经网络
文章目录ML.NET库学习006:成人人口普查数据分析与分类预测概述数据集数据字段解释为何数据准备很重要主要功能与模块数据准备机器学习工作流代码结构说明数据准备模块机器学习工作流数据加载与分割特征工程与模型训练模型评估与预测实现细节与注意事项数据准备模块机器学习工作流性能优化项目优势LightGBM分类器原理说明总结ML.NET库学习006:成人人口普查数据分析与分类预测概述本项目使用C#和ML.
- 人工智能爆火下,关于软件技术专业的发展思考
yzx991013
人工智能
软件技术专业作为信息技术领域的核心学科,其发展方向始终与技术进步和社会需求紧密相关。以下是软件技术专业未来发展的关键方向及学习建议:一、技术方向与前沿领域1.云原生与分布式架构方向:云原生技术(Kubernetes、Docker、Serverless)、微服务架构、分布式系统设计。原因:企业全面上云已成趋势,需要高效、弹性的云原生解决方案。学习建议:掌握AWS/Azure/GCP等云平台,学习服务
- Golang 基础库之Strconv
家了叭叭
Golanggolangc语言开发语言
Strconv参考资料:http://c.biancheng.net/view/vip_7305.htmlhttps://vimsky.com/examples/list/code-usage-page-1.html标准库中文文档:https://studygolang.com/pkgdocstrconv包实现了基本数据类型和其字符串表示的相互转换。实现了基本数据类型与其字符串表示的转换,主要有以
- Apache Cordova开发教程-入门基础
天马3798
教程系列整理apache
1.ApacheCordova简介ApacheCordova介绍_coreapachecordovaapi.-CSDN博客2.ApacheCordovaCLI环境搭建,编译,启动ApacheCordova开发环境搭建(二)VSCode_vscodecordova框架-CSDN博客VSCode开发Cordova应用调试整理_cordovatools-CSDN博客3.ApacheCordovaAndr
- “碰一碰”发视频后台技术架构与数据模型全解析
会飞的程序猿丫
音视频架构
一、技术原理:碰一碰发视频的底层逻辑1.1硬件交互层-NFC触发机制**:用户触碰商家部署的NFC标签(成本约0.5-2元/枚)后,自动唤醒手机内置服务-数据传输协议**:-NDEF格式存储跳转链接(建议使用缩短URL服务)-兼容AndroidHCE/iOSCoreNFC框架1.2用户触达路径用户触碰设备→获取加密商家ID→请求CDN视频链接→LBS校验→播放定制视频→引导关注/领券---二、核心
- 商家必看!为什么现在必须布局商业付费流量?这4个原因告诉你答案
会飞的程序猿丫
人工智能大数据
在本地生意竞争白热化的今天,商家如果还依赖“自然流量躺赢”,很可能会被时代淘汰。巨量本地推在产品升级计划,用一组数据揭示了真相:过去一年,使用付费流量的商家成交额增长397%,经营效率提升超50%。这背后传递了一个明确的信号——商业付费流量不再是“可选项”,而是本地商家生存与增长的“必选项”。为什么?我们从运营角度拆解4大核心原因。一、流量红利期稍纵即逝,抢先入局者收割市场抖音生态的本地生活服务正
- Node.js 版本与 npm 的关系及版本特性解析:从开源项目看演进
念九_ysl
node.jsnpm开源
引言Node.js的版本迭代和npm的协同演进,始终是开发者关注的焦点。本文将从版本特性、npm的依赖关系和开源项目实践三个角度,解析Node.js的版本演进,并通过实际项目案例帮助开发者理解升级的重要性。一、Node.js与npm的关系1.版本绑定Node.js安装包默认包含npm(NodePackageManager),但两者的版本独立更新:Node.js18.x➔默认npm8.xNode.j
- CentOS服务器部署Redis远程访问问题
yinriyang
Redis服务器centosredis
CentOS服务器上部署Redis,无法远程访问该Redis。检查redis.conf:##################################NETWORK######################################Bydefault,ifno"bind"configurationdirectiveisspecified,Redislistens#forconnect
- 探索工业物联网平台:智能制造的未来
Echo_Wish
Python进阶物联网制造
探索工业物联网平台:智能制造的未来大家好,我是你们熟悉的人工智能与Python领域自媒体创作者Echo_Wish。今天我们来聊聊一个热门话题:工业物联网平台(IndustrialInternetofThings,IIoT)。工业物联网平台在智能制造中的应用正日益广泛,帮助企业实现数据驱动的生产、优化运营效率,并推动工业4.0的发展。那么,工业物联网平台到底是什么,又该如何实现呢?今天就让我们一探究
- 医学影像中缩写如CR、DR、DX、CT医疗术语意义
wangnaisheng
DICOMdicom
医疗术语解释:DigitalRadiography(CR,DX):数字X线摄影Mammography(MG):乳房X射线照相术ComputedTomography(CT):计算机断层扫描MagneticResonance(MR):磁共振PositronEmissionTomographyPET-CT(PT):正电子发射计算机断层扫描PET-CTUltrasonography(US,IVUS):超声
- Apache Iceberg 与 Apache Hudi:数据湖领域的双雄对决
夜里慢慢行456
大数据大数据
在数据存储和处理不断发展的领域中,数据湖仓的概念已经崭露头角,成为了一种变革性的力量。数据湖仓结合了数据仓库和数据湖的最佳元素,提供了一个统一的平台,支持数据科学、商业智能、人工智能/机器学习以及临时报告等多种关键功能。这种创新的方法不仅促进了实时分析,还显著降低了平台成本,增强了数据治理,并加速了用例的实现。数据存储和处理的演变催生了被称为数据湖仓的现代分析平台。这些平台旨在解决传统架构的局限性
- 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独立出来,数据持