- GEE下载REMA strip和mosaic数据的python脚本
WiIsonEdwards
pythonwindowslinux
EarthEngineDataCatalog:https://developers.google.com/earth-engine/datasets/catalog搜索REMA:importeeimportgeemapimportosimportwarnings#忽略所有警告warnings.filterwarnings("ignore")#下载REMAStrips数据(2m和8m)defdown
- docker 安装elasticsearch kibana,设置密码
biguojun
dockerelasticsearchkibana
安装elasticsearchdockerpulldocker.elastic.co/elasticsearch/elasticsearch:7.17.28dockerrun-d--namedocker-es-e"ES_JAVA_OPTS=-Xms512m-Xmx512m"-e"discovery.type=single-node"-vD:\docker\es\data:/usr/share/el
- TypeScript语言的网络编程
俞嫦曦
包罗万象golang开发语言后端
TypeScript语言的网络编程引言随着现代网络应用程序的不断发展,对编程语言的需求也在不断提高。JavaScript作为前端开发的主要语言,凭借其动态特性和广泛的应用,成为了Web开发的中坚力量。而TypeScript作为JavaScript的超集,逐渐在开发社区中获得了越来越多的关注。其静态类型的特性使得开发者在编写大型应用程序时能够更加得心应手。尤其是在网络编程方面,TypeScript展
- 重生之——我用WeakMap和Symbol缔造专属于我的金丝雀~~~【使用WeakMap和Symbol实现属性私有】
被夏油狠狠爱的悟
JS前端javascript开发语言WeakMapclass类Symbol
#今日份大脑爆炸##看完下面内容包你更进一步理解WeakMap!#不想属性被外人看见?不想是个人都能看见你的属性?那就看看WeakMap,帮你轻松实现你的目标!1.WeakMap:第一版://WeakMap管理私有属性:consthost=newWeakMap()//这里创建了一个WeakMap实例host,用于存储每个User实例的host属性classUser{constructor(url)
- 【C语言】:学生管理系统(多文件版)
彬彬1313
c语言开发语言经验分享学习方法笔记
一、文件框架二、Datadata.txt三、Inc1.list.h学生结构体#ifndef__LIST_H__#define__LIST_H__#include#include#include#include#include#defineMAX_LEN20//学生信息结构体typedefstruct{//登录用charuser_name[128];//账号charpassword[128];//密
- python nginx部署_nginx部署python应用
weixin_39611070
pythonnginx部署
2.nginx配置文件如下:#位于/nginx/conf/nginx.conf#usernobody;worker_processes1;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout185;server{l
- 如何绕开浏览器批量下载的限制
露露在前端
前端javascripthtml状态模式学习面试vue.js
前言最近遇到一个需求,需要将批量选择的图片,批量一个个下载。触发单个下载在浏览器中触发下载,我们可以借用a元素来触发。constdownloadFile=async(url:string,name:string)=>{constres=awaitfetch(url);constblob=awaitres.blob();conststrList=url.split('.');consttype=st
- laravel框架查询数据集转为数组
小浮夸
框架laravel
$website_data=DB::table('fb_website')->where('website_status',1)->get()->map(function($value){return(array)$value;})->toArray();
- HTML 元素和有效 DOCTYPES
智慧浩海
HTMLhtml前端
HTML元素-有效DOCTYPES下面的表格列出了所有的HTML5/HTML4.01/XHTML元素,以及它们会出现在什么文档类型(!DOCTYPE)中:HTML4.01/XHTML1.0TagHTML5TransitionalStrictFramesetXHTML1.1YesYesYesYesYesYesYesYesYesYesNoYesYesYesYesYesYesYesYesYesNoYes
- CHM(ConcurrentHashMap)中的 sizeCtl 的作用与值变化详解
18你磊哥
java进阶算法
ConcurrentHashMap常简写为CHM,尤其是在讨论并发编程时。在ConcurrentHashMap的源码中,有一个名为`sizeCtl`的关键字段,用于控制表的初始化和扩容。ConcurrentHashMap中sizeCtl的作用,包括其不同的取值状态(如负数表示初始化或扩容中,正数表示初始容量等),以及它在并发控制中的具体应用。1.sizeCtl的作用,为什么需要它?2.值在不同阶段
- 中电金信25/3/18面前笔试(需求分析岗+数据开发岗)
苍曦
需求分析前端javascript
部分相同题目在第二次数据开发岗中不做解析,本次解析来源于豆包AI,正确与否有待商榷,本文只提供一个速查与知识点的补充。一、需求分析第1题,单选题,Hadoop的核心组件包括HDFS和以下哪个?MapReduceSparkStormFlink解析:Hadoop的核心组件是HDFS(分布式文件系统)和MapReduce(分布式计算框架)。Spark、Storm、Flink虽然也是大数据处理相关技术,但
- iOS进程增加内存上限的接口
memory
1)iOS进程增加内存上限的接口2).sommap内存占用排查的问题3)在使用RecastNavigation遇到的两个问题这是第420篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。UWA社区主页:community.uwa4d.comUWAQQ群:793972859MemoryQ:在打iOS包的时候注意到Xcode里有
- Nginx:高性能 Web 服务器的秘密武器
Hello-ZHE
nginx前端服务器
在当今互联网世界,高性能、高并发的Web服务是成功的关键。而Nginx,作为一款轻量级、高性能的Web服务器和反向代理服务器,正扮演着越来越重要的角色。本文将带你深入了解Nginx,掌握其基本概念、常用配置和一些高级用法。什么是Nginx?Nginx(发音为"engine-x")是一个开源的、高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。与其他Web服务器相
- Java Stream 流的介绍
吱屋猪_
java
介绍在Java8中,引入了StreamAPI,它为处理集合(如List、Set等)提供了一种更简洁、声明式的方式。Stream流的设计目标是支持对数据集合的高效操作,尤其是能够进行链式操作、并行处理等,极大地提升了代码的可读性和可维护性。本文将介绍JavaStream流的基础概念、常用操作以及如何利用Stream进行集合数据处理。1.什么是Stream流Stream是Java8引入的一个新的类,它
- Java创造型模式之原型模式详解
菜就多练少说
设计模式java开发语言
设计模式是面向对象设计中的一种标准方法,用于解决常见的设计问题。原型设计模式(PrototypePattern)是23种经典设计模式之一,属于创建型模式,它允许通过复制现有对象来创建新对象,而不是通过构造函数或工厂方法来创建。这样,开发者可以在运行时通过复制原型对象来快速生成新的对象,极大地提高了程序的灵活性和性能。本文将深入讲解Java中的原型设计模式,解释其概念、使用场景、以及如何在Java中
- oracle数据库转mysql数据库
一直想成为大神的菜鸟
数据库oraclemysql
1.删除oracle相关配置1.1删除pom中的oracle依赖1.2删除有关@Configuration中oracle配置2.驱动引入引入mysql依赖mysqlmysql-connector-java8.0.13org.springframework.bootspring-boot-starter-jdbc3.配置文件更改spring:datasource:druid:url:jdbc:mys
- Java高级编程深度解析:JVM底层原理、设计模式与Java 8+新特性实战
幼儿园扛把子\
jdkjavajava开发语言
Java语言高级(面向高级开发者)文章目录Java语言高级(面向高级开发者)1.JVM内存管理1.1内存区域1.2垃圾回收(GC)2.并发编程进阶2.1线程池2.2CAS与原子类3.设计模式3.1创建型模式3.2结构型模式4.注解与序列化4.1自定义注解4.2序列化5.Java8+新特性5.1Lambda表达式5.2StreamAPI6.总结1.JVM内存管理1.1内存区域区域作用特点堆(Heap
- vscode使用ssh同时连接主机CentOS:user和ubuntu20.04:docker
李卓璐
学习笔记vscodesshcentos
主机为CentOSdocker为Ubuntu20.04两者可以使用一个vscode远程链接1.使用已拉取好的Ubuntu镜像建立docker容器2.进入容器内,下载一些关于ssh的安装包apt-getinstallvimapt-getinstallopenssh-clientapt-getinstallopenssh-serverapt-getinstallsshpasswd#更改密码3.启动ss
- Spring Boot 配置属性 (Configuration Properties) 详解:优雅地管理应用配置
无眠_
springboot前端后端
引言SpringBoot的配置属性(ConfigurationProperties)是其另一个核心特性,它提供了一种类型安全、结构化的方式来管理应用的配置信息。与自动配置相辅相成,配置属性允许开发者以声明式的方式将外部配置(如properties文件、YAML文件、环境变量等)绑定到Java对象,从而简化配置读取和使用,提高代码的可读性和可维护性。本文将深入解析SpringBoot配置属性的原理、
- ARM:使用F103纯汇编点灯
一枝小雨
ARM内核arm开发汇编
0上节ARM体系结构解析:PC寄存器机制、三级流水线与C/汇编交互全揭秘-CSDN博客1纯汇编点灯主要是通过汇编代码实现下图逻辑:汇编代码实现:PRESERVE8THUMB;VevtorTableMappedtoAddress0atResetAREARESET,DATA,READONLYEXPORT__Vectors__VectorsDCD0DCDReset_Handler;ResetHandle
- libilibi项目优化(1)使用Redis实现缓存
Nijika...
libilibi项目优化缓存redis数据库java后端spring
第一版获取视频信息使用旁路缓存当视频信息存在缓存中时(命中),直接从缓存中获取。不存在缓存中时,先从数据库中查出对应的信息,写入缓存后再放回数据。//获取视频详细信息@RequestMapping("/getVideoInfo")publicResponseVOgetVideoInfo(@NotEmptyStringvideoId){//旁路缓存模式,先从缓存中拿VideoInfovideoInf
- ES 中时间日期类型 “yyyy-MM-dd HH:mm:ss” 的完全避坑指南
Elastic开源社区
elasticsearches分布式数据库
文章目录1、ES中的日期类型有何不同2、案例2.1案例介绍2.2原理揭秘3、路为何这么不平4、又一个坑5、总结6、ES的时间类型为什么这么难用,有没有什么办法可以解决?7、更优的生产解决方案1、ES中的日期类型有何不同时间和日期类型是我们作为开发每天都会遇到的一种常见数据类型。和Java中有所不同,Elasticsearch在索引创建之前并不是必须要创建索引的mapping。关系型数据库的思维就是
- 谈谈 TypeScript 中的联合类型(union types)和交叉类型(intersection types),它们的应用场景是什么?
程序员黄同学
TypeScriptJavaScript前端开发typescriptjavascript前端
一、联合类型(UnionTypes)核心概念使用管道符|表示多选一关系,典型场景:处理可能存在多种类型的变量//基础示例:处理数值型ID(number)或哈希型ID(string)typeEntityID=number|string;functiongetEntity(id:EntityID){//类型守卫处理分支逻辑if(typeofid==='number'){console.log(`Fet
- Xshell7连接Debian12系统,中文显示乱码,解决办法一览!
linuxdebian
在使用Xshell7远程连接Debian12时出现中文显示乱码问题,通常是由于字符编码或字体设置不匹配导致的。以下是详细的解决方法:解决方案1:设置Xshell编码为UTF-8打开Xshell会话配置:连接Debian12系统后,点击左侧面板的会话树状结构(如SessionList),右键点击当前会话,选择Properties(属性)。修改字符编码:进入Terminal选项卡。在Character
- Pytorch torch.prod函数介绍
qq_27390023
pytorch人工智能python
torch.prod是PyTorch库中的一个函数,用于计算输入张量中所有元素或者指定维度上元素的乘积。下面将从函数的基本语法、参数、返回值、使用示例几个方面进行详细介绍。基本语法torch.prod(input,dim=None,keepdim=False,dtype=None)参数input:必需参数,是一个输入的PyTorch张量,函数将对这个张量的元素进行乘积计算。dim:可选参数,指定要
- 深入理解Java集合框架:构建高效、灵活的数据管理方案
PsG喵喵
java开发语言
深入理解Java集合框架:构建高效、灵活的数据管理方案引言Java集合框架(JavaCollectionsFramework,JCF)是Java语言提供的一套用于表示和操作集合的统一架构。它包含了一系列的接口和类,用于存储和操作对象集合,如列表(List)、集合(Set)、映射(Map)和队列(Queue)等。集合框架的设计初衷是为了提供一套灵活、可重用且类型安全的集合数据结构,帮助开发者以统一和
- python keyerror列名报错_keyerror
weixin_39870199
pythonkeyerror列名报错
ValueError:传入参数不是调用者所期望的(从书上所得,输入的参数不是数字而是字母)TypeError:传入参数的类型不符合IndexError:传入的参数个数不满足AttributeError:访问对象的某属性无效KeyError:访问字典的无效关键字IOError:无法打开文件最近接到一个使用python写一个解析yaml文件,并根据内容配置指定对应的shell来执行(比如bat、pow
- C++中map和set的详解
黑猫Teng
c++算法开发语言
C++中map和set的介绍与使用在C++编程中,map和set是标准模板库(STL)中两种非常重要的关联容器。它们基于平衡二叉搜索树(通常是红黑树)的数据结构来实现,提供了高效的数据存储和检索功能。本文将详细介绍map和set的特点、用法以及一些常见的操作示例。一、map的介绍与使用1.map的基本概念map是一个键值对容器,其中每个键都是唯一的,且按照升序排序。map的内部结构是红黑树,这使得
- Java常用集合与映射的线程安全问题深度解析
misschen888
java安全开发语言
Java常用集合与映射的线程安全问题深度解析一、线程安全基础认知在并发编程环境下,当多个线程同时操作同一集合对象时,若未采取同步措施,可能导致以下典型问题:数据竞争:多个线程同时修改数据导致结果不可预测状态不一致:部分线程看到集合的中间状态内存可见性:线程本地缓存与主内存数据不同步死循环风险:特定操作引发无限循环(如JDK7的HashMap扩容)二、典型非线程安全集合问题分析1.ArrayList
- Java常用集合与映射的线程安全问题深度解析
longdong7889
java安全开发语言
Java常用集合与映射的线程安全问题深度解析一、线程安全基础认知在并发编程环境下,当多个线程同时操作同一集合对象时,若未采取同步措施,可能导致以下典型问题:数据竞争:多个线程同时修改数据导致结果不可预测状态不一致:部分线程看到集合的中间状态内存可见性:线程本地缓存与主内存数据不同步死循环风险:特定操作引发无限循环(如JDK7的HashMap扩容)二、典型非线程安全集合问题分析1.ArrayList
- 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独立出来,数据持