- 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你
- 推荐项目:NoColor - 打造健壮的PHP架构验证工具
宣利权Counsellor
推荐项目:NoColor-打造健壮的PHP架构验证工具nocolorValidatethearchitectureofyourPHPprojectbasedontheconceptoffunctioncolors项目地址:https://gitcode.com/gh_mirrors/no/nocolor在构建大型PHP项目时,保持清晰且合理的架构至关重要。今天,我们向您隆重推荐一款名为NoColo
- php魔术方法及其意义
smallThree1
PHP提供了很多魔术方法,记录一下其中比较重要的几个1.__get和__set在对象调用不存在的属性时会去自动调用__get方法在对象赋值不存在的属性或者权限不够的属性时会自动调用__set方法2.__call和__callStatic在对象调用不存在的或者权限不够的方法时会调用此类方法3.__toString在将对象作为字符串输出时会调用(例如echo$obj)4.__invoke在将对象作为函
- 【安卓面试】
木啊木啊木
android面试职场和发展
百度-APP相关安卓开发数组排序view流程和surfaceViewrecycleViewview绘制流程停止一个线程停止线程的场景输入一个url观察者模式观察者模式的基本流程:安卓内存共享JNISQLkotlin与java混用的问题Linux命令及原理app启动流程小程序原理加密算法对称加密非对称加密安卓持久化存储方式启动模式和场景ANR以及如何避免数组排序八大排序-及复杂度viewView是用
- cron表达式的使用
core_筱
Cron适用于周期性执行、日常维护、在某时刻需要完成的单次任务等场景。Cron表达式是一个具有时间含义的字符串,字符串以5个空格隔开,一般分为5个域,格式为XXXXX。其中X是一个域的占位符。单个域有多个取值时,使用半角逗号,隔开取值。下表为Cron表达式中五个域能够取的值以及支持的特殊字符域是否必需取值范围分钟是0-59小时是0-23日期是1-31月份是1-12星期是1-7Cron表达式中的每个
- 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
- Python基础
木啊木啊木
pythonjvm开发语言
Python_name_javastring和字符串区别深浅拷贝内存池垃圾回收机制引用增减垃圾回收引用计数标记清除分代回收缓存机制池机制free_list装饰器迭代器提高运行效率的方法函数传递方式name当一个Python文件作为主程序运行时,name__属性的值将被设置为__main。这提供了一种方式,通过判断__name__来执行特定的代码块。如果一个Python文件被其他文件导入,name_
- 如何从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和
- CMake项目的CMackeLists.txt内容语法详解
过好每一天的女胖子
linuxWindows跨平台cmake跨平台
文章目录1、CMake构建级别2、CMakeLists.txt文件基本结构语法解析宏变量含义1、CMakeCMake(crossplatformmake)是一个跨平台的安装编译工具,可以使用简单的语句描述安装编译过程,输出安装编译过程中产生的中间文件。CMake不直接产生最终的文件,而是产生对应的构造文件,如linux下的makefile,windows下的vs的projects等CMake的编译
- Delphi保存字符串到文本文件
龙门吹雪
Delphi保存字符串到文本文件,若指定文件不存在,则自动创建;保存字符串时采用累加形式。proceduremSaveToFile(constFileName:string;sts:string);varMyTextFile:TextFile;//定义变量MyTextFile为文本文件类型begin//(*步骤1,将文件变量与外部文件联系。相当于为外部文件找了个“替身”*)AssignFile(M
- 【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,数据库,计算机
- man命令学习记录
天南地北飞
linux基础学习学习linux运维
使用man来查看命令的用法manls想了解Linux命令的用法假设你想查ls命令的更多信息,输入manls,就会打开manpage(man是manual的缩写,因此manpage就是“手册页面”),显示关于ls命令各个方面的信息。通常,manpage是由编写程序的开发人员编写的。使用这个命令并不难,只需要输入man,后面再跟上你想要了解的命令。$manlsLS(1)UserCommandsLS(1
- linux运维常见命令行
问道飞鱼
运维linux服务器
文章目录用户管理创建用户修改用户信息列出用户信息添加用户到组删除用户创建和管理组查看用户和组的信息其他相关命令文件管理文件和目录的基本操作文件权限管理文件压缩和归档磁盘管理查看磁盘使用情况查看文件和目录的磁盘使用情况磁盘分区管理挂载和卸载文件系统磁盘配额管理LVM(LogicalVolumeManager)管理网络管理查看网络接口状态配置网络接口查看和管理路由表管理DNS和主机名网络诊断工具网络流
- Linux-文件权限管理
蜡笔晴天
linux运维服务器
目录目录前言Linux用户权限解析1.基本权限UGO1.1设置权限:2.高级权限2.1suid2.2sgid2.3sbit2.4sudo给普通用户提权3.特殊权限4.隐藏权限总结前言linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险。所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要。文件权限大致分为基本权限、高级权限、特殊权限和隐藏权限,下面
- python pygame教程_【Python】Pygame入门
weixin_39677419
pythonpygame教程
Pygame的历史Pygame是一个利用SDL库的写的游戏库,SDL呢,全名SimpleDirectMediaLayer,是一位叫做SamLantinga的大牛写的,据说他为了让Loki(致力于向Linux上移植Windows的游戏的一家大好人公司,可惜已经倒闭,唉好人不长命啊……)更有效的工作,创造了这个东东。SDL是用C写的,不过它也可以使用C++进行开发,当然还有很多其它的语言,Pygame
- python——字符串&切片
其实@qq.com
python
字符串对象:1、字符串定义:(1)定义:字符串就是一系列字符,在python中,用引号(单引号,双引号,三引号都可以)括起来的都是字符串。例如:“kaikai”,“helloworld”,“xixiisagirl”(2)输出字符串直接在print函数中输出字符串。如:print(“kaikai”)(3)拼接字符串python中使用加号(+)来拼接字符串。如:2.字符串的常见方法:(1)字符串大小写
- Swift中的字典
下班不写程序
使用let定义不可变字典.2.使用var定义可变字典.3.字典也是使用[]来表示.1.字典的定义、取值、赋值、移除funcdemo(){//1.定义一个OC中的字典,key/value都是字符串letdict=["name":"老张","age":"18"]print(dict)//结果:["name":"老张","age":"18"]//2.初始化一个不可变的指定类型的空字典letdict4=[
- string字符串进行分割
梦想患者
每天学一点字符串操作小技巧算法
c++标准库中,对string字符串并没有提供分割操作,需要自己手动实现此功能。方式1:采用std::stringstream输入字符串,通过getline()函数,来对字符串进行分割。#includevoidgetSplit(std::strings,charcDelims,std::vector&res){std::stringstreamss;ssstrDest3;getSplit(Test
- Python字符串的切片运算操作
MG_鹏鹏
Python学习笔记python开发语言
Python语言的字符串切片运算功能类比于Java等语言的字符串截取函数要简洁方使很多,使用起来很是顺手。一、语法格式:Python对字符的中的元素或者子串的访问使用方括号[],类似于Java中的数组,但又青出于蓝而胜于蓝,通过索引值(下标)和:符灵活配合。格式:变量名[始下标:终下标:步长]其中始下标可以是0即从左往左开始,也可以是-1从右往左开始详见下图:从左往右01234567从右往左-8-
- 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独立出来,数据持