- 嘎嘎好用!推荐三款开源的 Redis 桌面客户端!
大家好,我是Java陈序员。在日常开发中,经常会使用到Redis,为了更好的查看和操作Redis中的数据,通常会借助可视化操作客户端工具。今天,给大家介绍三款开源的Redis桌面客户端工具,开箱即用!关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。TinyRDM一个现代化轻量级的跨平台Redis桌面客户端,支持Mac、Windows和Linux.
- c语言线程Pthread讲解
jacklin_001
C语言学习笔记
POSIX线程(POSIXthreads),简称Pthreads,是线程的POSIX标准。该标准定义了创建和操纵线程的一整套API。在类Unix操作系统(Unix、Linux、MacOSX等)中,都使用Pthreads作为操作系统的线程。Windows操作系统也有其移植版pthreads-win32作用线程库实行了POSIX线程标准通常称为Pthreads。POSIX线程具有很好的可移植性,使用p
- python---linux系统CPU、内存、磁盘监控,钉钉告警
大眼、不聚光
pythonpythonlinux钉钉
使用以下公式生成签名:importtimeimporthmacimporthashlibimportbase64timestamp=str(int(time.time()*1000))secret='你的加签密钥'string_to_sign=timestamp+"\n"+secrethmac_code=hmac.new(secret.encode('utf-8'),string_to_sign.
- 编程中的英语单词大全
@一叶之秋
编程必会单词java
学习Java中用到的专业术语单词总结day1掌握1、JDKabbr.Java开发工具包(JavaDeveloper'sKit)(abbr.缩写)2、JREabbr.Java运行环境(JavaRuntimeEnvironment)3、JVMabbr.Java虚拟机(JavaVirtualMachine)4、system['sɪstəm]Systemn.制度,系统;5、out[aʊt]adj.外面的;
- 记录一下java的常用单词
彭于晏op
黑马程序员java基础javajvm开发语言
Java课程系列———————————————————————————1Java编程语言单词汇总Java研究院版本:V2.0step-01掌握1、JDKabbr.Java开发工具包(JavaDevelopmentKit)(abbr.缩写)2、JREabbr.Java运行环境(JavaRuntimeEnvironment)3、JVMabbr.Java虚拟机(JavaVirtualMachine)4、
- hyperlight:轻量级虚拟机管理器,实现代码安全沙箱
滑姗珊
hyperlight:轻量级虚拟机管理器,实现代码安全沙箱hyperlightHyperlightisalightweightVirtualMachineManager(VMM)designedtobeembeddedwithinapplications.Itenablessafeexecutionofuntrustedcodewithinmicrovirtualmachineswithveryl
- vrrp虚拟路由器冗余协议
我藏起来的秘密
路由器
vrrp虚拟路由器冗余协议一、vrrp相关概念A.vrrp概述B.vrrp作用C.虚拟路由器1.虚拟IP和虚拟mac2.Master和Backup选举依据3.master报文的发送二、以三层交换机为例的配置R1R2一、vrrp相关概念A.vrrp概述一组路由器中会虚拟出一台虚拟的路由器包含虚拟ip虚拟mac,虚拟IP是局域网中主机网关地址1.利用VRRP,一组路由器(同一个LAN中的接口),协同工
- 小红书多账号运营:如何实现每个账号独立 IP发布文章
九州ip动态
tcp/ip网络协议网络
一、多账号管理与IP隔离方案1.电脑端实现:推荐使用指纹浏览器工具,为每个账号生成独立设备指纹(模拟不同MAC地址、内存等信息),并搭配兔子ip代理等服务商的SOCKS5代理,实现一机多开且每个账号独立IP。注意需提前在浏览器中登录对应账号,确保环境干净。2.手机端实现:手机端建议关闭定位、WiFi,使用数据流量。多个手机设备可以通过软路由(硬件设备)实现每个设备不同IP地址。注意避免同一IP下多
- 【Rust CAD开发入门】第一章 环境搭建 第一节 Rust安装指南:Windows、macOS和Linux系统上的详细步骤
Source.Liu
用Rust写CADrust开发语言windows
文章目录一、Windows系统下载rustup-init.exe:运行rustup-init.exe:配置环境变量:验证安装:二、macOS系统安装Homebrew(如果尚未安装):三、Linux系统(以Ubuntu为例)安装依赖:使用rustup脚本安装Rust:四、注意事项安装Rust可以通过其官方提供的rustup工具来完成,以下是详细的安装步骤:一、Windows系统下载rustup-in
- MacOS 15 无法打开Docker问题(Malware Blocked)解决
黑叶问白天
macosdocker
【2025.1.26更新】试了下,新版本docker已修复该问题。可以更新或下载最新版的docker解决该,感谢评论区小伙伴们提供建议今天突然发现Docker打不开了,报检测到恶意软件,折腾了一会儿,找到了解决方案,记录如下:1.报错提示MalwareBlocked:“com.docker.vmnetd”wasnotopenedbecauseitcontainsmalware2.解决方法复制com
- macOS(M1 Pro)安装SQL SERVER
Leah8665
开发记录javadockermacos
前言硬件:MacBookPro2021当前系统:macOS14.5当前docker版本:4.18.0(104112)docker下载地址:https://www.docker.com/get-started/https://www.docker.com/get-started/SQLSERVER下载1、打开终端2、输入:dockerpullmcr.microsoft.com/mssql/serve
- macOS (M1 Pro) 上 Docker Desktop 安装失败问题及其解决方案
coding随想
macosdocker容器
macOS(M1Pro)上DockerDesktop安装失败问题及其解决方案在尝试于搭载M1Pro芯片的macOS系统上安装DockerDesktop时,您可能会遇到如下错误:installingvmnetd:retrievingvmnetdversionfrom/Library/LaunchDaemons/com.docker.vmnetd.plist:readingplist/Library/
- 解决【vite-plugin-top-level-await】 插件导致的 Bindings Not Found 错误
coding随想
webpackvue.js
解决【vite-plugin-top-level-await】插件导致的BindingsNotFound错误环境设置操作系统:macOS硬件平台:M1Pro前端框架:Vue3Node.js版本:20在使用Vue项目时,我们尝试集成vite-plugin-top-level-await插件以支持顶层await语法。然而,在构建过程中遇到了一个错误提示:“Bindingsnotfound”。具体错误信
- 解决前端项目中无法识别 .node 文件的依赖安装问题
coding随想
前端node.jsvue.jswebpack
解决前端项目中无法识别.node文件的依赖安装问题问题描述在macOS系统(M1Pro芯片),使用Node.js版本20.9.0和Vue3的环境下,项目启动过程中遇到了以下错误:[ERROR]Noloaderisconfiguredfor".node"files:node_modules/fsevents/fsevents.node此错误发生在尝试引入fsevents依赖文件时,提示没有为.nod
- vue3 vite JavaScript heap out of memory when buildin [windows or mac] 错误问题解决
天河书阁 VicRestart
vue.jsvitenodevue3macos
打包时内存不足的问题正常流程:1、yarnaddincrease-memory-limitcross-env--dev2、package.json的scripts中添加:"fix-memory-limit":"cross-envLIMIT=4096increase-memory-limit"3、yarnrunfix-memory-limit4、yarnbuildMac下流程:1.exportNOD
- MAC安装docker 后提示com.docker.vmnetd”将对您的电脑造成伤害
mingyuewu
macosdocker容器
出现“com.docker.vmnetd”将对您的电脑造成伤害的提示,通常是由于文件签名问题导致macOS的安全系统误判Docker为恶意软件。以下是解决方法:停止相关服务并删除文件运行以下命令停止相关服务并删除有问题的文件停止Docker服务sudopkill‘[dD]ocker’停止vmnetd服务sudolaunchctlbootoutsystem/Library/LaunchDaemons
- 解决 macOS (M1 Pro) 上使用 Vite 进行 Build 打包时 Node 进程内存溢出的问题
coding随想
macosnode.js
解决macOS(M1Pro)上使用Vite进行Build打包时Node进程内存溢出的问题在搭载M1Pro芯片的macOS系统上,使用Vite进行项目构建(build)时,您可能会遇到Node进程内存溢出的错误。特别是在使用较新版本的Node.js(如Node20)时,这个问题更为常见。错误信息:FATALERROR:ReachedheaplimitAllocationfailed-JavaScri
- Appuploader:让Windows用户也能轻松上传iOS应用
lilili啊啊啊
iosappstore苹果商店上架appuploader
Appuploader:让Windows用户也能轻松上传iOS应用对于Windows开发者而言,上传iOS应用到AppStore曾是一道技术门槛——传统的Xcode工具仅支持macOS系统,而虚拟机或远程Mac服务器又存在效率低、成本高的问题。但借助Appuploader这款工具,Windows用户无需依赖Mac电脑,即可完成iOS证书申请、IPA打包及上传等全流程操作。本文将详细解析具体步骤,助
- Mac mini M4 多版本JDK环境部署
Jerry.Jiang
技术文档macosjava开发语言
MacminiM4多版本JDK环境部署一、环境准备与安装流程1.1硬件适配说明MacminiM4采用第三代AppleSilicon架构(ARMv9),需选择ARM64架构的JDK安装包。Oracle官方已提供原生支持M4芯片的安装包。1.2软件包获取Oracle官方下载:JavaSEDevelopmentKit8u431(ARM64):jdk-8u431-macosx-aarch64.dmg需注册
- Mac 常用命令
遥不可及zzz
macos
一、文件操作(必知必会)1.快速导航cd~/Documents#进入文档目录cd..#返回上级目录pwd#显示当前路径2.文件管理touchnew_file.txt#创建空文件mkdir-pproject/{src,docs}#递归创建目录cp-rsource_folderdest/#复制目录(-r递归)mvold_namenew_name#移动/重命名文件rm-rfunwanted_dir#强制
- STP、RSTP和MSTP
养乐多__
网络工程网络
文章目录STP生成树协议一、分层网络中冗余拓扑存在的问题1、广播风暴2、MAC表不稳定3、多播帧复制二、生成树协议选举根交换机选举根接口选举指定接口阻塞接口配置(华为交换机)1、启用STP并设置模式为STP:2、配置根桥:3、查看STP状态4、配置端口优先级RSTP(RapidSpaningTreeProtocol,快速生成树协议)RSTP对STP的改进增加了端口角色减少了端口状态BPDU报文快速
- hcip-02 RSTP MSTP
周昉周某某昉
HCIP网络
回顾一点:STP有什么缺点1)阻塞多余的端口2)收敛时间慢30s50sRSTP:2004年本质上是优化了STP,依旧存在问题新增的内容1)端口角色AP:阻塞端口-替代端口,多余没有角色的端口为替代端口BP:备份端口:自己与自己的协商结果,防止自环、2)状态机的改变Discarding状态:不转发用户流量也不学习MAC地址;Learning状态:不转发用户流量但是学习MAC地址;Forwarding
- 袋鼠数据库工具 6.2 AI 版已上线
袋鼠数据库工具是一款AI驱动的热门数据库系统客户端(SQLite/MySQL/PostgreSQL/...),支持建表、查询、模型、同步、导入导出等功能,支持Windows/Mac/Linux等操作系统,力求打造成好用、好玩、开发友好的SQL工具。重点特性介绍这个版本是基于用户反馈全面提升体验的一个版本,主要改善了对象的点击打开体验、右键菜单体验、改进了连接打开可靠性、改进了工作空间状态栏性能、改
- HCIP-STP、RSTP、MSTP
fa_nei_kuang_tu
HCIP大数据
2022.7.6一切都是挑战STP工作流程1、根桥选举初始状态下所有交换机都会认为自己是根桥,交换机会将自己所有的接口变为DP角色处于discarding状态,发送以自己为根的BPDU。交换机通过比较BPDU选取出根桥,根桥的选举原则是选取BID小的成为根桥。BID由桥优先级和桥MAC地址组成,首先比较桥优先级,如果比较不出来,再比较桥MAC地址,两者都是越小越优先。根桥选举完成后,只有根桥发送B
- HCIE 面试资料-STP/RSTP/MSTP
PanJWei
HCIE面试交换机
STPSTP介绍STP(SpanningTreeProtocol)生成树协议有三个版本,协议版本标识符,STP为0,RSTP为2,MSTP为3。STP的作用是进行逻辑阻断,通过堵塞端口来消除环路(广播风暴)实现链路备份。MAC地址表震荡:当从不同的接口接收到相同的MAC地址,会删除原来的MAC和接口的映射,然后新加一条映射,如果产生环路,MAC地址表就会一直处于震荡,导致交换机频繁删除和添加MAC
- [Rust 入门]Rust 结构体总结
编程回响
Rust入门rust开发语言后端
本教程环境:系统:MacOSRust版本:1.77.2Rust结构体用来进行自定义数据类型的定义。Rust有三种结构体类型:具名字段型结构体、元组型结构体、单元型结构体。具名字段型结构体定义一个用户信息结构体。fnmain(){letuser1=User{active:true,username:String::from("frank"),email:String::from("example@x
- 空间最小、速度最快:内存高效ZKP原理
mutourend
零知识证明零知识证明
1.引言在快速发展的区块链和密码学领域,经常听说,旨在扩展以太坊或解决大规模计算问题的速度超快的零知识虚拟机(zkVM,zero-knowledgeVirtualMachine)。然而,若要实现真正的隐私,ZKP应在本地运行。这一概念称为本地可验证计算,涉及实现极其节省空间的ZKP,用于本地且资源通常受限的设备——从嵌入式系统到物联网设备再到用户的网络浏览器。基本原则简单但至关重要:当与第三方共享
- Python Playwright库全面详解
老胖闲聊
Pythonpython开发语言
Playwright是Microsoft开发的一个现代化的端到端测试和浏览器自动化库,支持Chromium、WebKit和Firefox浏览器。它提供了跨浏览器、跨平台的自动化能力,且具有高性能和可靠性。一、核心特性多浏览器支持:Chromium(Chrome,Edge)WebKit(Safari)Firefox跨平台支持:WindowsmacOSLinux多语言支持:JavaScript/Typ
- 局域网技术
落——枫
网络
1.RSTP的状态:discarding丢弃:如果不转发用户流量也不学习MAC地址learning学习:如果不转发用户流量但学习MAC地址forwarding转发:既转发用户流量也学习MAC地址2.alternate端口作为根端口的备份端口(非根交换机)backup端口作为指定端口的备份(根交换机)3.生成树网桥计算数据:确定根桥:优先级+MAC地址。优先级0-65535,默认32768确定根端口
- autohotkey
师从小白
工具autohotkey
windowsautohotkey2.0.2win匹配mac复制粘贴剪切保存和撤销快捷#c::Send"^{c}"#v::Send"^{v}"#x::Send"^{x}"#s::Send"^{s}"#z::{ Send"^{z}"}F8::Exitapp
- 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独立出来,数据持