- lua学习(一)
笨鸟先飞的橘猫
lua学习开发语言
lua学习(一)版本:5.3官方文档:lua在线文档在线编辑器:luaos在线模拟介绍Lua是一种轻量级、可扩展的脚本语言,设计目标是为了嵌入到其他应用程序中,以提供灵活的脚本功能。特点简洁易学的语法:Lua的语法简洁明了,易于学习和掌握。它采用类似C语言的语法风格,但更加简洁和灵活。高效的执行速度:Lua是一种解释型语言,但它的执行速度非常快。这得益于其高效的虚拟机和优化的编译器。可扩展性强:L
- lua学习
qq_26306321
LuaLua
Lua数据类型Lua是动态类型语言,变量不要类型定义,只需要为变量赋值。值可以存储在变量中,作为参数传递或结果返回。Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。nil这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)boolean包含两个值:false和true。Lu
- Lua学习笔记
lichao890427
LUA学习笔记注释单行注释--多行注释--[[--]]Lua数据类型nilbooleantrue/falsenumber浮点stringfunctionC或Lua函数userdataC数据结构threadtable关联数组tab1={key1="val1",key2="val2","val3"}fork,vinpairs(tab1)doprint(k.."-"..v)endtab1.key1=ni
- XLua学习---LuaEnv加载lua脚本的几种方式
大苏苏说
XluaunityXLuaDostring文件加载unity
LuaEnv.Dostring()参数内为一个字符串,确切说是一个符合lua语法的字符串。在此写几种不同类型的加载方法。首先声明LuaEnvenv=newLuaEnv();1.最基本lua语言env.Dostring(@"hellowworld")env.DoString(@"mytable={name='xiaoming'}functionmytable:new()localt={}setmet
- xLua学习
Bug敲起来
unityluaios
什么是冷更新开发者将测试好的代码,发布到应用商店的审核平台,平台方会进行稳定性及性能测试。测试成功后,用户即可在AppStore看到应用的更新信息,用户点击应用更新后,需要先关闭应用,再进行更新。什么是热更新广义:无需关闭应用,不停机状态下修复漏洞,更新资源等,重点是更新逻辑代码。狭义定义(iOS热更新):无需将代码重新打包提交至AppStore,即可更新客户端的执行代码,即不用下载app而自动更
- [quick-cocos2d-x lua学习] 各大IDE之体验及选择 ( LDT、Sublime Text 2、IntelliJ IDEA 12、XCode5 )
WeiQ_
Lua编辑器Quick-Cocos2d-xLualuaquick-cocos2d-xiosintellijideaiphone
多年的开发经验,使本人深深的觉得一个好的IDE能让你的效率提升n倍(-_-!不知道算不算废话),所以哥在进入这块领域的时候,就把市面上常听说的一些IDE给装一下,用用看感觉如何,以好最终选一款出来,做为自己开发quick-cocos2d-x的利器!1.本人已安装的ide如图:2.下面是各大软件打开同一个lua项目时的画面:1).LuaDevelopmentTools(简称LDT)2).Intell
- [quick-cocos2d-x lua学习] 官网之多分辨率适配详解
WeiQ_
Quick-Cocos2d-xLua
转自官方网站:http://cn.quick-x.com/?p=1436感觉官网的这篇文章很不错,为了自己日后查看方便,就转过来了~下面是正题:多种分辨率的适配一直都是一个蛋疼的问题,各家公司可能都有自己的一套方案。今天我为大家介绍的是我们在多款游戏里实践后的解决方案,相对来说成本和实现难度都较低,效果也很不错。多种分辨率适配的原理因为横屏和竖屏的原理完全相同,所以本文先以竖屏为例,后文再说明横屏
- lua学习03:tolua的编译和使用:C/C++调用lua、lua调用C++、lua调用tolua、常用tolua和lua的API介绍
谢白羽
lualua开发语言cocos2d
文章目录一、编译及使用流程1)编译lua静态库2)编译tolua++静态库3)编译tolua++.exe4)根据C/C++文件编写好对应的pkg文件,然后根据一创命令生成tolua(1)C文件举例(2)C++文件举例二、C++调用lua1)流程2)注意点:3)要包含的库和头文件4)代码示例5)生成函数的API介绍三、lua调用C++1)代码2)执行结果四、lua调用tolua五、遇到的tolua和
- Lua学习资料和视频
yzhj2005
Lualua开发语言
合宙Luat/LuatOShttps://gitee.com/openLuat/LuatOSLuatOS:PowerfulembeddedLuaEngineforIoTdevices,withmanycomponentsandlowmemoryrequirements(16KRAM,128KFlash)合宙Luat/LuatIDEht
- Lua学习笔记10-元表与元方法
UTD
Lua学习笔记lua学习笔记
原文链接:http://www.jellythink.com/archives/511前言元表对应的英文是metatable,元方法是metamethod。我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算。在Lua中也有这个道理,两个table类型的变量,你是无法直接进行“+”操作的,如果你定义了一个指定的函数,就可以进行了。那这篇博文就是主要讲
- Lua学习笔记
小米爱大饼
Lua
Lua是一种脚本编程语言,又被称为嵌入式的脚本语言。可以独立运行,也可以作为一个库,嵌入到宿主语言中。宿主语言需要创建Lua虚拟机加载Lua源码文件,虚拟机再将Lua代码转换为中间字节码并执行。1.第一类值:lua当中函数是一个值,他可以存在变量中,可以作为函数参数,可以作为返回值2.闭包:通过调用含有一个内部函数加上该外部函数持有的外部局部变量(upvalue)的外部函数(就是工厂)产生的一个实
- lua学习笔记16 table元表详解
本人视频
一table本质Lua中table本质实际上是个类似HashMap东西。其元素是很多的Key-Value对,类似iOS中的字典NSDictionary。如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制。lua“面向对象”就是凭借这个机制实现的。示例:localtab={}print(tab.key)输出:nil因为tab中没有任何元素,当然视图访问其key元素时就会找不到,所以
- Lua学习笔记五——metatable
hong201
Lualuafunctiontablelistpythonclass
metatable是元表的意思,在python中,有metaclass,即元类,不管是元表还是元类,都是功能强大的,简单的来说,元类就是类的类,元表就是table的table。下面看看元表的强大,利用table模拟list的加法操作:定义列表tablelist={}list.mt={}其中list.mt是用来准备定义list的元表的定义初始化函数functionlist.new(ls)locall
- Lua 学习笔记(6)元表(metatable)与元方法(metamethod)
ChiLi_Lin
LuaLua学习笔记lua
Lua学习笔记(6)元表(metatable)与元方法(metamethod)《Lua程序设计》Lua中每个值都有一套预定义的操作集合。例如数字的相加,字符串的连接。当Lua要把两个表相加时,会检查元表是否有个叫__add的字段,有的话就调用(即元方法)。localmt={}MyTable={}functionMyTable.new(l)localset={}setmetatable(set,mt
- Lua学习笔记 — Table与Metatable(超详细)
快乐小炮灰
Lua与Skynetlua学习笔记
01、Tabletable是lua中唯一的数据结构;既可以表示hashtable也可表示为array;配合元表可以定制表复杂的功能(如实现面对对象编程中的类以及相应继承的功能)数组arr1={1,2,"abc"}--table.insert(table,[pos,]value)table是要插入元素的表,pos是可选参数,表示要插入的位置,默认为表末尾,value是要插入的元素。table.ins
- lua学习01:c调用lua、lua调用c、lua的协程、lua的常见API、lua读取配置文件总结
谢白羽
lualuac语言
文章目录1.c通过虚拟机和虚拟栈调用luatest-vm.ctest-vm.lua打印效果2.lua通过虚拟机和虚拟栈调用clua-tbl.ctest-tbl.lua3.lua的协程test-co.lua展示效果4.常用的luaapi解释(C语言函数)1)lua_State*luaL_newstate(void);2)lua_State*L=luaL_newstate();3)lua_State*
- Lua学习
指间罅隙
Lua学习元表setmetatable(table,metatable):对指定table设置元表(metatable),如果元表(metatable)中存在__metatable键值,setmetatable会失败。返回tablegetmetatable(table):返回对象的元表(metatable)。__index元方法:访问值Lua查找一个表元素时的规则,其实就是如下3个步骤:1.在表中
- Lua学习笔记4. coroutine协同程序和文件I/O、错误处理
weixin_34389926
lua
Lua学习笔记4.coroutine协同程序和文件I/O、错误处理coroutineLua的协同程序coroutine和线程比较类似,有独立的堆栈、局部变量、独立的指针指令,同时又能共享全局变量但coroutine又和多线程程序不同,首先一个多线程程序可以同时运行多个单线程,但协同程序只能串行,也就是说同一时刻只能有一个协同程序在运行,并且这个协同程序将一直占用处理器直到被显式的挂起。基本的函数c
- lua学习
蒲小英
Lualua
Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。1.Lua简介特性:轻量级:它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。可扩展:Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。其它
- LUA学习笔记(二)---LUA函数\数组\迭代器
江来_ljyll
LUA
LUA函数(1)Lua编程语言函数定义格式如下:optional_function_scopefunctionfunction_name(argument1,argument2,argument3...,argumentn)function_bodyreturnresult_params_comma_separatedend解析:optional_function_scope:该参数是可选的制定函
- 【lua学习】Lua 面向对象
谢健
Lua学习Lua面向对象
【lua学习】Lua面向对象面向对象编程(ObjectOrientedProgramming,OOP)是一种非常流行的计算机编程架构。以下几种编程语言都支持面向对象编程:C++JavaObjective-CSmalltalkC#Ruby面向对象特征1)封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。2)继承:继承的方法允许在不改动原程序的基础上对其进行扩充,这样使得原功能得以
- Xlua学习笔记一——Lua映射c#生命周期函数
Master-Xue
XLualuaunity
思路非常简单,在c#脚本中每个生命周期函数中执行一个事件,该事件用于在lua中调用,然后再写一个添加或者删除事件的函数即可。之后如果lua中逻辑要通过生命周期函数实现,在物体上添加该脚本组件,然后添加对应周期函数事件就行了。直接上代码。usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnit
- xLua学习总结(三)---C#访问lua中数据
HelloWorldTianNa
1.将lua中基本数据映射到C#类型lua中数据a=1str="小明"--文件编码改为UTF-8isRight=trueC#inta=env.Global.Get("a");stringstr=env.Global.Get("str");boolisRight=env.Global.Get("isRight");2.将lua中的table映射到C#中的ListluatableList={1,2,3
- Unity XLua学习笔记(三):Lua调用C#
qq_42393139
luaunityc#
上一篇文章UnityXLua学习笔记(二):C#调用Lua创建一个Lua脚本Lua脚本LuaCallCSharp.lua脚本内容:localobj1=CS.UnityEngine.GameObject()localobj2=CS.UnityEngine.GameObject("测试游戏对象")Main.lua脚本内容:require("LuaCallCSharp")在Unity中用C#脚本调用(执
- Lua学习笔记:03-Lua语法基础(1)
逍遥俊子
Lua学习笔记Lua基本语法
Lua学习笔记:03-Lua语法基础(1)1.基本语法1.1交互式编程1.2脚本式编程1.3注释1.4全局变量2.Lua数据类型2.1nil(空)2.2boolean(布尔)(略)2.3number(数字)2.4string(字符串)2.5table(表)2.6function(函数)2.7thread(线程)2.8userdata(自定义类型)3.Lua变量3.1变量赋值3.2索引1.基本语法1
- Lua学习笔记
只猿
1.Lua交互式编程and脚本式编程2.注释单行:--多行:--[[--]]多行推荐使用:--[=[]=]3.变量变量默认是全局的且不需要声明,直接使用不会报错(为nil);删除变量可赋值为nil4.Lua中有8个基本类型分别为:nil、boolean、number、string、table、function、userdata、threadnil:类型表示一种没有任何有效值;对于全局变量和tabl
- lua学习<基础概念>
跃千山
基础概念程序块(chunk)定义lua中的每一个源代码文件或在交互模式(Cmd)中输入的一行代码都称之为程序块一个程序块就是一连串语句或者命令lua中连续的语句不需要分隔符,但为了可读性可以加换行,或者分隔符分号;来分割语句但是换行在代码中没有任何作用,仅仅是为了提高可读性a=1b=a*2a=1;b=a*2a=1;b=a*2a=1b=a*2一个程序块可以仅包含一条语句,也可以由多条不同的语句或函数
- Lua学习笔记(五):函数
徐而不缓
1Lua中的函数定义函数有两种用途:1完成指定的任务。此时,函数作为调用语句使用;2计算并返回值。此时,函数作为赋值语句的表达式使用。lua中函数的语法:functionfunc_name(arguments-list)statements-listend调用函数时,如果参数列表为空,则必须使用()表明是函数调用。该规则有一个例外,即:当函数只有一个参数并且这个参数是字符串或者table时,()可
- Unity XLua学习笔记(二):C#调用Lua
qq_42393139
luaunityc#
上一篇文章:UnityXLua学习笔记(一):创建脚本,完成准备工作C#获取Lua中的变量注意:这篇文章中所用到的变量调用均为值拷贝,并不能改变Lua脚本中的值,除了接口拷贝(引用拷贝,会改变Lua中的值)在TestLua中定义一些变量print("LuaTest")testInt=10testStr="ABC"testBool=truetestFloat=1.2--无参数无返回值的函数testF
- XLUA学习--C#访问Lua全局函数
大苏苏说
unityXluaXLUAC#全局函数
上一篇讲到了通过接口的形式,可以访问表内部的函数,那如果这个方法是一个全局的函数,就是这篇博客要讲解的。先上Lua中的代码。functionTestOne()print('noparm')endfunctionTestTwo(a,b)print(a,b)endfunctionTestThree(a,b)returna+bendfunctionTestFour(a,b)returna+b,a,ben
- 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独立出来,数据持