- [linux 驱动]增加一个文件节点控制led灯亮灭
嵌入式成长家
linux内核的系统实战linux驱动linux驱动led灯驱动
目录1修改设备树2修改驱动3驱动源码3.1驱动源码3.2设备树节点3.3驱动源码分析3.3.1##解释3.3.2class_create解释3.3.3class_create_file解释3.3.4of_get_named_gpio_flags解释3.3.5devm_gpio_request解释3.3.6platform_driver_register解释3.3.7platform_driver_
- FrameBuffer
[MoonquakesJ
数据结构
一、基本概念FrameBuffer:可以译作"帧缓冲、帧缓存",有时简称为fbdrv。这是一种独立于硬件的抽象图形设备。是Linux为显示设备提供的一个接口,把显存抽象后的一种设备,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作控制fb。对于应用层,通过操作/dev/fb*,通过ioctl来用各种命令控制fb/usr/include/linux/fb.h中查看进入内核源码中看看,里面定义
- linux启动优化 内核裁剪详细说明(2)
keep study
linux
第一部分Linux内核裁减(1)安装新内核:i)将新内核copy到/usr/src下并解压:#tar-zxvflinux-2.6.38.4.tar.gzii)将名为linux的符号链接删掉,这是旧版本内核的符号链接.#ln-slinux-2.6.38.4linux(2)设置内核.#cd/usr/src/linux#makemrproper-----删除不必要的文件和目录.#makemenuconf
- 6.11 linux内核管理 :内核版本
阳光的王小草
linux整理linux内核版本
6.11linux内核管理:内核版本cat/proc/versionLinuxversion3.10.0-229.4.2.el7.x86_64(
[email protected])(gccversion4.8.220140120(RedHat4.8.2-16)(GCC))#1SMPWedMay1310:06:09UTC2015uname-aLinuxjenkins3.1
- 使用minio给存储的对象添加过期时间
[奸笑]这个不是斜眼笑[奸笑]
springboot开发语言javaspringboot后端
在一些场景中,储存的对象需要定时清理保证留出足够的磁盘空间,如果时linux的本地文件,需要采取定时任务清理,但是minio提供了这样的能力环境软件版本docker24.0.4minioRELEASE.2023-10-24T05-18-28Z(commit-id=97cc12fdc539361cf175ffc2f00480eec0836d82)客户端(浏览器)打开对应的桶在这里添加通过代码(这里以
- python调用shell命令-「Python」6种python中执行shell命令方法
weixin_37988176
用Python调用Shell命令有如下几种方式:第一种:os.system("Thecommandyouwant").这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回。返回值是依赖于系统的,直接返回系统的调用返回值,所以windows和linux是不一样的。第二种:os.popen(command[,mode[,bufsize]])先给大家看个例子可以看出,popen方法通过p.read(
- Python虚拟环境包迁移
sky wide
Python专项pythonlinux
1.激活源虚拟环境首先,激活你想要导出包的源虚拟环境。在命令行中输入:Windows:path\to\your\source_env\Scripts\activatemacOS/Linux:sourcepath/to/your/source_env/bin/activate2.导出已安装包的列表使用以下命令生成一个requirements.txt文件,该文件包含所有已安装包的名称和版本信息:pip
- Linux格式化命令
sky wide
linux运维服务器
Linux格式化命令:格式化硬盘成ext4文件系统:mkfs.ext4/dev/sdb1格式化硬盘成NTFS文件系统:mkfs.ntfs/dev/sdb1格式化U盘成FAT32文件系统:mkfs.vfat-F32/dev/sdc1格式化U盘成exFAT文件系统:mkfs.exfat/dev/sdc1格式化硬盘成XFS文件系统:mkfs.xfs/dev/sdb1格式化硬盘成Btrfs文件系统:mkf
- C语言要点归纳
ChenK21_idea
C/C++c语言
摘自:《C语言入门经典(第4版)》(美)lvorHorton.著杨浩.译北京.清华大学出版社【1】知识要点1C程序创建4个基本步骤:编辑,编译,链接,执行。编辑过程就是创建和修改C程序的源代码,我们编写的程序指令称为源代码。C编译器带一个编辑器,提供编写、管理、开发与测试程序的环境,有时也称为“集成开发环境(IDE)”。在UNIX或Linux上,最常用的的文本编辑器是vi,也可以使用emacs编辑
- CTF 竞赛密码学方向学习路径规划
David Max
CTF学习笔记密码学ctf信息安全
目录计算机科学基础计算机科学概念的引入、兴趣的引导开发环境的配置与常用工具的安装WattToolkit(Steam++)、机场代理Scoop(Windows用户可选)常用Python库SageMathLinux小工具yafuOpenSSLMarkdown编程基础Python其他编程语言、算法与数据结构(可选)数学基础离散数学与抽象代数复杂性分析密码学的正式学习兴趣的培养做题小技巧系统学习需要了解并
- pyinstaller系列教程(一)-基础介绍
风雪夜回
Pythonpythonwindowslinux
1.介绍PyInstaller是一个用于将Python应用程序打包为独立可执行文件的工具,它支持跨平台操作,包括Windows、Linux和MacOS等操作系统。特点如下:跨平台支持:PyInstaller可以在多个操作系统上运行,并生成相应平台的可执行文件。自动依赖项处理:它会自动检测Python脚本的依赖项,并将它们打包到生成的可执行文件中。单文件发布:可以将整个Python应用程序及其所有依
- Python虚拟环境基础
sky wide
Python专项python
1.创建虚拟环境#使用venv创建虚拟环境python-mvenvmyenv2.激活虚拟环境Windows:myenv\Scripts\activatemacOS/Linux:sourcemyenv/bin/activate3.查看当前虚拟环境运行以下命令查看当前激活的虚拟环境:wherepython#Windowswhichpython#macOS/Linux4.安装依赖包在虚拟环境中,你可以使
- 一文讲清 Python 打包工具 PyInstaller
Python数据开发
学习笔记python开发语言
你好,PyInstaller是一个非常受欢迎和强大的工具,它可以将Python程序转换成独立的可执行文件,适用于Windows、Linux和macOS系统。相比于其他的Python打包工具,PyInstaller综合打包能力应该是最好的。使用PyInstaller可以非常方便地将Python脚本及其所有依赖项打包成一个标准的可执行文件,这对于程序的分发和部署非常有帮助。安装PyInstaller你
- 【安卓面试】
木啊木啊木
android面试职场和发展
百度-APP相关安卓开发数组排序view流程和surfaceViewrecycleViewview绘制流程停止一个线程停止线程的场景输入一个url观察者模式观察者模式的基本流程:安卓内存共享JNISQLkotlin与java混用的问题Linux命令及原理app启动流程小程序原理加密算法对称加密非对称加密安卓持久化存储方式启动模式和场景ANR以及如何避免数组排序八大排序-及复杂度viewView是用
- ubuntu 24.04 安装telnet服务
tjjingpan
ubuntulinux
1.安装telnet客户端$sudoapt-getinstalltelnet2.安装telnet服务器$sudoapt-getinstlaltelnetd3.安装网络守护进程服务程序来管理telnet服务$sudoapt-getinstallxinetd4.修改配置文件inetd.conf$sudovi/etc/inetd.conftelnetstreamtcpnowaittelnetd/usr/
- linux编辑器——vim使用方法
孤サ月
linux编辑器vimlinux
文章目录linux编辑器——vim使用方法1.vim的基本概念2.vim的基本操作3.vim正常模式命令集4.vim末行模式命令集5.vim操作总结6.简单vim配置7.参考资料linux编辑器——vim使用方法vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以
- clickhouse-v24.1-离线部署
Wonderful呀
数据库clickhouse数据库运维linux
部署版本数据库版本:24.1.1.2048jdk版本:jdk84个文件(三个ck的包):OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tarclickhouse-client-24.1.1.2048.x86_64.rpmclickhouse-common-static-24.1.1.2048.x86_64.rpmclickhouse-server-24.1.1.
- Linux:vim详解及使用
C+五条
Linuxvim编辑器linux
一、什么是vimvim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1、正常/普通/命令模式(Normalmode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insertmode下,或者到lastlinemode2、插入模式(Insertmo
- 如何从0到1本地搭建whisper语音识别模型
MaxCode-1
搭建本地gptwhisper
文章目录环境准备1.系统要求2.安装依赖项1:安装Python和虚拟环境2:安装Whisper3:下载Whisper模型4:进行语音识别5:提高效率和精度6:开发和集成Whisper是OpenAI发布的一个强大的语音识别模型,它可以将语音转换为文本,支持多语言输入,并且可以处理各种音频类型。以下是一个从0到1的本地搭建Whisper模型进行语音识别教程环境准备1.系统要求操作系统:Linux、Ma
- Linux中的Vim文本编辑器
jun778895
linuxvim运维
Linux中的Vim是一个非常强大的文本编辑器,它提供了丰富的命令来支持各种文本编辑操作。以下是一个Vim常用命令的详细总结,涵盖了基本操作、编辑命令、移动光标、查找替换、保存退出等多个方面。一、基本操作启动Vimvim:直接启动Vim编辑器。vimfilename:打开或创建文件并启动Vim进行编辑。模式切换Vim有三种主要模式:正常模式(NormalMode)、插入模式(InsertMode)
- Linux操作命令学习笔记
Erii要早睡
linux学习
Linux操作命令学习笔记常用操作命令(以下均严格区分大小写)查看文件以及文件夹:ls命令ls-a(显示隐含文件,如以.开头的文件)ls-l(长格式输出,和ll命令效果近似)ls-R(递归显示)查看当前路径:pwd命令新建目录:mkdir命令mkdir-p(创建多级目录)切换工作目录:cd命令创建文件:touch命令(重复创建可以更新修改时间)文件复制:cp命令cp-R(递归复制)文件移动:mv命
- Linux学习笔记16 - 系统命令
KAMI STUDIO
Linux学习笔记linux学习笔记
1.Linux常见系统管理命令命令含义格式su切换用户su[选项][用户名]ps显示系统由该用户运行的进程列表ps[选项]top动态显示系统中运行的程序(一般为每隔5s)topkill输出特定的信号给指定PID(进程号)的进程,并根据该信号完成指定的行为,其中可能的信号有进程挂起、进程等待、进程终止等kill[选项]进程号uname显示系统的信息uname[选项]setup系统图形化界面配置set
- chmod命令学习2
天南地北飞
linux基础学习学习linux服务器
递归地修改权限chmod-R很多Linux命令可以递归地应用于文件和目录,chmod命令也不例外。使用-R(或–recursive)选项能够在短时间内修改数百个文件系统对象的权限。$pwd/home/scott/pictures/libby$ls-lFdrwxrw----2scottscott...by_pool/-rw-r--r--1scottscott...libby_arrowrock.jp
- linux man date命令,Linux学习笔记之date命令
勃斯丶李 mkq~~
linuxmandate命令
一、自定义输出[root@cent1~]#date+%Y-%m-%d2010-07-17[root@cent1~]#[root@cent1~]#date+’%Y-%m-%d%H:%M:%S’2010-07-1722:55:32[root@cent1~]#[root@cent1~]#date+’%H:%M:%S’22:55:44[root@cent1~]#[root@cent1sbin]#date+
- linux和Windows上安装MySQLdb
逍遥_yjz
1.Windows上安装MySQLdb1.1基于python2.7的安装下载MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whlpythoninstallMySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl或者pipinstallMySQL-python1.2基于python3.5的安装MySQLdb的安装很曲折,还是按照正常方法安装
- 一篇文章带你读懂 io_uring 的接口与实现
Linux高级开发
Linux服务器开发linux运维服务器epollaccept
io_uring是Linux提供的一个异步I/O接口。io_uring在2019年加入Linux内核,经过了两年的发展,现在已经变得非常强大。本文基于Linux5.12.10介绍io_uring接口。io_uring的实现主要在fs/io_uring.c中。io_uring的用户态APIio_uring的实现仅仅使用了三个syscall:io_uring_setup,io_uring_enter和
- VS Code 调试带标准输入的 Golang 程序
编号41734362
VSCode调试带标准输入的Golang程序操作系统:Ubuntu18.04LTSVSCode版本:1.44.2Go插件版本:ms-vscode.go0.14.1最近被迫接触Go,使用VSCode进行常规调试时(打断点,直接F5),发现无法在DebugConsole里进行标准输入操作(直接EOF)。网上查了半天,才找到几个解决方法。记录如下。插件的安装方法就不赘述了,百度都有仅供参考,请结合实际情
- CMake项目的CMackeLists.txt内容语法详解
过好每一天的女胖子
linuxWindows跨平台cmake跨平台
文章目录1、CMake构建级别2、CMakeLists.txt文件基本结构语法解析宏变量含义1、CMakeCMake(crossplatformmake)是一个跨平台的安装编译工具,可以使用简单的语句描述安装编译过程,输出安装编译过程中产生的中间文件。CMake不直接产生最终的文件,而是产生对应的构造文件,如linux下的makefile,windows下的vs的projects等CMake的编译
- 【io_uring】简介和使用
ywang_wnlo
存储liburingio_uring
文章目录简介使用系统调用liburing样例代码流程编译参考资料简介io_uring是Linux在5.1版本引入的一套新的异步IO实现。相比Linux在2.6版本引入的AIO,io_uring性能强很多,接近SPDK[1],同时支持bufferIOio_uring的作者JensAxboe是Linux内核块层和其他块设备的维护者,同时也是CFQ、Noop、Deadline调度器、blktrace以及
- 2024网络安全学习路线 非常详细 推荐学习
白帽黑客-晨哥
web安全学习安全数据库php
关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线首先咱们聊聊,学习网络安全方向通常会有哪些问题1、打基础时间太长学基础花费很长时间,光语言都有几门,有些人会倒在学习linux系统及命令的路上,更多的人会倒在学习语言上;2、知识点掌握程度不清楚对于网络安全基础内容,很多人不清楚需要学到什么程度,囫囵吞枣,导致在基础上花费太多时间;看到很多小伙伴,买了HTML,PHP,数据库,计算机
- 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独立出来,数据持