- 【开源所有代码-全在线智能音箱】树莓派智能音箱,自定义唤醒词,大模型LLM GPT对话
南七小僧
服务器开发人工智能AI技术产品经理智能音箱gpt
安装sounddevicepipinstallsounddevice安装portAudiosudoapt-getinstalllibportaudio2sudoapt-getinstalllibasound-devsudoapt-getinstallportaudio.devsudoapt-getinstallpython3-pyaudiopipinstallpyaudio安装wavepipins
- opencv图像视频的加载和显示
NDNPOMDFLR
opencvpython
opencv图像视频的加载和显示基于上篇文章,在开始之前需要在上级目录里打开jupyternotebook首先需要进入scrips目录里进行激活,然后如果在该目录下输入jupyternotebook的话,不太好所以需要进入上级目录创建和显示窗口需要牢记的命令namedWindow()创建命令窗口imshow()显示窗口destroyAllwindows()摧毁窗口resizeWindow()改变窗
- 第5课 树莓派的Python IDE—Thonny
嵌入式老牛
树莓派之基本应用树莓派ThonnyIDE
1.Thonny的特点Thonny是一款面向初学者的PythonIDE。它由爱沙尼亚的Tartu大学开发,其调试器是专为学习和教学编程而设计的。Thonny具有如下特点易于上手。Thonny内置了Python3.7,因此只需要一个简单的安装程序,你就可以开始学习编程了(如有必要,您还可以使用单独的Python安装)。初始的用户界面会删除可能分散初学者注意力的所有功能。查看变量方便。当写完代码后,可
- php后端分页_thinkphp5框架前后端分离项目实现分页功能的方法分析
淡定男
php后端分页
本文实例讲述了thinkphp5框架前后端分离项目实现分页功能的方法。分享给大家供大家参考,具体如下:方法一利用tp5提供的paginate方法实现自动分页参数page第几页,paginate分页方法会自动获取size每页数量代码/***Notes:消费记录*Date:2019/6/25*Time:15:43*@paramRequest$request*@return\think\response
- 全网最有效树莓派完整详细的换源教程
执着的着
电子服务器运维linux
一、什么是源?软件源就是一个应用程序安装库,很多很多的应用软件都在这个库里面。他可以是网络服务器,是光盘,甚至是硬盘上的一个目录。常见软件源类型GEM源、APT源、YAST源、ISO源、YUM源、UAP源二、为什么换源?树莓派系统默认下载软件的服务器在国外,经常出现下载比较慢、或者直接没用的情况以及无法更新的情况。这时就需要更换为我们国内的镜像站来加快速度了。三、开始换源第一步输入下面命令打开文件
- 树莓派3B+刷了Pi OS 12(Debian12 bookworm)后软件源更换清华(备忘)
RockyCoder
windows
每次折腾树莓派重刷系统,都要面临一次更新国内软件源的过程。所以从清华那边贴过来备份以下过程。树莓派软件源的官方帮助网址raspbian|镜像站使用帮助|清华大学开源软件镜像站|TsinghuaOpenSourceMirrorRaspbian简介Raspbian是专门用于ARM卡片式计算机RaspberryPi®“树莓派”的操作系统,其基于Debian开发,针对RaspberryPi硬件优化。Ras
- 深入 Python 网络爬虫开发:从入门到实战
南玖yy
pythonpython爬虫
一、为什么需要爬虫?在数据驱动的时代,网络爬虫是获取公开数据的重要工具。它可以帮助我们:监控电商价格变化抓取学术文献构建数据分析样本自动化信息收集二、基础环境搭建1.核心库安装pipinstallrequestsbeautifulsoup4lxmlseleniumscrapy2.开发工具推荐PyCharm(专业版)VSCode+Python扩展JupyterNotebook(适合调试)三、爬虫开发
- Fatal Python error: initfsencoding: unable to load the file system codec
珞珈山小裁缝11-8
python
FatalPythonerror:initfsencoding:unabletoloadthefilesystemcodecModuleNotFoundError:Nomodulenamed'encodings'Currentthread0x00007668(mostrecentcallfirst):问题原因:python路径错误我是直接运行exe程序(几乎没有配置python环境),我的pyth
- Manus开源平替-开源通用智能体
galileo2016
人工智能
原文链接:https://i68.ltd/notes/posts/250306-opensource-agi-agent/OWL-比Manus还强的全能开源AgentOWL:OptimizedWorkforceLearningforGeneralMulti-AgentAssistanceinReal-WorldTaskAutomation,现实世界中执行自动化任务的通用多代理辅助优化学习框架项目仓
- llm数据存储基础设施
galileo2016
人工智能
链接:https://i68.ltd/notes/posts/20250310-llm-db/infinity专为LLM应用程序构建的AI原生数据库,可提供对密集向量、稀疏向量、张量(多向量)和全文的快速混合搜索项目仓库:https://github.com/infiniflow/infinity关键特性令人难以置信的快在百万级矢量数据集上实现0.1毫秒查询延迟和15K+QPS在33M文档的全文搜
- Python中三种表示NA的方式
风语者666
python
Python中三种表示NA的方式#-*-coding:utf-8-*-importnumpyasnpimportpandasaspd#data_frame=np.load('a.npy',allow_pickle=True)#print(data_frame.columns)df=pd.DataFrame({'one':[1,2,3,pd.NA]})df=pd.DataFrame({'one':[
- 开发过程中如何减少属性注释?
紫乾2014
开发经验开发经验
一、注释冗余举个例子,我们在开发项目中肯定会有状态字段,现在有个工单状态枚举StatusEnum.javapackagecn.zxj.note;/***@author:Administrator*@since:2025/1/3014:40*@description:*/publicenumStatusEnum{TO_BE_SUBMITTED(1,"待提交"),SUBMITTED(2,"已提交"),
- DeepSeek面试——分词算法
mzgong
人工智能算法
DeepSeek-V3分词算法一、核心算法:字节级BPE(Byte-levelBPE,BBPE)DeepSeek-V3采用字节级BPE(BBPE)作为核心分词算法,这是对传统BPE(BytePairEncoding)算法的改进版本。其核心原理是将文本分解为字节(Byte)序列,通过统计高频相邻字节对的共现频率进行逐层合并,最终形成128K扩展词表。二、BBPE的核心优势1.多语言统一处理能力跨语言
- 北本海硕腾讯二面没过,该如何准备才能再战大厂?
程序员yt
面试
今天给大家分享的是一位粉丝的提问,北本海硕腾讯二面没过,该如何准备才能再战大厂?接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。同学提问:bg北本海硕两段大厂实习,感觉自己bg其实不错但问题是实习干的都是些crud当时也没意识记录一些更深刻的技术或者架构上的问题,八股又欠背(大致看完了小林codinga和csguilde的c++指北但实际中延伸出来的问题太
- HMML——3D AI Coding的基础语言
AIGC5D-Longan
人工智能
编程语言(如Python、Java、C++等),作为2D编程的语言,也是AI开发的主力工具。2D编程语言内容呈现和交互,与3D世界、物理世界的高维复杂性之间的割裂日益凸显。HMML(超多元空间标记语言HyperMultspaceMarkupLanguage),是新的3D编程语言,也是3DAICoding的基础语言。3DAICoding的诞生,标志编程语言首次实现与人类多维认知的深度对齐。通过HMM
- arm架构安装chrome
GIS-CL
chrome
在ARM架构设备上安装谷歌软件或应用通常涉及到几个步骤,这取决于你要安装的具体谷歌产品,比如谷歌浏览器、GooglePlay服务或者是其他谷歌开发的软件。下面我会给出一些常见的指导步骤,以安装谷歌浏览器为例:在LinuxARM64上安装GoogleChrome如果你是在基于ARM64架构的Linux系统上(如RaspberryPiOS或UbuntuonARM),可以尝试以下步骤来安装GoogleC
- YashanDB归档日志文件管理
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E6%95%B0%E6%8D%AE%...归档日志文件默认存放在$YASDB\_DATA/archive目录下。Note:本文以查询单机部署中的归档日志文档为例,不同部署形态查询方法相同但$YASDB\_DATA路径不同,具体请以实际为准。$cd/data/yasha
- 在线代码编辑器与编辑器插件介绍
AI天才研究院
AI大模型企业级应用开发实战大数据人工智能语言模型JavaPython架构设计
作者:禅与计算机程序设计艺术1.简介对于开发人员来说,编编辑器(或称之为IDE)是一个综合性工具,它融合了程序编写、调试、版本控制、性能分析、项目管理等多项功能在内的全套工具集。市场上已经有很多种流行的编辑器供开发者选择。比如:SublimeText、VSCode、Atom、Eclipse、Notepad++等等。虽然每个编辑器都各具特色,但是无论从功能还是性能上都有着它们独有的优势。这些优点主要
- python/R 连接 clickhouse
weixin_41283198
pythonclickhouser语言python大数据r语言
1、python-clickhouseimportnumpyasnpfromclickhouse_driverimportClientimportpandasaspdsql=open('/opt/check_detect_local.sql','r',encoding='utf8')sqltxt=sql.readlines()print(len(sqltxt))sqls=[]foriinnp.ar
- MicroPython 智能硬件开发完整指南
老胖闲聊
Python智能硬件
第一部分:MicroPython基础1.MicroPython简介定义:专为微控制器设计的精简Python3实现,支持硬件直接操作。特点:语法兼容Python3,但移除复杂功能(如多线程)。支持GPIO、PWM、I2C、SPI等硬件接口。适用于ESP32、ESP8266、RaspberryPiPico等开发板。2.开发环境搭建硬件准备推荐开发板:ESP32(性价比高,WiFi/BLE双模)、Ras
- 爬虫中一些有用的用法
才不是小emo的小杨
爬虫xpath
文本和标签在一个级别下如果文本和a标签在一个级别下比如:#获取a标签后的第一个文本节点text_node=a.xpath('following-sibling::text()[1]')[0].strip()将xpath的html代码转换成字符串etree.tostring(root,pretty_print=True,encoding="utf-8")获取所有同级标签的最后一个data_list=
- python爬虫网络中断_如何解决Python爬虫中的网络掉线问题?
weixin_39767645
python爬虫网络中断
在学校里的时候,除了上课,还有一大幸福的事情,就是用着学校的网线网络。当然玩的时候很开心,就是没事关键词时刻掉链子。时不时地网络掉线让人非常恼火,什么团战在梦游啊,看剧卡住不动了,相信能引起很多小伙伴的共鸣。所以,为了大家的快乐,小编找到了一个解决办法,分享给大家。以山东大学网络为例,别的话不多说,直接上程序__author__='CQC'#-*-coding:utf-8-*-importurll
- 解决问题:Android Studio启动不了
piggy514
androidstudioandroidide
1、启动不了之前的操作:build报错的提示的都是乱码,于是网上搜了下,去菜单Help>EditCustomVMoptions此时AS打开了AS安装目录下bin/studio64.exe.vmoptions这个文件根据网上说法在里边加一句-Dfile.encoding=UTF-8即可,于是加了,结果AS闪退。再也启动不了,重启电脑后也不行,重新安装也不行。看来有时不要轻信网上操作。怎么解决乱码问题
- 基于SWIFT和Qwen1.5-0.5B-Chat进行大模型全参微调(魔搭社区)
m0_65156252
大模型学习笔记python开发语言
一、环境安装因魔搭社区中的Notebook有自己的机制来处理虚拟环境,因此我们直接使用原生镜像即可。1,swift框架安装pipinstallms-swift2,模型下载gitclonehttps://www.modelscope.cn/qwen/Qwen1.5-0.5B-Chat.git二、数据集准备使用ShenNong大模型-中医对话数据,选取前140条构建自己数据集ChatMed_TCM-v
- C++实现哈夫曼编码的技术详解
金外飞176
算法c++开发语言
C++实现哈夫曼编码的技术详解哈夫曼编码(HuffmanCoding)是一种基于字符出现频率的无损数据压缩算法,由DavidA.Huffman在1952年提出。它通过构建最优二叉树(哈夫曼树)为字符分配变长编码,使得高频字符使用较短的编码,低频字符使用较长的编码,从而实现数据的高效压缩。本文将详细介绍哈夫曼编码的原理,并通过C++代码实现其核心功能。1.哈夫曼编码的基本原理哈夫曼编码的核心思想是贪
- [每日一学]数据分析与可视化:anaconda与pythoncharm使用上的区别之处及优越点,使用哪款比较好用
拼命绽放
python开发语言
anaconda、.jupyter·jupyter的基本使用,开发环境与pythoncharm有什么区别?在数据分析和可视化使用中有什么区别?哪个在数据分析和可视化上更占优势?如果用pythoncharm如何去实现数据分析与可视化有影响吗?一、Anaconda是一个开源的Python发行版本,集成了多个常用的数据科学、机器学习、深度学习等相关工具,例如JupyterNotebook、Spyder、
- 五分钟快速掌握windows深度学习环境配置:Anaconda、PyCharm、Pytorch、jupyter notebook
芝帕先生
深度学习windowspycharmpythoncondapip人工智能
目录前言下载并安装Anaconda下载途径安装步骤下载并安装PyCharm安装pytorch安装jupyternotebook前言新手五分钟掌握windows深度学习环境配置:Anaconda、PyCharm、Pytorch配置的时候遇到了很多问题,总结了一下,可以按这个流程无脑配置。通过本流程下载的版本Anaconda2023.03PyCharmCommunity2023.1.3Pytorch2
- 基于python 利用ERA5 资料绘制水汽剖面图
happycatherin
pythonnumpymatplotlib
#-*-coding:utf-8-*-"""CreatedonMonApr309:28:072023@author:PC"""#-*-coding:utf-8-*-"""CreatedonMonJul1116:54:302022@author:PC"""importcartopy.crsasccrsimportcartopy.featureascfeatureimportmatplotlib.py
- NOTE:rfc5766-turn-server
xiejiashu
WEBRTC
NOTE:ThisprojectisactiveinGooglecode:http://code.google.com/p/rfc5766-turn-server/启动方法:./turnserver-L[ip]-a-b/user/local/etc/turnserverdb.conf-f-r[ip]
- Anaconda与Jupyter Notebook入门级详细使用教程_anaconda jupyter notebook
2401_84165919
程序员jupyteridepython
Anaconda简介我们用Anaconda发行版作为Python的使用环境。Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。注意:anaconda就安装了python,不需要额外另装pythonAnaconda支持Linux,Mac,Windows,包含了众多流行的科学计算、数据分析的Python包。Anaconda和Jupyte
- 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独立出来,数据持