- HarmonyOS NEXT 中级开发笔记:电竞直播应用ArkTS实践
harmonyos-next
最近在尝试用ArkTS应用开发语言为HarmonyOSNEXT开发一款电竞直播应用,记录一些开发过程中的心得体会。状态管理与UI声明式开发ArkTS的声明式UI和状态管理确实让开发效率提升不少。比如直播间的礼物动画效果,通过@State和@Prop装饰器可以很清晰地管理状态:typescript@ComponentstructGiftAnimation{@StateprivatescaleValu
- 实现基于Vue的后台管理系统权限控制与动态路由
聂聂脸
前端服务器vue.jsanti-design-vue
在开发后台管理系统时,权限控制是不可或缺的一部分。本文将详细介绍如何使用Vue实现根据不同角色动态生成路由,从而控制用户访问权限。步骤一:基础路由配置首先,我们需要配置基础路由,这些路由是所有用户共有的,例如登录页和404页。constallRoutes=[//基础路由{path:'/',name:'login',component:()=>import("@/views/LoginView.vu
- vue搭建一个树形菜单项目
聂聂脸
vue.jsjavascript前端
首先搭建项目需要先通过步骤搭建一个vue的项目,然后创建一个component文件,里面新建一个index.vue页面来。这是引入的element-ui组件库里的组件,来实现我的路由,渲染的是我存储的动态路由,所以需要先安装并且引用。npminstallelement-plus@element-plus/icons-vue这是菜单管理的{{menu.meta.title}}{{sub.title}
- HarmonyOS NEXT 中级开发笔记:ArkTS实现体育赛车UI交互
harmonyos-next
最近在尝试用ArkTS应用开发语言为HarmonyOSNEXT移植一个简单的体育赛车应用界面,记录下开发过程中的一些收获。作为刚接触鸿蒙生态不久的开发者,深感HarmonyOSNEXT在跨设备协同和性能优化方面的优势,而ArkTS的声明式UI设计也让界面开发变得直观高效。以下是一个体育赛车主界面的简单实现,基于API12版本:typescript//体育赛车主界面组件@Componentstruc
- HarmonyOS NEXT 中级开发笔记:ArkTS实现机酒预订应用的核心逻辑
harmonyos-next
最近在适配HarmonyOSNEXT的机酒预订类应用,尝试用ArkTS应用开发语言重构核心模块。作为刚接触鸿蒙生态的开发者,记录下在API12环境下的一些实践心得。UI声明式构建ArkTS的声明式UI确实比传统命令式更符合直觉。比如酒店列表页采用List+ListItem组合时,数据驱动视图更新的特性让代码简洁不少:typescript@ComponentstructHotelItem{@Prop
- HarmonyOS NEXT 中级开发笔记:基于ArkTS的远程会议应用UI实现
harmonyos-next
今天在适配HarmonyOSNEXT平台的远程会议应用时,尝试用ArkTS应用开发语言重构了部分会议界面组件。HarmonyOSNEXT的声明式UI开发模式确实让界面开发变得简洁高效,这里记录一个会议成员列表的实现过程。首先在API12环境下创建了一个会议成员组件,采用ArkTS的静态类型检查可以避免很多运行时错误:typescript@ComponentstructMeetingMemberIt
- 手把手教你华为鸿蒙开发之第六节
华为鸿蒙开发:循环控制语句详解与示例引言在编程中,循环控制语句是处理重复任务的重要工具。在华为鸿蒙操作系统的开发中,我们可以使用while和for循环来实现代码的重复执行。本文将通过DevEcoStudio介绍鸿蒙开发中的循环控制语句,并提供丰富的示例来帮助理解。while循环while循环会重复执行一段代码,直到条件不再满足。示例1:打印1到50的数字@Entry@Componentstruct
- HarmonyOS NEXT 中级开发笔记:ArkTS实现短剧播放器基础功能
harmonyos-next
今天尝试用ArkTS应用开发语言为HarmonyOSNEXT搭建一个简易的短剧播放器原型。作为刚接触鸿蒙生态不久的开发者,记录下这个过程中的一些实践心得。首先在DevEcoStudio中创建了一个API12兼容的项目。ArkTS的静态类型检查确实能帮助规避不少运行时错误,这点比纯TS开发体验要好。基础页面结构采用声明式UI编写:typescript@ComponentstructShortVide
- HarmonyOS NEXT 中级开发笔记:智力棋手应用的ArkTS实践
harmonyos-next
最近在尝试将一款经典的智力棋手游戏适配到HarmonyOSNEXT平台,使用ArkTS应用开发语言进行重构。作为HarmonyOS的主力开发语言,ArkTS在保持TypeScript语法简洁性的同时,通过静态类型检查和声明式UI等特性,确实提升了开发效率。在移植过程中,发现ArkTS的组件化开发模式很适合棋类游戏的界面构建。比如绘制棋盘时,通过@Component装饰器可以很清晰地封装每个棋格的行
- 鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙
egzosn
harmonyosflutterandroid华为
鸿蒙Flutter实战:现有Flutter项目支持鸿蒙背景原来使用Flutter开发的项目,需要适配鸿蒙。环境搭建见文章[鸿蒙Flutter适配指南],搭建开发环境,使用fvm管理多版本SDK。模块化原有项目保持模块化,拆分为apps/common/components/modules/plugins等目录,如下所示:登录后复制.├──README.md├──analysis_options.ya
- spring boot: EL和资源 (一般注入说明(二) @Service注解 @Component注解)
weixin_33825683
java操作系统
@Service用于标注业务层组件:将当前类注册为spring的Bean@Controller用于标注控制层组件(如struts中的action)@Repository用于标注数据访问组件,即DAO组件@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。:将当前类注册为spring的Bean实例:DemoService:文件:packagech2.el;importo
- 43、接口请求需要时间,导致页面初始加载时会出现空白,影响用户体验
qq_45600165
前端-面试题uxvue.jsjavascript
1.显示加载状态在接口请求数据的过程中,显示一个加载状态提示,让用户知道页面正在加载数据。示例代码vue正在加载数据,请稍候...exportdefault{data(){return{isLoading:true,currentComponent:null,componentData:null};},mounted(){this.fetchData();},methods:{asyncfetch
- Chapter 33&Chapter 34:Case Study & The Missing Chapter_《clean architecture》notes
lianghu666
架构师架构开发语言笔记
PartIII:CaseStudy&TheMissingChapterChapter33:CaseStudy-VideoSalesSystemCoreConcepts:UseCaseAnalysisFocusesonbusinessworkflowslikeorderprocessing,paymenthandling,andinventorymanagement.ComponentArchite
- HttpComponents使用纪要
何人听我楚狂声
javajava
概览本文原载于我的博客,地址:https://blog.guoziyang.top/archives/15/HttpComponents是Apache基金会开发和维护的一组底层HTTP及其它协议相关的Java套件包。HttpComponents的前身是ApacheCommons包下的HttpClient包,在3.1版本后,独立成了单独的一组套件,包全名为org.apache.httpcompone
- 使用react 引入相对路径文件
小姐姐呀~
react.js前端前端框架
如何用React加载一个带有相对路径的静态文件方法一:若文件在src文件夹中(适用于打包文件)当你将静态文件放置在src文件夹内时,可以使用import语法将它们导入到组件中。Webpack会将这些文件打包到最终的输出中。若路径是下面这样src/assets/image.pngcomponents/MyComponent.js你可以像这样导入和使用图片:importReactfrom'react'
- QML元素 - Loader
爱吃馒头爱吃鱼
QML开发语言c++学习qt性能优化
在QML中,Loader是一个用于动态加载和卸载组件的元素,能够有效管理资源并实现按需加载。以下是其使用方法的详细说明:1.核心属性和方法source:指定要加载的QML文件的路径(如"MyComponent.qml")。sourceComponent:直接加载已定义的Component对象(避免重复解析文件)。active:布尔值控制加载状态,设为false时卸载组件并释放资源。item:访问已
- Android 页面封装实战:打造高复用、灵活的 Scaffold 式布局与事件处理
tangweiguo03051987
androidandroid
在Android开发中,如何高效地封装页面布局并处理点击事件?本文通过实战演示,教你如何实现类似Flutter中Scaffold的高复用、灵活页面结构。我们将从基类封装入手,结合观察者模式、委托模式和Lambda表达式,优化布局初始化与点击事件处理逻辑。同时,针对不同项目规模,探讨是否需要引入第三方库,并推荐JetpackNavigation和MaterialComponents等实用工具。无论你
- vue怎样隐藏不需要显示的tab标签页
babywenever
vue.jsjavascript前端
用户使用时每打开一个页面就会产生一个tab标签,当操作过多时,tab标签就会杂乱。为优化体验,仅主菜单项允许生成Tab标签,子页面将在当前标签内切换而不生成。src/layout/components/TagsView/index.vue{{$t(tag.meta.title)}}刷新页面关闭当前关闭其他关闭所有exportdefault{computed:{visitedViews(){retu
- JavaScript中的装饰器模式
前端岳大宝
前端核心知识总结前端javascript装饰器模式
以下是关于装饰器模式(DecoratorPattern)的系统梳理,涵盖核心概念、实现方式、应用场景及注意事项,帮助我们掌握这种灵活扩展对象能力的经典设计模式:一、装饰器模式基础1.核心概念定义:动态地为对象添加额外职责,相比继承更灵活,遵循开放-封闭原则(对扩展开放,对修改封闭)。核心思想:通过包装对象(装饰器)增强功能,而非修改原始对象。参与者:Component(组件接口):定义被装饰对象的
- WPF 设置窗口在屏幕中央显示
魑魅魍魉都是鬼
c#wpfwindow
在InitializeComponent();之前添加WindowStartupLocation=WindowStartupLocation.CenterScreen;//////InteractionlogicforMainWindow.xaml///publicpartialclassMainWindow:Window{publicMainWindow(){WindowStartupLocat
- Chapter 25&Chapter 26:Layers and Boundaries&The Main Component_《clean architecture》notes
lianghu666
架构师架构开发语言笔记
LayersandBoundaries&TheMainComponentChapter25:LayersandBoundariesKeyConceptsCodeExample:LayeredArchitectureChapter26:TheMainComponentKeyConceptsCodeExample:MainComponentSummaryChapter25:LayersandBound
- Chapter 23&Chapter 24:Presenters and Humble Objects&Partial Boundaries_《clean architecture》notes
lianghu666
架构师架构开发语言笔记
Chapter23:PresentersandHumbleObjectsKeyConceptsHumbleObjectPattern:Separateslogicthatishardtotest(e.g.,UI,I/O)frombusinesslogic.Coreidea:Movetestablelogicinto“humble”componentswithminimalbehavior.Pres
- Java Spring的常用注解详解和案例示范
J老熊
javaspring开发语言后端系统架构面试
1.Spring常用注解概述1.1@Component@Component是Spring的基础注解之一,它用于将类标记为Spring容器中的一个组件。通过@Component注解,Spring会自动将该类注册为一个Bean,供依赖注入使用。使用示例:@ComponentpublicclassUserService{publicvoidperformTask(){System.out.println
- C#使用用户名密码连接共享文件夹
Winemonk
.NETc#windows
C#使用用户名密码连接共享文件夹创建连接usingSystem.ComponentModel;usingSystem.Runtime.InteropServices;namespaceTests.ConsoleApp{publicclassShareDirectoryConnect:IDisposable{privatestaticreadonlyHashSet_TOKENS=newHashSet
- HarmonyOS NEXT实战:自定义封装多种样式导航栏组件
JasonYin~
HarmonyOSNEXTharmonyos
涉及知识点和装饰器@ComponentV2,@Local,@Builder,@BuilderParam,@Extend,@Require,@Param,@Event等第三方库:ZRouter,如项目中本来就用了ZRouter路由库,案例中点返回按钮直接使用了ZRouter.pop(),没有用到的话也支持自定义返回事件。背景:在项目开发进程中,导航栏的应用场景颇为繁多。以我的页面为例,其导航栏呈现为
- Unity ECS架构深度解析:从传统OOP到数据驱动的范式革命
晴空了无痕
ECSunity架构
一、ECS架构的本质解构在Unity引擎的发展历程中,ECS(Entity-Component-System)架构的引入标志着游戏开发范式的重要转折。这种数据导向的设计模式突破了传统OOP的局限性,其核心架构由三个关键要素构成:Entity(实体):作为纯粹的标识符存在,通过GUID实现全局唯一性。不同于GameObject,Entity不包含任何行为逻辑,其本质是组件容器。Component(组
- 鸿蒙Next-一次开发多端部署-基于栅格布局Grid
试水年华
harmonyos华为鸿蒙Ark-TS语言
栅格组件的本质是:将组件划分为有规律的多列,通过调整【不同断点】下的【栅格组件的列数】,及【子组件所占列数】实现不同布局核心用法://行GridRow(属性){//列GridCol(属性){}}使同一组件在不同的宽度下,例如手机,平板,电脑占不同的份数(可以理解为不同的像素点),使其布局排版更加合理和美观完整示例代码如下:@Entry@ComponentstructDemo12{@Statecur
- 如何将Spring Boot项目与DeepSeek AI集成并优化为AI系统
小小鸭程序员
springspringbootdockerjava人工智能
一、项目准备1.创建SpringBoot项目使用SpringInitializr:选择依赖项(SpringWeb、Lombok、ApacheHttpClient)。Maven/Gradle配置:org.springframework.bootspring-boot-starter-weborg.apache.httpcomponentshttpclient4.5.132.配置DeepSeekAPI
- SpringBoot 常用注解汇总
咩咩咩咩没
面试学习路线阿里巴巴springbootjavaspringdatabase开发语言
目录SpringBoot常用注解汇总一、启动注解@SpringBootApplication@SpringBootConfiguration注解,继承@Configuration注解,主要用于加载配置文件@EnableAutoConfiguration注解,开启自动配置功能@ComponentScan注解,主要用于组件扫描和自动装配二、Controller相关注解@Controller@RestC
- Spring Boot框架中常用注解
Conce-lin
JAVA#SpringBootspring
以下是SpringBoot框架中常用注解的详细说明,包括名称、用途、用法、使用位置及扩展示例,按功能模块分类整理:一、核心启动与配置注解1.@SpringBootApplication用途:主启动类注解,整合了@Configuration、@EnableAutoConfiguration和@ComponentScan。用法:标记主类,启动SpringBoot应用。位置:类级别。示例:@Spring
- 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独立出来,数据持