- 安装器处点击“打开”
钦_79f7
问题描述:安装系统SD卡里面的apk或者原有的程序更新版本或者通过ADB安装apk的时候,会遇到升级安装成功之后的一个选择——“打开”和“完成”,点击完成没有问题,但是,如果点击了"打开",然后按Home键,从应用程序列表里面选择应用程序图标进入或者点击桌面启动图标,这个时候就会重新启动了一个应用程序,之后的操作就会出现混乱等问题。原因分析:参考底部相关资料链接解决方案:在launcherActi
- Ubuntu24安装MariaDB/MySQL后不知道root密码如何解决
Ubuntu24.04安装MariaDB后root密码未知?解决方案在此在Ubuntu24.04上新安装MariaDB后,许多用户会发现自己不知道root用户的密码,甚至在安装过程中也没有提示设置密码。这是因为在较新的MariaDB版本中,默认情况下root用户采用了unix_socket身份验证插件。这意味着您可以使用操作系统的root用户权限直接登录MariaDB,而无需输入密码。本文将为您详
- 免费版 Navicat Premium Lite 17 下载和使用
曼巴不黑
数据库navicatnavicat免费
>>>>>>下载地址以后不需要再为使用Navicat大费周章了,官网已经提供免费版供个人和初创企业使用,认准NavicatPremiumLite。NavicatPremiumLite是Navicat的精简版,它包含了用户执行主要的基本数据库操作所需的核心功能。它允许你同时连接到各种数据库平台,包括MySQL、PostgreSQL、SQLServer、Oracle、MariaDB、Snowflake
- Shortage of semiconductors
俗世尘沙
Semiconductorsposeanunwelcomeroadblockforcarmakers半导体成为了令汽车制造商头疼的“拦路虎”Ashortageofsemiconductorshasleftcarfirmsunabletoinstalltheelectronicsthatcontrolentertainmentsystems,safetyfeaturesanddrivingaids.
- ADB 调试神器:从入门到精通的完整指南
AI移动开发前沿
AI移动端开发宝典adbai
ADB调试神器:从入门到精通的完整指南关键词:ADB调试、Android开发、设备通信、调试工具、安卓调试桥摘要:ADB(AndroidDebugBridge,安卓调试桥)是安卓开发者和极客玩家的“万能钥匙”——它能让电脑与安卓设备无缝对话,完成安装应用、抓取日志、模拟操作等上百种任务。本文将从“为什么需要ADB”讲起,用“快递系统”“翻译官”等生活化比喻拆解核心原理,配合超详细的操作步骤和实战案
- 浅记Android开发中遇到的bug合集
Dream_fan
androidandroidjava
Android开发中遇到的bug合集(针对自己开发过程中遇到的bug合集记录下来,会持续更新该文章,需要自取,共勉。)文章目录Android开发中遇到的bug合集1.项目编译的过程中遇到"Task‘assembleDebug’notfoundinproject‘:app’."问题。2.使用adbinstall安装apk的时候,设备上已经安装过一个版本,再次安装的话,会安装失败,出现如下提示信息:I
- ByteBuf
码农崛起
jdk自带ByteBuffer,看名字就知道作用差不多,区别是ByteBuffer读写都用一个指针,ByteBuf读写各有一个指针。都分为基于javaheap的headbuffer和基于DirectBuffer的buffer。DirectBuffer是不能被gc的,用完需要手动释放,虽然麻烦但是效率高,看吧,谁都有优点和缺点。加上一大堆看名字就知道干嘛的方法。ByteBuf是个抽象类,源代码里的文
- Android启动时间优化大全
SEP5010
Systembootchartcgroup
1修改Androidmksh默认的列长度不修改这个参数,adbshell后,输入超过80个字符,就不能看到完整的命令行。external/mksh/src/sh.hEXTERNmksh_ari_tx_colsE_INIT(80);EXTERNmksh_ari_tx_linsE_INIT(24);2Kernel优化2.1内核驱动模块化将内核中尽可能多的驱动模块化,写一个负责insmod的shell脚
- 吾爱大佬修改的PDF压缩工具软件,一直很好用!
goodfat
pdf
PDF压缩简单小巧的压缩软件界面干净清爽,只需两步:先选要压缩的文件,再挑个保存位置,然后点一下【开始压缩】就完事。担心画质?它贴心地准备了“最小、中等、高、超高”四档。压缩完打开一看,肉眼几乎看不出差别,体积却瘦了一大圈。我用夸克网盘分享了「PDF压缩」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。链接:https://pan.quark.cn/s/
- 数据库管理工具Navicat Premium 12
mythmayor
Tools数据库数据库管理工具数据库管理NavicatPremiumNavicat
转载请注明出处:https://blog.csdn.net/mythmayor/article/details/89560919NavicatPremium是一套多连接数据库开发工具,让你在单一应用程序中同时连接多达七种数据库:MySQL、MariaDB、MongoDB、SQLServer、SQLite、Oracle和PostgreSQL,可一次快速方便地访问所有数据库。安装包及破解教程下载:已将
- 谷歌官网app适配Android 15的官方指南
deepseek回答:谷歌官网提供了完整的Android15应用适配官方指南,涵盖兼容性测试工具、API迁移规范及商店审核要求,核心内容如下:一、官方适配指南入口访问Android15开发者网站核心内容:功能解读、API变更、安全策略及适配工具说明关键资源:适配工具链(兼容性框架、ADB调试)GSI系统映像下载虚拟设备配置教程⚙️二、适配工具链兼容性框架工具支持在不修改targetSdkVersi
- 【ELasticsearch】搭建有负载均衡 ELB 的 ES 集群
大数据与AI实验室
#Elastic#负载均衡elasticsearch搜索引擎大数据负载均衡ELB公有云集群
搭建有负载均衡ELB的ES集群1.为什么要这样设计(封装ELB)?2.如果没有这层负载均衡呢?3.外来的请求会打到集群哪一个节点上?4.优先是专属协调节点吗?5.ELB需要对接所有节点吗,还是协调节点就可以了?在公有云上为Elasticsearch集群封装一层ELB(ElasticLoadBalancer)或类似的负载均衡器,核心目的是解耦、简化客户端访问、提高可用性、增强可维护性。1.为什么要这
- 三、搭建springCloudAlibaba2021.1版本分布式微服务-springcloud loadbalancer负载均衡
什么是负责均衡SpringCloudLoadBalancer是一个客户端负载均衡器,类似于Ribbon,但是由于Ribbon已经进入维护模式,并且Ribbon2并不与Ribbon1相互兼容,所以SpringCloud全家桶在SpringCloudCommons项目中,添加了SpringcloudLoadbalancer作为新的负载均衡器,并且做了向前兼容,就算你的项目中继续用SpringCloud
- Animal Farm(64)
云手a
Withoneaccordtheydasheddowntothespot.Napoleon,whoseldommovedoutofawalk,raisedaheadofthemall.Yes,thereitlay,thefruitofalltheirstruggles,levelledtoitsfoundations,thestonestheyhadbrokenandcarriedsolabori
- 四层负载均衡与七层负载均衡详解
负载均衡(LoadBalancing)是实现高可用性、可扩展性和性能优化的关键技术之一。根据其工作在OSI模型中的层级不同,负载均衡可以分为四层负载均衡(L4)和七层负载均衡(L7)。本文将详细介绍这两种负载均衡的工作原理、优缺点以及适用场景。一、什么是负载均衡?负载均衡是一种将网络请求分发到多个服务器的技术,目的是避免单点故障、提高系统可用性、提升性能和实现弹性扩展。二、OSI模型与网络分层简介
- DuoPlus安卓10、11云手机新上线ADB功能,密码认证保障云手机安全!
致远ccc
android智能手机adb
在快速发展的移动应用市场中,开发者经常面临如何在有限的时间内交付高质量的应用的挑战。在这个过程中,ADB(AndroidDebugBridge)功能的使用,尤其是在云手机环境中,成为了提升开发效率的重要利器。在最近的测评中,我发现DuoPlus云手机全面配置了ADB功能,今天咱们就来聊聊实用的ADB功能在云手机中的作用和操作流程。ADB功能有哪些用处和优势?在DuoPlus云手机中,ADB功能允许
- Mine family
韩佳成_54188
Mymothenandfatherlikereadbook.Mysisterlikebanana,mylikeapple.Myandsisterpupilandfriend.
- 九联UNT413A_S905L3B_默认打开ADB_完美线刷固件包【可救砖】
fatiaozhang9527
机顶盒刷机固件魔百盒刷机魔百盒固件移动魔百盒机顶盒ROM盒子ROM
UNT413A_S905L3B_默认打开ADB_完美线刷固件包【可救砖】_基于原机制作_端口5555固件特点:1、修改dns,三网通用;2、开放原厂固件屏蔽的市场安装和u盘安装apk;3、无开机广告,无系统更新,不在被强制升级;4、大量精简内置的没用的软件,运行速度提升30%以上,多出大量的存储空间;5、原生9.0设置,有线蓝牙语音均正常,支持多遥控;6、纯净优化,除必要系统软件无任何预装;7、超
- React Native启动android报错 Failed to install the app. Command failed with exit code 1: gradlew.b(亲测有效)
安心不心安
ReactNative学习笔记reactnativeandroidreact.js
一、原因react-nativerun-android或npxreact-nativestart命令的默认行为是:编译APK(通过Gradle)。安装APK到设备(通过adbinstall)。启动应用(通过adbshellamstart)。如果模拟器未提前启动:adb可能找不到设备,导致安装步骤失败。错误可能表现为Noconnecteddevices!或INSTALL_FAILED。二、解决方法注
- 用ADB实现自动化抓取移动端数据
小小小小小台
【介绍】ADB全称是AndroidDebugBrige,其作用是可以连接电脑和安卓手机,以及通过命令去控制手机。【ADB工作原理】把Androiddevelopmenttools的路径设置为环境变量后,可以通过linux命令直接和移动设备沟通adbdevices可以查看连接设备查看连接设备其工作原理是在开发机上起一个服务器,并通过tcp协议和安卓设备进行信息交换【程序】程序组成·脚本包含两个模块:
- 2018-05-04 Bookzz.org打不开了?谁知道类似网站,请推荐下,谢谢!?
五大RobertWu伍洋
bookzz啊,原来的域名已经不是它的了,换新域名了Electroniclibrary.Downloadbooksfree.Findingbooks试试http://booksc.org当然还有ebookhunterebookhunter.chwww.bookrix.de类似网站~
- 【 Kubernetes 集群】Service&Ingress 网络无法访问排障处理
soso160
kubernetes网络php
Service提供公网或内网服务无法访问提供公网服务或者内网服务的Service,如果出现无法访问或者CLB端口状态异常的情况,建议您进行如下检查:参考查看节点安全组配置检查集群中节点的安全组是否正确放通30000-32768端口区间。如果是公网服务,则进一步检查节点是否有公网带宽(仅针对传统账户类型)。如果Service的type为loadbalancer类型,可忽略CLB,直接检查NodeIP
- 英文励志短文-立刻行动
基业长青2020
It’shardtogetupatsix,六点起床很困难,It’sdifficulttoreadbookseveryday,每天都保持看书却是很难,It’shardtokeepcalm,静下心来也很困难,Buttherearealwayspeoplewhocangetupatfive,但是,总有一些人能一直坚持五点起床,Readabookpatiently,耐心读完一本书,Youwannaknow
- adb: createprocessw failed: 系统找不到指定的路径_gcc编译过程、gcc命令参数、静态库和动态库搜索路径...
weixin_39622988
adb:createprocesswfailed:系统找不到指定的路径
一、gcc编译过程gcc-Ehello.c-ohello.s//预处理gcc-Shello.s-ohello.i//编译gcc-chello.i-ohello.o//汇编gcchello.o-ohello//链接1)预处理,C编译器对各种预处理命令进行处理,包括文件包含、宏定义的扩展、条件编译的选择等;2)编译,将预处理得到的源代码文件,经过“翻译转换”,产生机器程序,得到机器语言的汇编文件;3)
- FireFox一些设置
养牛大人
firefoxfirefox前端
firefox后台打开新的链接,例如中键打开一个链接地址栏输入about:config找到下面三项,全部设为truebrowser.tabs.loadInBackgroundbrowser.tabs.loadDivertedInBackgroundbrowser.tabs.loadBookmarksInBackground参考:FireFox/chrome在后台打开新的标签页,而不是立即跳转过去!
- A Study in Scarlet 39
Mr_Oldman
WehadallbeenwarnedtoappearbeforethemagistratesupontheThursday;butwhentheThursdaycametherewasnooccasionforourtestimony.AhigherJudgehadtakenthematterinhand,andJeffersonHopehadbeensummonedbeforeatribunal
- 获取android设备模拟器名称
adbdevices(base)PSE:\Androidstudioproject\tvandphone>adb-semulator-5554shellgetpropro.product.modelsdk_gphone64_x86_64(base)PSE:\Androidstudioproject\tvandphone>adb-semulator-5556shellgetpropro.produc
- 华为服务器磁盘IO性能查看,磁盘io性能
忘記痛苦
华为服务器磁盘IO性能查看
磁盘io性能内容精选换一换对于不同业务场景,通过在调整数据库的参数配置,可以有效提升服务器性能。使用如下配置文件参数启动数据库,默认配置文件路径为/etc/my.cnf,其中MariaDB软件安装以及数据存放路径根据实际情况修改。根据是否支持挂载至多台云服务器可以将磁盘分为非共享磁盘和共享磁盘。一个非共享磁盘只能挂载至一台云服务器,而一个共享磁盘可以同时挂载至多台云服务器。共享磁盘是一种支持多个云
- web登录注册页面
m0_67391518
面试学习路线阿里巴巴前端javahtmlmysql数据库
目录web登录注册页面效果图结构图Java代码User.javaUserMapper.javaIndexServlet.javaRegisterServlet.javaDButil.javaxml配置文件mybatis-config.xmldb.propertiesweb.xmlhtml与cssindex.jspindex.cssregister.htmlregister.css文章目录web登录
- Logcat命令详解 和 adb 常用命令
九月的蓝天
android调试Logcat命令详解和adb常用命
Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用.在使用logcat之前,请确保手机的USB调试模式已经开启,可以通过"Setting->Application->Development->USBdebugging"来开启。logcat本身是android的shell的一个命令,你可以通过“adb
- 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独立出来,数据持