- 使用nginx+lua+Redis实现缓存预热、二级缓存查询、多级缓存查询
c.小白
nginxredislua缓存
使用nginx+lua+Redis实现缓存预热、二级缓存查询、多级缓存查询安装好Lua、Redis、openresty(默认安装了nginx)。lua安装在linux系统中执行下面的命令1.yuminstall‐ygcc2.yuminstalllibtermcap‐develncurses‐devellibevent‐develreadline‐devel3.curl‐R‐Ohttp://www.
- Linux下的Python开发环境
ftpeak
PythonLinuxlinux运维服务器condapycharm
以下是在Ubuntu22.04上安装XFCE桌面、配置中文环境、中文输入法、远程桌面;安装anaconda、PyCharm、谷歌浏览器等的步骤:首先,正常安装完毕Ubuntu22.04Linux。如果选择某些云平台的ECS服务器,可以用十几秒钟完成Ubuntu22.04Linux映像的快速安装,非常方便。一、安装XFCE桌面环境sudoaptupdatesudoaptinstallxfce4xfc
- Python并发多进程编程
ftpeak
Python网络爬虫python开发语言前端
一、多进程(Multiprocessing)多进程是指在操作系统中同时运行多个进程,每个进程都有自己独立的内存空间和系统资源。Python的multiprocessing模块提供了多进程编程的支持。优点可以利用多核CPU的优势,并行执行任务,提高程序的运行效率。各个进程之间相互独立,一个进程的崩溃不会影响其他进程。缺点进程的创建和销毁开销较大。进程之间的通信和数据共享相对复杂。代码示例import
- react 组件封装原则_如何基于antd封装自己的react组件并发布到npm
楚云卿
react组件封装原则
引言在前端项目开发过程中,有大量重复的内容,比如布局相似的模块,较多的功能表单等,我们可以提炼成组件来提升效率,减少重复建设。文章以实际工作中的项目为例,介绍如何将项目中常用的组件进行封装并发布到npm中。1前提要求在开始前你需要具备以下条件:安装了Node&npm安装了Git基本掌握npm,git使用方法熟练使用JavaScript&ES6&CSS基本掌握React熟悉React,antd2开始
- 在hadoop上运行python_hadoop上运行python程序
廷哥带你小路超车
数据来源:http://www.nber.org/patents/acite75_99.zip首先上传测试数据到hdfs:[root@localhost:/usr/local/hadoop/hadoop-0.19.2]#bin/hadoopfs-ls/user/root/test-inFound5items-rw-r--r--1rootsupergroup1012010-10-2414:39/us
- 复制迭代器与toList,zip的使用方法
rylshe1314
scala
packagetest_28objectTest{defmain(args:Array[String]):Unit={vallist1=List(1,2,3,4,5)//任务:输出每一个元素//list.foreach(println)//任务:跳过前两个,从第三个开始输出//迭代器//1.创建一个迭代器(iterator)valit1=list1.iteratorprintln(it1.hasN
- 如何部署Java应用到服务器
DKPT
#软件开发服务器环境搭建服务器服务器
准备工作:确保服务器上安装了Java运行环境(JRE或JDK)。安装Web服务器,如ApacheTomcat、Jetty或WildFly。配置服务器网络,确保可以远程访问。打包Java应用:使用IDE(如IntelliJIDEA或Eclipse)或构建工具(如Maven或Gradle)将Java项目打包成WAR或JAR文件。上传应用到服务器:使用FTP、SCP或其他文件传输工具将打包好的文件上传到
- Node_文件上传&令牌
katsukichan
Node
信息获取来源EnoYao创建脚手架expresskatsuki-project(express名称)在katsuki-project目录下安装依赖包npminstall上传单文件项目在katsuki-project安装multer模块npminstallmulter--save目录中创建一个uploads文件夹,不创建运行也会自动创建项目结构publicjavascriptsjquery.jsup
- Pandas数据清洗手册(参数解析与实战)
步入烟尘
Python超入门指南全册pandas数据清洗开发语言python
本文已收录于《Python超入门指南全册》本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从基础到精通不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/mrdeam/category_12647587.html优点:订阅限时19.9付费专栏,私信博主还可进入全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以
- 使用cnpmcore搭建npm本地仓库
GodNew
nodenpm前端node.js
参考资料:企业级包管理服务cnpmcore-知乎源码地址:https://github.com/cnpm/cnpmcore此工具当前还在发展阶段,只是一个registry,尚无web管理功能。下文介绍基于version:2.4.1搭建一个本地私服环境准备准备一个linux环境,最后还是可以切换到windows环境的。安装node用于运行程序,node版本需要16.x以上。安装git用于下载cnpm
- 【CMake指南】第1篇:CMake入门基础
JuicyActiveGilbert
CMake指南c++CMake教程
1.什么是CMake?CMake是一个跨平台的自动化构建工具,用于管理C/C++项目的编译过程。它通过简单的配置文件(CMakeLists.txt)生成不同平台(如Windows的VisualStudio、Linux的Makefile、macOS的Xcode)所需的构建文件,解决手动编写Makefile或维护多平台项目的痛点。为什么选择CMake?跨平台支持:一套配置,多平台编译。简洁高效:语法清
- centos7中安装mongoDB4
Andy86666
数据库mongodb数据库nosql
Linux版本文章目录Linux版本一、上传文件到Linux上二、安装MongoDB三、配置环境变量四、运行mongodb资料:下载mongodb-linux-x86_64-rhel70-4.4.16一、上传文件到Linux上将mongodb-linux-x86_64-rhel70-4.4.16.tgz文件上传到虚拟机上可以通过lrzsz上传文件,我将文件上传到/opt/software中先进入到
- Linux CentOS7 环境下安装 MongoDB
2401_85112412
作者\/linuxmongodb运维
3.1将下载好的安装包上传到Linux服务器某个目录下,并使用以下命令解压压缩包。tar-zxvfmongodb-linux-x86_64-rhel70-4.0.27.tgz3.2将解压后的目录移动到/usr/local目录下,并改名为mongodb。mvmongodb-linux-x86_64-rhel70-4.0.27/usr/local/mongodb3.3进入mongodb目录,并创建文件
- macOS Sequoia 15.3.2 (24D81) Boot ISO 原版可引导镜像下载
macos
macOSSequoia15.3.2(24D81)BootISO原版可引导镜像下载iPhone镜像、Safari浏览器重大更新和AppleIntelligence等众多全新功能令Mac使用体验再升级请访问原文链接:https://sysin.org/blog/macOS-Sequoia-boot-iso/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org2025年3月12发布的ma
- 基于线性回归和多项式回归的完整代码
yzx991013
回归线性回归算法
1.导入必要库importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.linear_modelimportLinearRegressionfromsklearn.preprocessingimportPolynomialFeaturesfromsklearn.pipelineimportPipelinefromsklearn.metricsi
- OpenHarmony鸿蒙开发( Beta5.0)轻量型系统服务管理部件详解
让开,我要吃人了
HarmonyOS鸿蒙开发OpenHarmonyharmonyos华为前端鸿蒙移动开发驱动开发OpenHarmony
系统服务框架基于面向服务的架构,提供了服务开发、服务的子功能开发、对外接口的开发、以及多服务共进程、进程间服务调用等开发能力。其中:M核:包含服务开发、服务的子功能开发、对外接口的开发以及多服务共进程的开发框架。A核:在M核能力基础之上,包含了进程间服务调用、进程间服务调用权限控制、进程间服务接口的开发等能力。开发跨进程间服务调用客户端代理定义IPC接口客户端代理:typedefstructDem
- LeetCode 376. 摆动序列 java题解
奔跑的废柴
LeetCodeleetcodejava算法贪心贪心算法
https://leetcode.cn/problems/wiggle-subsequence/description/只要不满足摆动条件,就不更新count和prediff当prevDiff取等号时,比如prevDiff==0,在这种情况下,如果currDiff>0,说明从持平状态转变为上升状态,这是一种有效的摆动起始情况;同理,如果currDiff0,这种从持平到上升的情况应该被视为摆动的开始
- 深入解析 Kubernetes Service(SVC)网络
XMYX-0
K8Skubernetes网络容器
文章目录深入解析KubernetesService(SVC)网络为什么需要Service?KubernetesService主要组成部分KubernetesService类型类型的对比表格ClusterIP(默认类型)NodePortLoadBalancerExternalNameService的解析与访问机制ServiceDNS解析Service负载均衡原理Service与Ingress的区别小
- c#读取json某一节点数据_C#获取Json字符串中的某个值
鹿哥说
c#读取json某一节点数据
问题描述:json数据格式{"resCode":0,"resMag":"aaa","data":[{"parkName":"B1停车场","freeSpaceNum":100}]}。第一方法:使用JavaScriptSerializerJavaScriptSerializerJss=newJavaScriptSerializer();DictionaryDicText=(Dictionary)Js
- c#读取json某一节点数据,如何在C#上从json读取数据
我是种草囤货菌
c#读取json某一节点数据
IhavethefollowingjsonObjectthatIpasstomyc#server[{"ID":1,"FirstName":"Jay","LastName":"Smith"},{"ID":2,"FirstName":"Rich","LastName":"Son"},{"ID":3,"FirstName":"Emmy","LastName":"Wat"}]IcreateaClassli
- Ranger集成CDH6.3.1详细步骤
sunxunyong
hadoop
CDH-ranger基础环境:jdk:1.8maven:mvn-verisonApacheMaven3.9.4brewsearchbzip2brewinstallbzip2brewlistyuminstallgit-yyuminstall-ypython3yuminstall-ybzip2yum-yinstallfontconfig-develpip3installrequests下载ranger
- Linux 磁盘管理进阶:LVM 逻辑卷与磁盘配额
ρɾⅈꪀᥴꫀડ
linux服务器centos
Linux磁盘管理进阶:LVM逻辑卷与磁盘配额在Linux服务器管理中,普通分区方案可能会限制存储的灵活性。而LVM(逻辑卷管理)提供了一种动态调整存储空间的方式。此外,为了防止用户滥用磁盘资源,磁盘配额(Quota)也至关重要。本章将介绍LVM逻辑卷管理和磁盘配额配置。7.1LVM逻辑卷管理LVM(LogicalVolumeManager)允许动态管理存储空间,相比传统分区更具弹性,可随时扩展或
- openfeign发送 多部分请求
荭色海湾
SpringBootjava前端服务器
@PostMapping(value="/upload",consumes=MediaType.MULTIPART_FORM_DATA_VALUE)publicResultVoupload(@RequestPart("file")MultipartFile[]file,@RequestParam("path")Stringpath);
- 前端-webpack一些常用配置的作用
大嘴史努比
前端webpacknode.js
1.LoaderLoader用于对模块的源代码进行转换。它可以将非JavaScript文件(如CSS、图片、字体等)转换为webpack能够处理的模块。常用Loader及其作用Loader作用babel-loader将ES6+代码转换为ES5,兼容旧版浏览器。css-loader解析CSS文件,处理@import和url()等语法。style-loader将CSS插入到DOM中,通过标签生效。sa
- python 代码命令大全-Python常用命令最全合集
编程大乐趣
文章目录一、Python环境配置命令二、Python常用命令三、pip管理工具命令四、发布包到pypi(官网)命令Mac电脑自带python2.x版本,终端输入python-V//查看当前版本如果需要安装python3.x,输入命令brewinstallpython3//安装python3二、Python环境配置命令1.配置pip的镜像源(pip是python的包管理工具)原因:pip安装源问题一
- 基于Linux C应用的0.96寸OLED硬件监测器页面
plmm烟酒僧
#香橙派linuxc语言oled0.96应用开发UI设计
一、前言开发板:香橙派5Plus。librknnrt.so版本:2.3.0。rknndriver:0.9.8。本次的页面设计基于之前写的手写FrameBuffer驱动:Linux手写FrameBuffer任意引脚驱动spi屏幕_rk3588framebuffer-CSDN博客https://blog.csdn.net/plmm__/article/details/145193029?spm=100
- OpenHarmony Codec HDI codec_capabilities HCS配置解析
少年的云河月
视频编解码harmonyos
一、简介HCS(HDFConfigurationSource)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。本文主要讲解CodecHDI支持的编解码组件HCS配置文件,简单分析每一个key的意义和用途。二、编解码组件HCS配置编解码组件配置文件一般位于//vendor/{company}/{chiptype}/hdf_c
- starrocks批量启停脚本
蘑菇丁
脚本大数据
#!/bin/bash#定义StarRocks安装目录STARROCKS_HOME="/path/to/starrocks"#定义FE和BE节点列表FE_NODES=("fe_node1_ip""fe_node2_ip""fe_node3_ip")BE_NODES=("be_node1_ip""be_node2_ip""be_node3_ip")#定义日志文件LOG_FILE="starrocks
- k8s面经
chaodaibing
k8slinux运维
最近面了几场,k8s技能几乎成了运维的必备品了。容器一直pending可能的原因调度问题。容器的调度策略,比如标签选择、容忍度或者亲和度,导致没有合适的节点可供调度资源问题,比如宿主机的CPU内存磁盘不足,或者要挂载的卷或NFS异常,无法满足新申请的容器的需求镜像问题,镜像拉取失败,或者是镜像太大或者带宽不足,导致拉取时间太长网络问题,网络插件故障,导致容器分配不到IP启动问题,服务启动异常,比如
- 教你如何免费获取股票数据用python、JavaScript (Node.js)、JAVA等多种语言的实例代码演示(实时数据、历史数据、CDMA、KDJ等指标数据)配有股票数据API接口说明文档说明
蝶澈乐乐
pythonjavascriptnode.js数据仓库金融
近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据中挖掘出有价值的信息,为我们的投资策略提供有力的支持。在寻找数据的过程中,我尝试了多种途径,包括自编网易股票页面爬虫、申万行业数据爬虫,以及同花
- 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独立出来,数据持