- Kotlin非常用关键字使用记录
Developings
kotlin开发语言android
1,typealias声明一个类型别名。样例:typealiasMyBean=ItemBeandataclassItemBean(valtitle:String,valintent:Intent)valbean=MyBean("11",Intent())实现了将ItemBean数据模型取了一个别名MyBean,后续我们可以像使用别名一样使用他们2,crossinline禁止传递给内联函数的lamb
- COMP315 JavaScript Cloud Computing for E Commerce
zhuyu0206girl
javascript开发语言ecmascript
Assignment1:Javascript1IntroductionAcommontaskincloudcomputingisdatacleaning,whichistheprocessoftakinganinitialdatasetthatmaycontainerroneousorincompletedata,andremovingorfixingthoseelementsbeforeform
- kafka-eagle 配置文件修改使用自带的数据库
bright future cheer
kafka数据库分布式
######################################multizookeeper&kafkaclusterlistSettingsprefixedwith‘kafka.eagle.’willbedeprecated,use‘efak.’instead######################################efak.zk.cluster.alias=clu
- SQL运维_Unix下MySQL-8.0.18配置文件示例
Mostcow
SQLsql运维unix
SQL运维_Unix下MySQL-8.0.18配置文件示例MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将
- Winsock编程入门和枚举协议
bcbobo21cn
VC++协议分析和开发EnumProtocolsMSAFD协议winsock
Winsock的初始化和清除代码类似如下;if((ret=WSAStartup(MAKEWORD(2,2),&wsadata))!=0){wsprintf(buf,TEXT("winsock初始化失败,错误:%d"),ret);......return0;}。。。。。。if(WSACleanup()==SOCKET_ERROR){wsprintf(buf,TEXT("WSACleanup失败,错误
- MySQL Enterprise Backup (MEB) for MySQL 8.0 深入解析及企业级备份恢复演练
lzyever
MySQLmysql数据库
一、备份恢复核心概念MEB简介MySQLEnterpriseBackup是Oracle提供的专业物理备份工具,专为MySQL8.0及以后版本设计,提供高效且低干扰的在线备份解决方案。它能够实现对InnoDB存储引擎数据的快速备份,并兼容MySQL的诸多高级特性。主要特点在线热备份:MEB在备份期间尽可能减少对数据库活动的阻塞,采用多线程技术并结合InnoDB的元组锁定机制,创建一致性备份。增量备份
- docker构建镜像命令
你是理想
dockerdocker容器运维
编写dockerfile文件例子1;FROMoraclelinux:7-slimENVrelease=19ENVupdate=13RUNcurl-o/etc/yum.repos.d/public-yum-ol7.repohttps://yum.oracle.com/public-yum-ol7.repo&&\yum-config-manager--enableol7_oracle_instantc
- windows服务器上部署Java项目
new Project
windows服务器java
1.首先把jdk数据库等项目运行环境在服务器上搭建起来2.部署项目需要4个文件如下图3.添加xxx.bat文件,这个文件用于在服务器服务中新增一个服务,文件内容下面代码中需要修改的内容:sccreate新增的服务名称binPath=xxx.exe文件的路径
[email protected]"%SystemDrive%\SystemV
- 【RH134问答题】第十章 控制启动过程
不怕娜
服务器数据库网络
系列文章第一章提高命令行生产效率第二章计划将来的任务第三章调优系统性能第四章使用ACL控制对文件的访问第五章管理SELinux安全性第六章管理基本存储第七章管理逻辑卷第八章实施高级存储功能第九章访问网络附加存储目录系列文章请简要说明RHEL8的启动过程。系统重启和关机的命令分别是什么?Systemdtarget是什么?重置丢失的root密码需要哪些步骤?如何让系统日志在重启后持久保留?请简要说明R
- Oracle 物化视图
博弈星宇
Oracleoracle数据库database
物化视图也是种视图。Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。物化视图可以查询表,视图和其它的物化视图。特点:(1)物化视图在某种意义上说就是一个物理表(而且不仅仅是一个物理表),这通过其可以被user_tables查询出来,而得到确认;(2)物化视图也是一种段(segment),
- 唯一约束
橙子味冰可乐
Oracle从小白到总裁数据库oraclesql开发语言java
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645唯一约束唯一约束的特点是在某一个列上的内容不允许出现重复。例如,现在要收集用户的信息,假设包含编号(mid)、姓名(name)、E-mail(email)很明显email的数据不可能重复,所以就可以使用unique约束完成--删除数据表dropta
- JDBC的概念
2301_79744036
数据库java
一.JDBC概念:其实JDBC就像是翻译官,就像是你去到国外是不是听不懂当地人再讲什么?Java就相当于是你,数据库就是本地人,然后JDBC就是那个翻译官,它提供了一套标准的方法和工具,让Java程序可以与各种不同类型的数据库进行交流,无论是MySQL、Oracle、SQLServer还是其他类型的数据库。它隐藏了与具体数据库相关的细节,使得Java程序员可以用相同的方式来访问不同的数据库,而不需
- 如何用Jmeter对数据库执行压力测试
自动化测试薰儿
软件测试技术分享jmeter数据库压力测试
在我看来压力测试的压测对象可以分为UI,接口及数据库三个部分吧,对界面及接口进行压测还算熟悉,定位性能瓶颈,对数据库SQL执行压测也是需要做的。工具呢?还是Jmeter1、将需要用到的链接Oracle的架包放到jmeter中在数据库服务器安装路径下,找到ojdbc5.jar,D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib拷贝到jmeter
- Hibernate的Criteria查询因某个字段为空,导致查询数据为空问题
clk_esunny
随笔javahibernatejava查询
今天,使用Hibernate的Criteria查询Oracle数据库表数据,发现只要表里面某个字段为空,查询不出来数据,这是为什么呢?下面解决方法介绍一下:(下面的表User_Info,只是举例说明使用)一、查找原因,排除法(1)是不是这个Criteria查询方法不支持?a.采用普通的Hibernate查询QueryqyeryObj=session.createQuery("FROMUSER_IN
- Oracle数据库体系结构简介
腾科教育
oracleoracle数据库
Oracle数据库是一种功能强大且广泛使用的关系数据库管理系统(RDBMS)。为了更好地理解和使用Oracle数据库,了解其体系结构是至关重要的。本文将简要介绍Oracle数据库的体系结构,以便读者能够对其工作原理有一个基本的了解。一、实例(Instance)和数据库(Database):Oracle数据库由两个主要组成部分组成:实例和数据库。实例是在计算机内存中运行的Oracle进程集合,负责管
- oracle底层原理
编织幻境的妖
oracle数据库
1.请解释Oracle数据库的体系结构,包括实例和数据库之间的关系。Oracle数据库的体系结构可以分为内存结构、进程结构和存储结构三个主要部分,其中实例和数据库是两个核心概念。具体分析如下:内存结构:主要由两部分组成,SGA(系统全局区)和PGA(进程全局区)。SGA是一组共享的内存结构,包含数据库缓存、共享池等,用于提高数据库的性能和效率。PGA是非共享的内存区域,每个服务器进程都有自己的PG
- SinoDB V16.8 版本新特性
Sinoregal
SinoDB数据库国产数据库
1、Oracle兼容兼容withas语法兼容insertall/first语法兼容(+)形式的左外连接和右外连接语法兼容ROLLUP/CUBE/GROUPINGSETS语法兼容createorreplaceview/trigger/procedure/function/index语法兼容renameprocedure/function语法2、新增功能条件索引(ConditionalIndex)新增
- DataX-数据迁移Oracle到Mysql-ETL工具
天海行者
【数据库】etl数据仓库
一、安装https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md1、直接下载DataX工具包:DataX下载地址下载后解压至本地某个目录,进入bin目录,即可运行同步作业:$cd{YOUR_DATAX_HOME}/bin$pythondatax.py{YOUR_JOB.json}自检脚
- 【EZ9999】RuntimeError: call aclnnRsubs failed
内卷焦虑人士
服务器运维昇腾nnae华为
报错如下:RuntimeError:callaclnnRsubsfailed,detail:EZ9999:InnerError!EZ9999Cannotparsejsonforconfigfile[/usr/local/Ascend/nnae/latest/opp/built-in/op_impl/ai_core/tbe//kernel/config/ascend910/sub.json].Tra
- IOS面试题object-c 31-40
️ 邪神
IOS面试题ios面试题objective-c
31、Object-C对象如何进行内存布局?1,所有父类的成员变量和自己的成员变量(实例变量、私有变量、以及声明为属性生成的变量)都会存放在该对象所对应的存储空间中。2,每个对象内部都有一个isa指针,指向他的类对象,类对象中存放着本身对象的a,对象方法列表(对象能够接收的消息列表,保存在它所对应的类对象中)b,成员变量的列表。c,属性列表。类对象内也有一个isa指针指向元对象(metaclass
- Oracle将归档日志从 ASM 拷贝到 Linux 文件系统中操作步骤
冥净
oraclelinux数据库
Oracle–将归档日志从ASM拷贝到Linux文件系统中操作步骤适用场景:备份出现问题,ASM中归档日志磁盘组空间不足,暂时无法扩容,数据库不可用。操作前提:可以备份情况下,先备份之后直接清理日志文件。如果没法第一时间备份情况下,先将数据库文件拷贝到本地,先将asm中日志文件清理,恢复数据库业务使用,之后再将本地拷贝出来的日志文件,重新拷贝回asm磁盘组中,再进行备份检查事项:执行后需要校验归档
- 思科-Six,思科拓展acl,扩展acl配置命令
骑单车的青之扬
acl思科
ACL拓展扩展ACL(100--199)建立扩展ACL的操作步骤:1)建表2).用表扩展ACL(100–199)总结扩展ACL访问列表语法:Router(config)#access-list100permit(IP)大协议源地址源反掩码目标地址目标反掩码access-list100permitIP192.168.1.00.0.0.255host192.168.4.2扩展列表他控制OSI七层模型的
- Oracle数据库
guwei666666
Oracle数据库oracle
1.数据库简介1.1什么是数据库简单的说,数据库(database)就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据提供的多种方法来管理数据库里的数据。当人们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借
- Spark从入门到精通29:Spark SQL:工作原理剖析以及性能优化
勇于自信
SparkSQL工作原理剖析1.编写SQL语句只要是在数据库类型的技术里面,例如MySQL、Oracle等,包括现在大数据领域的数据仓库,例如Hive。它的基本的SQL执行的模型,都是类似的,首先都是要生成一条SQL语句执行计划。执行计划即从哪里查询,在哪个文件,从文件中查询哪些数据,此外,复杂的SQL还包括查询时是否对表中的数据进行过滤和筛选等等。2.UnresolvedLogicalPlan未
- Oracle存储过程干货(一):存储过程基础
ZzzkiYoumi
oracle日常运维笔记oracle数据库dba运维
/SQLplus中,设置setserveroutputon才能显示输出结果/—匿名的PLSQL(存储过程)块,不存储在数据库中beginnull;end;/begindbms_output.put('hi');/*put是不换行的输出*/dbms_output.put_line('helloworld');/*put_line是换行的输出*/end;/—命名的存储过程,存储在数据库中createo
- 实战:从Oracle standby数据库端备份数据库并在异机恢复一个新的数据库
lzyever
Oracle数据库oracle
导读为减少主库的备份压力,在standby备库备份数据库,由于测试需要,现在在异机恢复一个数据库的测试环境,即利用standby数据库的备份恢复一个新的数据库。1、查看standby数据库备份脚本#!/bin/sh.~/.bash_profileDATE=`date+%Y-%m-%d-%H-%M-%S`exportORACLE_SID=ORCLADGrmantarget/log=/backup/l
- oracle job 创建 删除 更改状态 启动 停止
chaoloveyou
oracle数据库java
创建declarejobnamenumber;beginsys.dbms_job.submit(ccb_job,--job名称'imp_ccb(''1'',''2'',''3'');',--预警信息、指令信息、综合统计的存储过程sysdate,--job启动后下次执行时间'trunc(sysdate,''mi'')+1/(24*60)');--每分钟执行一次commit;end;查看select*
- Oracle Rac lock进程,Oracle RAC后台进程介绍
weixin_39965102
OracleRaclock进程
在OracleRAC数据库上会比单实例数据库多一些进程,这些进程是RAC特有的,为了实现集群数据库功能而设置的。这篇文章会对RAC特有的进程做一些介绍。1、LMSn:GlobalCacheServiceProcess。LMSn进程会维护在GlobalResourceDirectory(GRD)中的数据文件以及每个cachedblock的状态。LMSn用于在RAC的实例间进行message以及数据块
- 搭建oracleRAC详解(裸设备)
weixin_34270865
数据库开发工具运维
为什么80%的码农都做不了架构师?>>>理清思路先设备,一个笔记本,两台redhat5的虚拟机(32bit),两个虚拟机都安装过oracle,配置好一些安装的必要条件了,需要的包官网下。1。选择2台主机,同平台的,保证网络互通2。设计和配置ip地址,每台主机3个ip,配置2个,预留一个私有IP:在独立的网段,双机内部通信10.10.10.1公有IP:维护的IP,在工作网段192.168.1.11虚
- mysql 中的一些重要函数
一切顺势而行
mysql数据库
showcreatetableuser_profile查看表结构1.datediff(end_date,start_date)函数,now(),curdate()curtime()date_add(日期,intervalnum时间)date_format(日期,格式)4.selectIFNULL(null,0);oracle中nvl函数5.selectIF(2>1,2,0),oracle中deco
- 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独立出来,数据持