- window10下编译hadoop报错:Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:
huangxgc
hadoophadoopwindows
Windows10下buildhadoop2.7.3报错:Failedtoexecutegoalorg.apache.maven.plugins:maven-antrun-plugin:1.7:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-antrun-plugin:1.7:run(dist)onprojecthadoop-hdf
- jupyter notebook中显示pyecharts空白,记录
泰洋睿兔
笔记jupyterpython人工智能echarts
#tips:解决看结尾(1)(2)(3)版本1.jupyter使用pipisntalljupyter,可以看到版本8.6.2,6.6.3,5.7.2,4.2.2等,尤其是注意到有jupyterLAB。jupyter1.0.0jupyter_client8.6.2jupyter-console6.6.3jupyter_contrib_core0.4.2jupyter_contrib_nbextens
- java集成kafka案例
沉墨的夜
javakafka开发语言
要在Java项目中集成ApacheKafka以实现消息的生产和消费,步骤如下:1.引入Maven依赖在您的pom.xml文件中添加以下依赖,以包含Kafka客户端库:org.apache.kafkakafka-clients2.8.0org.springframework.kafkaspring-kafka2.7.02.配置Kafka生产者首先,设置生产者的配置属性:importorg.apach
- Google Protocol Buffers介绍
fengbingchun
Caffe
GoogleProtocolBuffers(简称Protobuf),是Google的一个开源项目,它是一种结构化数据存储格式,是Google公司内部的混合语言数据标准,是一个用来序列化(将对象的状态信息转换为可以存储或传输的形式的过程)结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)的技术,支持多种语言诸如C++、Java以及Python。可以使用该技术来持久化数据(将
- uni中webview与H5直接的通讯
米粒宝的爸爸
webapp
突然有个需求,要uni中webview与H5直接进行通讯,本来想的找个例子copy下算了。没想到,很多都不能用啊。至于所谓的什么@message和@onPostMessage好像都不行。试验都没任何反应!算了,自己写吧。我这主要用到2种情况,第一种:uni是H5形式的。第二种:uni是app形式的。都写一下。第一种:uniH5形式的通讯。上代码:H5端1.先上js加载。 2.document.a
- CRM 微服务
山猪打不过家猪
C#微服务架构云原生
文章目录项目地址一、项目地址教程作者:教程地址:代码仓库地址:所用到的框架和插件:dbtairflow一、用户与认证服务主要功能:用户注册、登录、注销。认证(OAuth、JWT等)。权限和角色管理(RBAC/ABAC)。单点登录(SSO)。技术亮点:集成第三方身份认证(如Google、AzureAD)。使用APIGateway统一进行身份认证。客户管理服务主要功能:存储和管理客户信息(姓名、联系方
- Android BitmapShader简洁实现马赛克,Kotlin(二)
zhangphil
kotlinAndroidandroidkotlin
AndroidBitmapShader简洁实现马赛克,Kotlin(二)这一篇AndroidBitmapShader简洁实现马赛克,Kotlin(一)-CSDN博客遗留一个问题,xml定义的MyView为wrap_content的宽高,如果改成其他模式如match_parent,因为background的Bitmap和draw时候的Bitmap不一致(background被拉伸了),导致手指划过屏
- 深度探索:Java 中注解与 AOP 的完美协作
阿贾克斯的黎明
javajava
在Java开发领域,随着应用程序的规模和复杂度不断攀升,如何高效地管理代码、实现横切关注点的分离成为了开发者们面临的关键挑战。注解(Annotations)和面向切面编程(Aspect-OrientedProgramming,AOP)的出现,为我们提供了强大的工具来优雅地应对这些难题。今天,就让我们深入探讨一下它们是如何协同工作,为代码注入强大活力的。一、注解:代码中的隐形标记注解,从本质上来说,
- flask 与layui冲突
AI算法网奇
flask与layui冲突代码:{field:'img3',title:'03',width:cell_w,style:cell_h,event:'setBackground',templet:'老鼠图片'}{{}}是flask遍历后台变量的语法layui想用{{d.img3}}读取列数据,结果flask优先了,layui读取不到数据:解决方法:{field:'img6',title:'06',w
- 探索 `.NET MAUI` 工作坊:跨平台移动应用开发的新纪元
倪澄莹George
探索.NETMAUI工作坊:跨平台移动应用开发的新纪元dotnet-maui-workshopAfulldayworkshop(.NETMAUIWorkshopinaBox)onhowtobuildappswith.NETMAUIforiOS,Android,macOS,andWindows项目地址:https://gitcode.com/gh_mirrors/do/dotnet-maui-wor
- Jenkins pipeline共享库的最佳实践
DevOps探索者
Jenkinsjenkins运维
Jenkins共享库使用教程Jenkins共享库(SharedLibraries)是一个功能强大的工具,旨在帮助团队在多个Jenkins项目中重用代码。这使得CI/CD流水线能够更加高效、简洁,并减少重复劳动。通过共享库,你可以将常用的Groovy脚本、步骤、函数等提取到一个公共的位置,使得多个项目都能引用它们。1.什么是Jenkins共享库?Jenkins共享库是一个包含可以在多个Jenkins
- 【环境配置】已解决 | python conda环境下安装GDAL库报错
乐蕴
pythonconda开发语言
GDAL库安装报错安装命令:pipinstallGDAL报错内容:CollectingGDALUsingcachedgdal-3.9.1.tar.gz(840kB)Installingbuilddependencies...errorerror:subprocess-exited-with-error×pipsubprocesstoinstallbuilddependenciesdidnotrun
- 解决Windows Server环境下PPTX转PDF时WebP格式图片缺失
重楼七叶一枝花_1200
Java代码小抄javamicrosoft
如果喜欢,欢迎关注WX:攻城狮重楼在WindowsServer环境下,将PPTX文件另存为PDF时,遇到的一个问题是PDF中的图片部分缺失,且这些缺失的图片实际为WebP格式。本文将介绍这一问题的原因及两种解决方案。问题原因在WindowsServer环境下,将PPTX文件另存为PDF时,若PDF中的图片部分缺失,且这些缺失的图片为WebP格式,通常是由于Windows的图片解码器不支持WebP格
- java.io.IOException: Broken pipe 异常分析
重楼七叶一枝花_1200
JavaExceptionjava开发语言
org.apache.catalina.connector.ClientAbortException:java.io.IOException:Brokenpipe是一个常见的Java异常,通常在使用Tomcat服务器处理HTTP请求时出现。这个异常表示客户端在服务器完成响应之前关闭了连接,导致服务器端试图写入数据到一个已经关闭的连接上。具体来说,“Brokenpipe”(断开的管道)意味着客户端与
- 用React编写一个密码组件表单
zayyo
react.jsjavascript前端
theme:condensed-night-purplehighlight:atelier-cave-light背景介绍我们在使用网站或者应用程序的登录界面或创建帐户界面时,往往避免不了需要用户输入密码这一步骤,而用户是否可以选择看见他们输入的密码是十分重要的一项功能。尤其是在当输入的密码是很长而且包含不同的符号的时候,这一功能就显的尤为重要且好用。但是这一功能如何来实现确实阻碍很多工程师的一个问
- Python 自动玩谷歌浏览器“恐龙小游戏”
程序员-夏天
Pythonpythonchrome开发语言
相信在座的各位小伙伴对GoogleChrome浏览器中的一个游戏彩蛋恐龙小游戏(ChromeDino)不陌生吧。在断开网络连接,我们访问网站的时候,就会出现一个小霸王龙,在我们再按下空格键后,即可开始这个游戏,或者在谷歌浏览器的地址栏输入chrome://dino/,按下空格键,也可这个开始游戏。这是一个简单的无限跑步游戏,它会让你跳过仙人掌,并闪避障碍物,游戏控制也很简单,按空格键开始游戏,按空
- ogre 学习笔记 - Day 1
頖╃縌 ①oO%
#ogre学习笔记游戏引擎
ogre学习笔记-Day1OGRE:Object-OrientedGraphicsRenderingEngine从名称可以得出,OGRE是一个渲染引擎下载地址https://www.ogre3d.org/最新版ogre-13.1.0编译工具cmake-gui,vs2019,vscodeConfigureconfigure时发现ogre会自动从github下载/编译依赖项,github速度有可能很慢
- Windows WPS ppt幻灯片 保存文件时候 PPT文件大小变大 ppt文件太大 解决方案
土牛兄弟
Windowswpspowerpoint
WindowsWPSppt幻灯片保存文件时候PPT文件大小突然变大,原先只有10M的大小增加到40M关于wps的ppt文件变大,指的是:明明ppt幻灯片页数和图片都不多,只是稍微修改两个文字,保存时,文件大小增加了不少,关于这个问题我尽量了大量的分析,大部分是因为wps的ppt默认是将所有字体嵌入到ppt中,方便他人编辑和修改。您可以按照如下方法进行操作:1、打开【文件】->【选项】2、进入【常规
- python谷歌浏览器dino游戏,完整开源代码
terryzhang404
pythonchromepygame游戏pycharm
观前提示:本文选自作者个人博客,为获得更好观感,请访问博主博客得到更好体验)说到googlechrome,很多人都会想到它标志性的断网小游戏——chromedino,今日,我们利用python还原并将代码开源,欢迎随时取用。话不多说,直接进入正题实现效果第一部分:配置环境编译器:pycharm社区版2024.1插件:pygame导入所用库,没有的可以去下载,具体方法不多赘述,网上有importpy
- Pandas基础01(Series创建/索引/切片/属性/方法/运算)
XYX的Blog
数据分析与可视化pandas
Pandas基础Pandas是一个功能强大的数据分析和操作库,主要用于处理和分析表格型数据(例如:CSV、Excel、SQL数据库等)。它建立在NumPy基础上,提供了许多便捷的数据结构,主要是Series和DataFrame,用于处理和分析数据。3.1Series数据结构Series是一种类似于一维数组的对象,它包含了一组数据(可以是整数、浮点数等)以及与之相关的标签(索引)。可以将Series
- -bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory
GeoWin_CAU
GeoPythonSpatialBigData(空间大数据)pythonlinuxwindows
在windows系统下写的python脚本,在linux下赋予权限chmod+xxxx.py以后,执行./xxx.py运行提示:bash:/usr/bin/autocrorder:/usr/bin/python^M:badinterpreter:Nosuchfileordirectory更多文章请点击我
- android studio接口调用,Android Studio调用系统隐藏接口EthernetManager
高江Takae
androidstudio接口调用
googlesource签名文件参考:https://android.googlesource.com/platform/build/+/donut-release/target/product/security/pem转jks来实现系统签名文件:https://blog.csdn.net/cxq234843654/article/details/51557025项目需要实现以太网的管理功能,查阅
- 解决python “No module named pip”
weixin_34218579
python
python升级后导致不能使用原来的pip命令windows平台cmd中敲命令:python-mensurepip得到pip的setuptools然后就可以用:easy_installpip下载相应版本的pip,最后就可以愉快的用pip命令了!转载于:https://www.cnblogs.com/junglefish/p/6265101.html
- SalFAU-Net:显著性目标检测的显著性融合注意U-Net
明初啥都能学会
目标检测人工智能计算机视觉
SalFAU-Net:显著性目标检测的显著性融合注意U-Net摘要IntroductionRelatedWorksSalFAU-Net:SaliencyFusionAttentionU-NetforSalientObjectDetection摘要显著目标检测(SOD)在计算机视觉中仍然是一个重要的任务,其应用范围从图像分割到自动驾驶。基于全卷积网络(FCN)的方法在过去几十年里在视觉显著性检测方面
- android studio flutter代理设置问题classpath 'com.android.tools.build:gradle:3.2.1'
同名公众号 - 人生代码
androidstudio安卓开发androidstudio
前提初次安装flutter,通过代理设置加快速度安装首次更新数据,但在添加设备并开始打包编译时出现classpath找不到的情况1.在初次启动IDE的时候会提示更新各种SDK包,此时一般会直接设置代理,我的系统时Ubuntu18.04,所以直接代理了本地,127.0.0.1端口10802.在编译打包的时候出现了找不到相关的包,原因是flutter三个默认配置的地方采用了Google路径的包切换ma
- ffmpeg把视频文件转码为MP4格式
卷土重来…
工具ffmpeg
windows系统需要下载ffmpeg软件,并在代码中指定路径centos系统需要安装ffmepg是可执行的命令packagecom.xkj.utils;importlombok.extern.slf4j.Slf4j;importjava.io.*;importjava.util.ArrayList;importjava.util.List;@Slf4jpublicclassConvertVide
- 项目集成Nacos
S-X-S
javaNacos
文章目录1.环境搭建1.创建模块sunrays-common-cloud-nacos-starter2.目录结构3.pom.xml4.自动配置1.NacosAutoConfiguration.java2.spring.factories5.引入cloud模块通用依赖2.测试1.创建模块sunrays-common-cloud-nacos-starter-demo2.目录结构3.pom.xml4.a
- -bash: ./xxx.sh: /bin/sh^M: bad interpreter: No such file or directory
我是懒洋洋大王
运维bash服务器
问题:解决Linux服务器执行命令时出现-bash:./xxx.sh:/bin/sh^M:badinterpreter:Nosuchfileordirectory报错原因:说明这个文件编码方式是windows编辑的,必须转化格式为unix格式解决方案:vim[脚本名称].sh:setff=unix:wq
- windows环境下anaconda/miniconda 在gitbash的zsh中使用conda activate
大熊SsSsSs
windowsconda
这个问题折磨了一天防止以后再出现此问题忘记解决方法记录一下问题描述核心原因就是\r,\n,\r\n的区别可能会导致:(eval):11:parseerrornear^M解决方案解决方案如下:在~/.zshrc中添加下面这个(记得修改conda.exe的路径)#>>>condainitialize>>>#!!Contentswithinthisblockaremanagedby'condainit'
- 机房局域网聊天服务器(Python)1.0
InF-POP
python网络
importthreadingimporttimeSERVER_HOST='10.177.32.60'#这里以这个ip为例,就是以10.177.32.60的这台电脑作为服务器SERVER_PORT=19198#样例端口号:19198ADMIN_IP='10.177.32.60'#存储连接的客户端clients=[]#用于存储客户端的最后消息时间,防止刷屏last_message_time={}#处
- 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独立出来,数据持