- Rtools44安装到D盘
hrply
javalinux开发语言
#RTOOLS44安装配置最新方法#安装Rtools44到非默认目录时,按照网上说的方法配置.Renviron会出现不论如何最终都无法被R识别的问题。试了各种方法,网上说的都是设置%RTOOLS40_PATH%系统环境变量,但实际上R-4.4.2并不读取系统变量(也可能改名字了,我没有细读)。首先,R-4.4.2以及Rstudio并不从系统环境变量里读取Rtools路径,不论你设置RTOOLS40
- Android音视频开发实战系列教程
Stark T
android音视频
Android音视频开发实战系列教程指南在这篇文章中,我们将通过一个逐步流程,帮助刚入行的小白学习如何进行Android音视频开发。本教程会展示实施的步骤、所需的代码示例及其注释,最后还包括旅行图和类图来进一步帮助理解。开发流程我们可以将音视频开发的整个流程分为以下几个步骤。请看下表:步骤描述1.环境搭建安装所需的软件和开发工具2.项目创建创建Android项目并导入其他依赖库3.引入音视频SDK
- Android平台FFmpeg多媒体处理实战
雲明
本文还有配套的精品资源,点击获取简介:FFmpeg在Android平台为开发者提供强大的音视频处理能力,涵盖编解码、容器格式解析、软硬解码切换、音频重采样和视频转换等关键功能。本项目介绍如何集成FFmpeg到Android应用,包括编译库、解封装、解码、硬解支持、音频重采样、视频转换和测试代码的使用,为音视频应用开发提供完整流程的实践指南。1.Android平台上FFmpeg的应用和重要性1.1F
- 音视频:11.Shell脚本-动手编译FFmpeg
eastRiseWm
音视频
Shell脚本-动手编译FFmpeg1.Cmake交叉编译Android动态库2.配置NDK环境2.1NDK中交叉编译工具的变化2.1.1.交叉编译工具位置的变化:3.手写FFmpeg编译脚本4.编译遇到的问题5.如何适配so框架6.编译参数传递7.运行调试音频解码避坑指南1.Cmake交叉编译Android动态库交叉编译:Linux上编译Android的sondk16的以上版本自带交叉编译工具链
- 二、C#做上位机常用英语单词
飞翔的老宫本
c#visualstudiowindows
1VisualStudio可视化"工作室":编写程序的集成开发环境,简称VS,它可以写代码,编译代码,调试代码和发布程序。2dot点:.NET通常读作dotNet是标准的3Net网络:常说的.net读作dotnet,表示网络开发平台4Sharp锋利的:C#读作CSharp,表示这是开发语言中的一个利器5Framework框架:.NETFramework为我们开发的各种程序提供了各种库,节省开发时间
- 华为 MindStudio 安装指南
丰年稻香
人工智能python人工智能
1.MindStudio介绍华为MindStudio是一款集成开发环境(IDE),用于AscendAI处理器的开发调试。它支持模型训练、推理、算子开发、性能优化等AI任务,并依赖CANN(ComputeArchitectureforNeuralNetworks)作为计算架构基础。本指南介绍如何在KunLunG2280服务器上安装MindStudio,包括环境准备、依赖安装、CANN安装及MindS
- 【音视频】ffmpeg android端调试指南
MooMLu
音视频ffmpegandroid
背景:本文旨在Android端导入和调试ffmpeg使用,作为工具文档简化初次入门使用难度。下载FFmpeg源码:gitclonehttps://github.com/FFmpeg/FFmpeg.git编译FFmpeg源码:创建Android端编译脚本:#!/bin/bashAPI=21NDK=/Users/admin/Downloads/android-ndk-r21ePREBUILT=$NDK
- 在VS Code中渲染 Markdown 并保存为 PDF
AndrewHZ
pdf
在VisualStudioCode(VSCode)中渲染Markdown并保存为PDF,可以通过以下步骤实现。提供两种常用方法,选择适合你的方案:方法一:使用插件直接导出(推荐)1.安装必要插件MarkdownPreviewEnhanced(增强预览)提供强大的Markdown渲染和导出功能。在VSCode扩展商店搜索并安装。MarkdownPDF(直接导出为PDF)支持一键将Markdown文件
- 【实测】用全志A733平板搭建一个端侧Deepseek算力平台
小文哥嵌入式开发
嵌入式人工智能AI编程
随着DeepSeek的蒸馏技术的横空出世,端侧SoC芯片上运行大模型成为可能。那么端侧芯片跑大模型的效果如何呢?本文将在全志A733芯片平台上部署一个DeepSeek-R1:1.5B模型,并进行实测效果展示。端侧平台环境设备:全志A733平板系统:Android15DDR:8GBLPDDR5@2400MHzFlash:128GBUFS3.0测试模型:Deepseek-R1-Distill-Qwen
- Android技术-修改SO导出符号
Tasfa
androidjavaso导出函数
背景经常在使用第三方SDK的时候会莫名其妙报错,其中最常见的一种就是SO符号冲突,比如libA.so静态链接了libC.a,而libB.so动态链接了libC.so。这样便会导致符号冲突。又或者在使用不同版本的动态库,也会造成符号冲突。报错案例案例1DEBUG:Abortmessage:'terminatingwithunexpectedexceptionoftypestd::bad_cast:s
- appium环境搭建
weixin_43516809
appiumappuim
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言记录手机自动化环境搭建学习过程一、jdk安装配置(省略)二、AndroidSDK安装配置三、python环境安装配置四、pycharm开发工具安装五、安装node.js六、appium安装1.安装2.检查appium环境是否搭建成功七、appium工作原理总结前言记录手机自动化环境搭建学习过程一、jdk安装配置(省略)cm
- 使用 Visual Studio 2022和C#如何打包apk包
战族狼魂
C#visualstudioc#ide
使用C#打包成APK包通常是为了开发Android应用程序。你可以使用Xamarin或.NETMAUI(Multi-platformAppUI)来开发和打包Android应用。以下是详细的步骤来创建和打包一个C#项目成APK包。目录使用Xamarin.Forms开发和打包APK1.安装必需的软件2.创建Xamarin.Forms项目3.编写应用程序代码4.配置Android项目5.连接设备或启动A
- VS Code 中如何运行Java SpringBoot的项目
战族狼魂
javaSpringbootjavaspringboot开发语言
在VisualStudioCode(VSCode)中运行JavaSpringBoot项目需要以下步骤:目录1.安装必要的扩展2.配置环境3.创建或导入SpringBoot项目使用SpringInitializr创建新项目导入现有项目4.配置VSCode配置调试环境5.运行和调试项目通过命令行运行通过SpringBootDashboard运行通过调试模式运行6.使用SpringBootActuato
- Android Studio 报错:Could not get unknown property ‘kotlin_version‘ for object of type
太难我不会
大数据
导入项目,sync的时候报错:Aproblemoccurredevaluatingproject':app'.>Couldnotgetunknownproperty'kotlin_version'forobjectoftypeorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.出现这个问题,我的思路
- android 安装第三方apk自动赋予运行时权限
通信侠
android_systemandroid
摘要:行业机使用场景点击运行时权限很麻烦,而随着android的演进,对于权限的管控越发严格。故本文通过对系统的修改实现第三方app在运行时直接获取全部权限。通过属性ro.perms.force_grant控制功能开关。Index:frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java=
- Android Audio焦点——音频焦点基础(一)
c小旭
AndroidAudioandroidAudio开发
一、概述1、音频焦点官方说明两个或两个以上的Android应用可同时向同一输出流播放音频。系统会将所有音频流混合在一起。虽然这是一项出色的技术,但却会给用户带来很大的困扰。为了避免所有音乐应用同时播放,Android引入了“音频焦点”的概念。一次只能有一个应用获得音频焦点。当您的应用需要输出音频时,它需要请求获得音频焦点,获得焦点后,就可以播放声音了。不过,在您获得音频焦点后,您可能无法将其一直持
- Android Studio报错:Could not get unknown property ‘kotlin_version‘
zhangphil
Androidandroid
AndroidStudio报错:Couldnotgetunknownproperty'kotlin_version'报错内容:Causedby:groovy.lang.MissingPropertyException:Couldnotgetunknownproperty'kotlin_version'forobjectoftypeorg.gradle.api.internal其中一个解决方案,把:
- 【Audio】Android 10车载音频路由
小羊子说
车载开发之AndroidAudioandroid音视频
音频路由在Android10中,car_audio_configuration.xml取代了car_volumes_groups.xml和IAudioControl.getBusForContext。新的配置文件定义了一个音频区列表。每个音频区都拥有一个或多个音量组及其关联设备,而每台设备都具有应在该音频区内进行路由的上下文。所有上下文都必须在每个音频区内表示。配置音频路由音频政策文件通常位于ve
- Android studio:如何在同一个页面显示多个fragment
剑客狼心
androidstudioandroidide
家母罹患肝癌,可在水滴筹页面查看详情实现一个简单的效果:创建TestOneFragmentpublicclassTestOneFragmentextendsFragment{@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){//使用一个简单的布局文件
- [Android Studio]SQLScout插件安装破解
weixin_33755847
移动开发数据库开发工具
以下内容为原创,欢迎转载,转载请注明来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html[AndroidStudio]SQLScout插件安装破解0.写在前面想当初很长一段时间内不想用AndroidStudio而喜欢用IntellijIDEA(旗舰版)其中一个原因就是因为IntellijIDEA(旗舰版)自带DatabaseExp
- 【原创】Android Studio Ladybug 中Gradle配置
赵庆明老师
Androidandroidstudioandroidide
使用AndroidStudio创建项目后,由于需要下载的一下文件在国外,加上网速的问题,以及防火墙的问题,不少文件难以下载。常常导致项目创建后,要等很长时间,各种折腾,结果一个demo都跑不起来。经过几天的探索,没在AS中发现比较好的配置方法。本打算逆向修改AS中的程序文件,发现太费事。接下来找到了AS的源码,打算编译一个来替换,一看80多G,头都大了。于是退而求其次,选择在项目配置文件中解决。具
- Android studio 打包 uni App
前端小小小学生
uni-app前端androiduni-appandroidstudio
Androidstudio打包uniAppHBuilderX本身有原生App云打包功能,本身没什么需求可以直接使用,如果需要多次打包,云打包每次链接只能提供5次下载机会,而且要时间排队打包,所以学习了一下Androidstudio工具打包,下面是使用方法,仅供参考:1.安装Androidstudio下载Androidstudio下载地址:http://www.android-studio.org/
- Android Studio系列讲解之UI开发的布局
彬sir哥
Androidkotlin入门到进阶系列讲解androidstudiokotlinUI布局
<<返回总目录文章目录一、常用控件的使用方法1、TextView2、Button3、EditText4、ImageView二、详细2种基本布局1、LinearLayout2、RelativeLayout三、系统控件不够用?创建自定义控件1、引入布局2、创建自定义控件一、常用控件的使用方法Android给我们提供了大量的UI控件,合理地使用这些控件就可以非常轻松地编写出相当不错的界面首先新建一个UI
- Android Studio增量包升级方法
慈眉善目张先森
Android小记Androidstudio增量更新
AndroidStudio增量包升级方法由于外网的限制,as的自动升级基本是可以抛弃了,这里可以使用增量包升级,你要知道你的Androidstudio版本,还有下载增量包的资源查看你的版本Build为你的版本号,我这里是最新的,已经更新过的,这里的版本号后面有用;获取增量包获取增量版本号下载该文件,然后里面内容如下如图,你知道你的版本和需要升级到的版本的话,你就可以拼出你需要下载的增量包的地址,h
- android studio优化编译速度
chenhuakang
安卓优化androidstudioandroidgradle
优化步骤1.优化gradle配置:在项目根目录创建一个gradle.properties文件#开启gradle并行编译,开启daemon,调整jvm内存大小org.gradle.daemon=trueorg.gradle.configureondemand=trueorg.gradle.parallel=trueorg.gradle.jvmargs=-Xmx4096m-XX:MaxPermSize
- 2024.1.2版本Android Studio gradle下载超时问题处理
粤M温同学
Androidandroidstudioandroid
一、问题背景在项目的根build.gradle里面配置了以下地址后,依旧下载gradle包失败,平常如果出现第三方库或者gradle下载失败,配置以下地址,一般可以下载成功maven{url'https://maven.aliyun.com/repository/public'}maven{url'https://maven.aliyun.com/nexus/content/groups/publ
- 【原创】Android Studio 中好用的翻译插件
赵庆明老师
Androidandroidstudioandroidide
在使用AndroidStudio的时候,且不说英文界面,在编写代码的时候遇到的文档也是英文的,如果英语基础不过关,这个软件就太好了。名称很简单:Translation,由Yii.Guxing开发,目前800多次安装。https://plugins.jetbrains.com/plugin/8579-translation在AndroidStudio中打开设置\插件,搜索Translation即可,
- Visual Studio 中的键盘快捷方式大全
一岁就可帅-
经验分享visualstudio计算机外设c语言开发语言经验分享笔记
VisualStudio中的键盘快捷方式大全官方版VisualStudio中的键盘快捷方式大全官方版生成:常用快捷方式调试:常用快捷方式编辑:常用快捷方式文件:常用快捷方式项目:常用快捷方式重构:常用快捷方式工具:常用快捷方式视图:常用快捷方式窗口:常用快捷方式生成:常用快捷方式命令键盘快捷键命令ID生成解决方案Ctrl+Shift+B生成.生成解决方案取消Ctrl+Break生成.取消编译Ctr
- Visual Studio 2019专业版密匙
@hdd
杂记VisualStudio2019专业版激活密钥软件激活
收集到的一些vs2019专业版密匙,总有一个适合你(ps:我用的第一个)NYWVH-HT4XC-R2WYW-9Y3CM-X4V3YBF8Y8-GN2QH-T84XB-QVY3B-RC4DF
- 销售易、极兔、珍客CRM:产品功能特色与企业适用性分析
程序员机器学习人工智能
销售易CRM产品功能移动化与社交化:销售易CRM支持iOS、Android等主流操作系统,销售人员可以随时随地访问客户信息、更新销售进度、创建任务等。同时,它还具备社交化功能,能够整合企业内部的社交网络,促进员工之间的协作与沟通。AI与大数据驱动:销售易CRM融合了人工智能和大数据技术,通过智能数据分析,帮助企业洞察客户行为和需求,预测销售趋势。例如,AI可以对客户数据进行深度挖掘,识别出高价值客
- 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独立出来,数据持