- spring boot、spring cloud、spring cloud alibaba 之间的版本对应关系
薄荷街的兔比先生
springbootspringcloudjava
大家在引用pom的时候还是要以官方推荐版本为主,不然容易出现未知的问题。1.springboot和springcloud的版本关系官方提供的版本对照表https://start.spring.io/actuator/info{"git":{"branch":"93e528fc7e79e41a513e493d057499401a15eb67","commit":{"id":"93e528f","ti
- Composer如何通过GitHub Personal Access Token安装私有包:完整教程
lihuang319
composergithubphp
使用Composer安全管理您的PHP私有依赖包一、前言在PHP开发中,我们经常需要将内部工具包托管为私有仓库。传统的账号密码验证方式存在安全隐患,而GitHubPersonalAccessToken(PAT)提供了一种更安全的鉴权方案。本文将通过4个核心步骤+3个避坑指南,手把手教您在Composer中优雅地使用PAT安装私有包。二、为什么要用PAT?安全性:细粒度权限控制(可设置过期时间/单仓
- 探索React的深度应用:React Survey——构建问卷神器
傅尉艺Maggie
探索React的深度应用:ReactSurvey——构建问卷神器去发现同类优质开源项目:https://gitcode.com/在浩瀚的前端开发世界里,React与Redux已成为构建复杂Web应用的得力助手,但它们的强大往往隐藏在基础教程之后。今天,让我们一同探索【ReactSurvey】,一个将React与Redux之力发挥至极致的开源项目,教你如何轻松打造专业的在线问卷系统。项目介绍Reac
- 推荐使用:react-native-cn-quill - 为React Native打造的富文本编辑器
秋玥多
推荐使用:react-native-cn-quill-为ReactNative打造的富文本编辑器react-native-cn-quillQuillrich-texteditorforreact-native项目地址:https://gitcode.com/gh_mirrors/re/react-native-cn-quill项目介绍react-native-cn-quill是一个基于QuillA
- 探索表单设计新境界:React JSON Schema Form 编辑器
包椒浩Leith
探索表单设计新境界:ReactJSONSchemaForm编辑器react-json-schema-form-builderVisualeditorforformsbasedonjsonschema,builtinReactJS项目地址:https://gitcode.com/gh_mirrors/re/react-json-schema-form-builder在当今快速迭代的软件开发领域,灵活
- 【redis】redis key 分析
武昌库里写JAVA
面试题汇总与解析毕业设计课程设计springbootvue.js源码
redis_key_sizes.shhttps://gist.github.com/epicserve/5699837redis-cli,theRediscommandlineinterfacehttps://redis.io/topics/rediscliRedisScripting:EVALscriptnumkeyskey[key...]arg[arg...]https://www.w3res
- 镜像解决,向量数据库Milvus报错
zwzscnds
dockermilvus
MilvusMilvus是一款开源的向量数据库,具有高度的灵活性、稳定可靠性以及高速查询等特点。它支持针对TB级向量的增删改操作和近实时查询,适用于大规模向量数据的存储和检索。Milvus的官网:https://milvus.ioGithub上Milvus的链接:https://github.com/milvus-ioDockerDocker是一种容器化技术,它允许开发者将应用程序及其依赖项打包到
- Nacos作为配置中心怎么玩,以及Nacos为何启动就挂,Nacos配置中心有多简单。
YourStarYang
NacosCentos7中遇到的那些事java
首先从GitHub去找文档Nacos主要资源配置项application.properties(主要配置)汉化部分如下:#***************SpringBoot相关配置***************####默认的Web上下文路径:server.servlet.contextPath=/nacos###默认的Web服务器端口:server.port=8848#**************
- 在线正则网站
harmful_sheep
网站java
地址:https://jex.im/regulex/#!flags=&re=Github地址:https://github.com/CJex/regulex[1]https://jex.im/regulex/#!flags=&re=:https://jex.im/regulex/#!flags=&re=[2]https://github.com/CJex/regulex:https://githu
- 使用GitPython和GitLoader进行版本控制与文档加载
vaidfl
python
技术背景介绍Git是一种分布式版本控制系统,用于跟踪文件集的更改,通常用于程序员协作开发软件源代码。Git的特点包括支持分支和合并、轻量级、快速操作以及强大的社区支持等。在Python开发中,我们可以使用GitPython库来操作和管理Git仓库。此外,借助GitLoader,我们可以轻松地从Git仓库加载文档,以便在各种应用中使用。核心原理解析GitPython是一个Python库,它允许你通过
- 通过docker和gitlab实现项目自动打包部署
hxj..
服务部署docker容器运维
Gitlab如何实现自动打包部署到docker集群?预备知识:开发模式转变:瀑布模型——》敏捷开发——》DevOpsDevOps:DevelopmentOperations的组合词CICD:持续集成(ContinuousIntegration),持续交付(ContinuousDelivery),持续部署(ContinuousDeployment)使用Gitlab-CI实现自动打包部署通过pipel
- BagelDB:AI的开源向量数据库
qahaj
人工智能数据库python
BagelDB:AI的开源向量数据库BagelDB(OpenVectorDatabaseforAI)是一个类似于GitHub的AI数据协作平台。用户可以在这里创建、分享和管理向量数据集。BagelDB支持独立开发者的私有项目、企业内部的协作以及数据DAO的公共贡献。技术背景介绍随着人工智能和机器学习的快速发展,各种数据的重要性也在不断凸显。向量数据库作为存储向量化数据的重要工具,越来越受到开发者和
- Deepseek开源周第四天:从 DualPipe 到 EPLB
deepseek开源
Deepseek开源周第四天:从DualPipe到EPLB前言上周deepseek宣布,将在本周陆续发布五个开源项目,这些库已经在生产环境中经过了记录、部署和实战测试。今天是deepseek开源周的第四天,deepseek发布了三个开源项目,分别是GitHub-deepseek-ai/DualPipeGitHub-deepseek-ai/eplbGitHub-deepseek-ai/profile
- 分布式服务发现与注册中心 Consul
要加油呀
中间件java-consulconsuljava
分布式服务发现与注册中心Consulgithub地址:https://github.com/consul/consul基础概念什么是注册中心随着微服务理论发展的成熟,越来越多互联网公司采用微服务架构来支持业务发展。各个微服务之间都需要通过注册中心来实现自动化的注册和发现。注册中心主要有三种角色:服务提供者(RPCServer):在启动时,向Registry注册自身服务,并向Registry定期发送
- 核弹级技术革命——搭配deepseek-r1满血版的腾讯云ai助手(codex)仅用14天独立开发出适配ARM架构的微内核操作系统!
frandiy
人工智能腾讯云架构
编程革命已至:双核AI代码引擎开启效率新纪元当代码生成速度提升600%、缺陷率下降75%成为现实,全球开发者正在见证AI生产力的核爆时刻!DeepSeekProMaxAI代码引擎与腾讯云CodeX双剑合璧,以实测数据重新定义智能编程标准。▌DeepSeekProMax:你的全栈智能编程副驾智能补全准确率达92.3%(GitHubCopilot同期数据为84.7%)支持30+主流语言及框架,覆盖Sp
- 国产唯一开源湖仓框架LakeSoul 2.0 重磅升级:支持快照回滚、Flink和Hive对接
元灵数智
大数据数据库spark
首先,附上Github链接LakeSoul:https://github.com/meta-soul/LakeSoul,可搜索公众号元灵数智,在底部菜单了解我们-用户交流获取官方技术交流群二维码,进群与业内大佬进行技术交流。DMetaSoul团队于7月初发布了LakeSoul2.0版本,对1.0版本进行了多方面升级优化,提高了自身架构设计的灵活性,也更好地适应客户未来业务高速发展的需要。2.0版本
- 使用 LakeSoul 构建实时机器学习样本库
元灵数智
bigdata大数据数据仓库数据库架构数据库开发
首先,附上Github链接LakeSoul:https://github.com/meta-soul/LakeSoul,可搜索公众号元灵数智,在底部菜单了解我们-用户交流获取官方技术交流群二维码,进群与业内大佬进行技术交流。在之前的公众号文章《重磅!开源湖仓平台LakeSoul设计理念详解》中,我们介绍了LakeSoul开源流批一体表存储框架的设计理念和部分实现原理。LakeSoul设计的初衷,是
- 【Reasoning】o1复现整合
辰阳星宇
科研论文自然语言处理语言模型深度学习人工智能
调研文章《Marco-o1:TowardsOpenReasoningModelsforOpen-EndedSolutions》arxiv:https://arxiv.org/abs/2411.14405github:https://github.com/AIDC-AI/Marco-o1Marco-o1:TowardsOpenReasoningModelsforOpen-EndedSolutions
- 探索前端开发的无限可能:30个HTML+CSS案例集锦
唐红娉Trevor
探索前端开发的无限可能:30个HTML+CSS案例集锦30个HTMLCSS前端开发案例完结篇项目地址:https://gitcode.com/Resource-Bundle-Collection/a6ecb项目介绍在快速发展的前端开发领域,掌握HTML和CSS是每一位开发者的基本功。为了帮助开发者从入门到精通,我们精心打造了一个包含30个案例的HTML+CSS前端开发案例集锦。这个项目不仅涵盖了从
- VQ-Diffusion 深度解析与实战指南
晏灵昀Odette
VQ-Diffusion深度解析与实战指南VQ-Diffusion项目地址:https://gitcode.com/gh_mirrors/vqd/VQ-Diffusion1.项目介绍VQ-Diffusion是一个用于文本到图像合成的深度学习模型,基于矢量量化变分自编码器(VQ-VAE)和去噪扩散概率模型(DenoisingDiffusionProbabilisticModel)。该模型通过将DDP
- AWS Security Finding Format (ASFF) 与 yolov3 with mobilenet v2 的集成教程
侯忱励
AWSSecurityFindingFormat(ASFF)与yolov3withmobilenetv2的集成教程ASFFyolov3withmobilenetv2andASFF项目地址:https://gitcode.com/gh_mirrors/as/ASFF1.项目介绍ASFF,全称是AWSSecurityFindingFormat,是由AWS设计的一种标准安全发现格式,用于在Securit
- 31.C++多态4(静态多态,动态多态,虚函数表的存储位置)
橘子真甜~
c++开发语言
⭐上篇文章:30.C++多态3(多态的原理,虚指针,虚函数表,抽象类)-CSDN博客⭐本篇代码:c++学习/17.C++三大特性-多态·橘子真甜/c++-learning-of-yzc-码云-开源中国(gitee.com)⭐标⭐是比较重要的部分目录一.静态多态与动态多态二.派生类的虚表的内存分布2.1单继承派生类虚表的分布2.2多继承下派生类虚表的分布一.静态多态与动态多态静态多态是在编译的时候就
- 用Scala通过身份证号获得其他信息的方法
心仪悦悦
scala
知识点1.toInt。把字符串转成整型2.toUpperCase。变大写3.toLowerCase变小写4.substring(起点,终点-不包括)字符串截取5.charAt(下标)得到对应位置的字符(不是字符串)6.asDigit.把字符转成数字8.contains是否包含子串9.length属性,用来获取有几个字符串。packagetest31objecttest{defmain(args:A
- 02DevOps基础环境准备
梁萌
DevOpsDevOpsCICDdocker
准备两台Linux的操作系统,最简单的方式就是在本机上使用虚拟机搭建两个操作系统(实际生产环境是两台服务器,虚拟机的方式用于学习使用)我搭建的两台服务器的ip分别是192.168.1.10、192.168.1.11192.168.1.10服务器用于安装docker、Gitlab、Jenkins。192.168.1.11服务器用于自动化应用发布和运行应用。设备拓扑图VMware下Centos7安装步
- Vue中如何轻松实现可调整大小的容器布局——vue-resizeable组件教程
介绍vue-resizeable是一款在vue项目中可调整各个区域大小的组件,支持任意组合,支持自定义样式演示体验地址https://liquanquan.top/vue-admin/resizablenpm地址https://www.npmjs.com/package/vue-resizeablegithubhttps://github.com/taoman/vue-resizeable欢迎各位
- 内网映射神器nps搭建
NPS(内网穿透神器)是一款非常实用的工具,能够帮助用户在内网环境下实现外部网络的访问,解决了许多网络安全和远程访问的问题。通过NPS,可以轻松地在受限的内网环境中,让外部网络设备访问内网服务。下面我将详细介绍如何搭建和配置NPS,从下载到验证,帮助你更好地理解和应用这个工具。1.下载NPS首先,需要访问NPS的官方GitHub仓库,选择适合你操作系统的二进制文件进行下载。步骤:打开NPS的Git
- Android渲染Latex公式的开源框架比较
sz_denny
开源
对比主流框架,介绍如下几款1、AndroidMath官网:GitHub-gregcockroft/AndroidMath:RenderbeautifulLaTeXMathEquationsinanAndroidView基于android原生view方式渲染优点:速度快,开源协议MITlicense缺点:不支持文字+公式混合渲染2、MathView官网:GitHub-jianzhongli/Math
- 浅析 DeepSeek 开源的 FlashMLA 项目
X.Cristiano
FlashMLADeepSeek深度学习
浅析DeepSeek开源的FlashMLA项目DeepSeek开源周Day1(2025年2月24日)放出的开源项目——FlashMLA,是一款针对Hopper架构GPU高效多层级注意力(Multi-LevelAttention,MLA)解码内核,专门为处理变长序列问题而设计。趁热浏览一下:GitHub-deepseek-ai/FlashMLA一、概述传统的注意力计算方法在面对变长序列或长序列推理时
- 【CodeBlocks】搭建OpenCV环境指南
万众珩
【CodeBlocks】搭建OpenCV环境指南CodeBlocks搭建OpenCV环境项目地址:https://gitcode.com/Resource-Bundle-Collection/e1e1a本资源提供了详细的教程,帮助您在CodeBlocks集成开发环境中顺利搭建OpenCV环境。OpenCV是一个开源的计算机视觉和机器学习软件库,广泛应用于图像处理和视频分析领域。通过这篇指南,即便是
- Ollama本地私有化部署通义千问大模型Qwen2.5
ErbaoLiu
数据分析&大模型机器学习&大模型自然语言处理&大模型大模型LLMQwen2.5Qwen2Ollama
目录Qwen2.5介绍Qwen2.5新闻Ollama介绍Linux安装Ollama一键安装Ollama手工安装Ollama卸载OllamaOllama运行Qwen2基于Transformers进行推理本文复现环境:Python3.12.6+Windows8.1+LinuxCentOS7+PyCharmCommunityEdition2022.3.3。Qwen2.5github地址如下:GitHub
- 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独立出来,数据持