采用CloudFlare进行飞牛NAS的远程访问【安全免费】无需公网IP、端口号,NAS外网访问新方法_网络存储_什么值得买sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<
【C++ 动态规划】1024. 视频拼接|1746
闻缺陷则喜何志丹
c++动态规划leetcode算法视频拼接片段
本文涉及知识点C++动态规划LeetCode1024.视频拼接你将会获得一系列视频片段,这些片段来自于一项持续时长为time秒的体育赛事。这些片段可能有所重叠,也可能长度不一。使用数组clips描述所有的视频片段,其中clips[i]=[starti,endi]表示:某个视频片段开始于starti并于endi结束。甚至可以对这些片段自由地再剪辑:例如,片段[0,7]可以剪切成[0,1]+[1,3]
1秒 vs. 60秒:Nginx如何让VR/AR内容分发快如闪电?
墨瑾轩
Nginx乐园nginxvrar
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣虚拟现实(VR)和增强现实(AR)技术正以前所未有的速度改变着我们与数字世界互动的方式。然而,随着这些应用变得越来越复杂,对于快速加载和流畅交互的需求也日益增长。如何在不影响性能的前提下提供丰富的多媒体体验?答案或许就藏在Web服务器的技术革新之中。今天,我们
超实用的 30 段 Python 案例(上)
Python之栈
python开发语言
Python是目前最流行的语言之一,它在数据科学、机器学习、web开发、脚本编写、自动化方面被许多人广泛使用。它的简单和易用性造就了它如此流行的原因。如果你正在阅读本文,那么你或多或少已经使用过Python或者对Python感兴趣。在本文中,我们将会介绍30个简短的代码片段,你可以在30秒或更短的时间里理解和学习这些代码片段。1.检查重复元素下面的方法可以检查给定列表中是否有重复的元素。它使用了s
为什么雷达系统难以探测到无人机?
牧羊君
雷达学习笔记无人机无人机探测
大家知道雷达系统很难识别出小型无人机和紧贴地面飞行的无人机。那么,对无人机探测的难点在哪呢?1.小型化和隐蔽性:许多无人机的体积小,那么雷达散射面积也小并且无人机在低空飞行,进一步降低了被雷达探测到的可能性。为了探测到目标,雷达须与无人机保持在视线范围。这在城市环境中尤其成问题,因为无人机可能在传感器视线内只出现几秒钟,然后再次消失。2.机动和悬停:无人机能够进行快速的机动飞行,而且可能随时改变飞
光纤FPV无人机技术详解
无人机技术圈
无人机技术无人机
1.技术基础与原理光纤FPV(FirstPersonView,第一人称视角)无人机技术,是将光纤通信技术与无人机技术相结合的一项创新技术。该技术通过光纤作为高速、低延迟的数据传输媒介,实现了无人机拍摄的高清视频信号实时回传至地面控制站,为飞行员提供身临其境的飞行体验。光纤传输以其超大带宽、超强抗干扰性和极低延迟的特性,极大地提升了FPV无人机的性能和应用范围。1、无人机类型:电动多旋翼;1、最大飞
数据包的发送流程
sumatch
网络
以绿皮聊天软件为例:首先,我们两个手机的绿皮聊天软件客户端,要通信,中间会通过它们家服务器。大概长这样。但为了简化模型,我们把中间的服务器给省略掉,假设这是个端到端的通信。且为了保证消息的可靠性,我们盲猜它们之间用的是TCP协议进行通信。为了发送数据包,两端首先会通过三次握手,建立TCP连接。一个数据包,从聊天框里发出,消息会从聊天软件所在的用户空间拷贝到内核空间的发送缓冲区(sendbuffer
人工智能前沿技术进展与应用前景探究
戒了9
人工智能搜索引擎百度
一、引言1.1研究背景与意义人工智能作为一门极具变革性的前沿技术,正深刻地改变着人类社会的各个层面。从其诞生之初,人工智能便承载着人类对智能机器的无限遐想与探索。自20世纪中叶起,人工智能踏上了它的发展征程,历经了多个重要阶段,每一阶段都伴随着理论的突破、技术的革新以及应用领域的拓展。在初级阶段(1943-1956),沃伦・麦卡洛克和沃尔特・皮茨提出的人工神经网络基本模型,为人工智能的发展奠定了初
人工智能前沿技术进展与应用前景探究
戒了9
搜索引擎
一、引言1.1研究背景与意义人工智能作为一门极具变革性的前沿技术,正深刻地改变着人类社会的各个层面。从其诞生之初,人工智能便承载着人类对智能机器的无限遐想与探索。自20世纪中叶起,人工智能踏上了它的发展征程,历经了多个重要阶段,每一阶段都伴随着理论的突破、技术的革新以及应用领域的拓展。在初级阶段(1943-1956),沃伦・麦卡洛克和沃尔特・皮茨提出的人工神经网络基本模型,为人工智能的发展奠定了初
Linux基础12-C语言篇之基本结构【入门级】
kk努力学编程
linuxc语言运维
C语言基础c语言的基本结构一个简单的c语言程序功能:要求在控制台输出"helloworld!"/*************************************************************************>FileName:demo01.c>Author:xxx>Description:>CreatedTime:2025年01月20日星期一11时02分17秒*
The Simulation技术浅析(二):模型技术
爱研究的小牛
AIGC—虚拟现实算法人工智能AIGC机器学习深度学习
一、物理模型(PhysicalModels)1.概述物理模型基于物理定律和原理,通过模拟现实世界中物理系统的行为和相互作用来构建模型。物理模型通常用于工程、物理和化学等领域,用于预测系统在不同条件下的表现。2.关键技术力学定律:例如牛顿运动定律,用于模拟物体的运动和受力情况。流体力学:例如纳维-斯托克斯方程,用于模拟流体流动。热力学定律:例如热传导方程,用于模拟热量传递。3.过程模型公式及案例详解
重构进行时:一秒告别 !=null 判空
我码玄黄
Java后端教你一招java代码优化后端
重构进行时:一秒告别!=null判空空指针异常(NullPointerException)是Java开发中常见的错误之一。许多开发者在遇到空指针问题时,往往会习惯性地使用!=null来进行判断。然而,当代码中频繁出现这种判断时,不仅降低了代码的可读性,还增加了维护的复杂性。那么,有没有更高效、更优雅的方式来处理空指针问题呢?答案是肯定的。本文将探讨如何通过合理使用工具类来简化空指针的判断,并提升代
【100%有礼】诚邀体验SoFlu-JavaAl开发助手,重塑AI编码价值
在这个快速发展的数字化时代,软件开发的任务日益繁重,我们深知每一位开发者都在为如何提升效率、优化用户体验而苦苦寻找那个能真正分担开发重负的AI开发助手。现在,飞算科技携SoFlu-JavaAl开发助手,诚邀您参与我们的产品体验,一同探索AI编码的新境界!SoFlu-JavaAl开发助手,不仅仅是一个代码生成工具,它通过引导式开发、自然语言需求理解、精准生成完整工程源码,旨在为开发者打造一个全新的开
帝国cms高效率随机调用函数,解决慢的问题(毫秒级调用)
liutie2025
php
帝国cms全站高效率随机调用特点:60万数据随机调用测试,文件读取调用,调用效率高,调用可指定栏目调用,也可随机调用,笔者以起名网www.hmzw.com为例,介绍具体操作。1.安装方式将代码放到目录的e/class/userfun.php文件中的最后。2.php代码functionecms_rand($classid,$num){global$empire,$dbtbpre;$file_cach
data.table简介
littlely_ll
R语言基础R数据预处理Rdata-table数据处理
data.table是一个十分有效的数据处理包,它是data.frame的一个扩展,能够快速的对数据进行分片,分组,聚合等操作,比data.frame快很多。在数据处理方面,据实验结果表明,对于2G的数据,tapply耗时16秒,而data.table耗时1.6秒,快了10倍,官方还介绍说,对于100G的数据,它还能运行很好。下面介绍几个主要用到的函数:fread和read.table相似,但是更
时间格式化-dayjs
Bunury
Element-plusjavascript前端vue.js
1.创建工具类文件utils/format.jsimport{dayjs}from'element-plus'exportconstformatTime=(time)=>dayjs(time).format('YYYY年MM月DD日HH时mm分ss秒')2.组件中使用formatTime函数import{formatTime}from'@/utils/format.js'{{formatTime(
从设计到伴飞:数字孪生赋能航天航空新时代
迪捷软件
飞机
当今社会,航天航空作为科技高速发展的核心技术领域正在快速崛起,数字孪生技术在其中发挥着至关重要的作用。从设计、制造、维护到运营,数字孪生已渗透飞机等飞行器的全生命周期,为行业带来了前所未有的变革。设计和制造领域:基于飞行器的高保真物理模型、历史数据以及传感器实时更新数据,构建完整映射的虚拟模型,便于提前发现潜在设计缺陷,优化性能并加速产品开发周期,有助于提高飞机安全性和可靠性;维护和保养领域:实时
我国首颗可重复使用返回式技术试验卫星成功发射|数字孪生技术助力运载火箭仿真验证系统革命
迪捷软件
火箭仿真
9月27日18时30分,长征二号丁运载火箭在酒泉卫星发射中心一飞冲天,随后将我国首颗可重复使用返回式技术试验卫星——实践十九号卫星送入预定轨道,发射任务取得圆满成功。▲长二丁火箭发射升空新一代运载火箭肩负着未来载人登月、深空探测等重大任务,不仅是我国航天事业的重要里程碑,更是探索宇宙和推动科技进步的关键工具。随着未来航天发射任务的多样化和复杂性不断增加,运载火箭的性能和可靠性变得尤为重要。为确保任
《ClickHouse企业级应用:入门、进阶与实战》1 全面了解ClickHouse
AI天才研究院
大数据AI人工智能clickhouse大数据hadoop
近年来,ClickHouse发展势头迅猛,社区、大厂纷纷跟进使用。面对万亿级的数据查询分析也能做到亚秒级响应。那么,ClickHouse到底是何方神圣?为什么如此受青睐?各位看官,欲知ClickHouse为何方神圣,且往下看。本章我们先来了解什么是ClickHouse,内容包括ClickHouse是什么,它具有哪些特性,适用哪些应用场景等。1.1ClickHouse概述本节介绍ClickHouse
单片机基础模块学习——DS1302时钟芯片
promising-w
单片机嵌入式硬件单片机
一、DS1302时钟简介1.与定时器对比DS1302时钟也称为RTC时钟(RealTimeClock,实时时钟),说到时钟,可能会想到定时器,下表来简单说明一下两者的区别。定时器(Timer)实时时钟(RTC)精度高,可达微秒级精度较低,多为秒级计时范围短计时范围长2.开发板所在位置下面方框里面的是该时钟芯片,左侧的是晶振,晶振的精度也就决定了时钟芯片的精度。二、DS1302时钟原理图1脚对应的V
法律与认知战争:新时代的战略博弈
岛屿旅人
网络安全行业分析量子计算web安全安全网络网络安全
文章目录前言全文摘要与关键词一、影响意志二、通过网络空间进行认知战1、网络行动的影响>行为本身2、与破坏性网络攻击相反,数字影响力行动可以产生战略效果三、法律作为一种战争工具四、如何反制法律战的使用?1、自由民主国家需要认识到俄罗斯等国的认知战在意图和深度上有所不同2、联盟结盟能阻止外国的认知战总结前言2024年11月25日,《国防地平线》杂志发布荷兰国防学院网络战副教授皮特·皮珀斯(PeterP
飞牛NAS新增虚拟机功能,如果使用虚拟机网卡直通安装ikuai软路由(如何解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题)
xiaoqiangclub
随记·2025✍️ikuai飞牛nasfnos虚拟机网卡直通软路由
文章目录介绍演示环境飞牛NAS虚拟机安装爱快教程️前期准备网络要求下载爱快镜像开始安装开启IOMMU直通配置网络解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题➕创建虚拟机安装ikuai进入VNC⚙️配置ikuai登录ikuai后台⚓️相关链接⚓️介绍各位飞牛NAS的用户们,你们是不是也和我一样,对最近飞牛NAS新推出的虚拟机功能激动不已?千呼万唤始出来,飞牛终于加入了虚拟机的大军,
到底为什么PHP 内部有一个称为 Unix 时间戳的概念?
快点好好学习吧
PHPphpunix开发语言
什么是Unix时间戳?想象一下你有一个超级大的沙漏,从一个特定的时间点开始计时,这个时间点是1970年1月1日的午夜(也就是零点),这被称为“Unix纪元”。从那一刻起,每过一秒,沙漏就落下一颗沙子。Unix时间戳就是计算到现在的秒数,也就是沙漏中落下的沙子的数量。所以,如果你想知道现在距离1970年1月1日过去了多少秒,那就是当前的Unix时间戳。底层原理计算机喜欢用数字来表示一切,因为它们处理
GD32的GD库开发
SundayBear
单片机嵌入式硬件
所有的Cortex-M处理器都有相同的SysTick定时器,因为CMSIS-Core头文件中定义了一个名为SysTick的结构体。这个定时器可以用作延时函数,不管是STM32的芯片还是GD32,AT32的芯片,delay函数都可以这么写,只要它是cortex-M3/M4的芯片。以下代码基于GD32F303,主频120M。延迟函数示例代码代码移植于江科大。/***@brief微秒级延时*@param
element ui Table组件内容自适应的情况下实现表头相对页面固定
木有是我
jshtmlvuecssjs
一、elementuiTable只要在el-table元素中定义了height属性,即可实现固定表头的表格,而不需要额外的代码。此时有一个弊端,如果页面布局内容较多,会出现两个滚动条,一个table的一个页面的,我们的需求是页面高度随着数据数量而自适应撑开,而不是固定table视窗的高度二、效果图对比如下:三、实现步骤1、首先监听页面滚动事件、因为滚动事件触发太过频繁我就带了500毫秒的节流mou
Vue3笔记——(五)路由
木子李BLOG
vue.js
组件通信_方式1_props作用:若父传子,属性值是飞函数若子传父,属性值是函数Parent.vue父组件汽车:{{car}}子给的玩具:{{toy}}importChildfrom'./Child.vue'import{ref}from'vue'//数据letcar=ref('奔驰')lettoy=ref('')letbb=ref(0)//方法functiongetToy(value:strin
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独立出来,数据持