- Oracle数据库数据编程SQL<2.2 DDL 视图、序列>
Tyler先森
Oracle数据库oraclesql
目录一、Oracle视图(Views)(一)Oracle视图特点(二)Oracle视图创建语法关键参数:(三)Oracle视图类型1、普通视图2、连接视图(可更新)3、对象视图4、物化视图(MaterializedViews)(四)Oracle视图数据字典(五)Oracle可更新视图规则(六)视图的优缺点1、视图的优点:2、视图的缺点:3、视图和表的区别二、Oracle序列(Sequences)(
- 软件设计模式-第一章
minaMoonGirl
设计模式
1.统一建模语言(UML)基础知识UML是一种可视化的标准建模语言,用于分析和设计软件系统。UML包括多种视图,如类图、顺序图、状态图等。UML通过图形化的方式描述系统的结构和行为。2.类图(ClassDiagram)类图是UML中最常用的图之一,用于描述系统中的类及其关系。类图展示了类的属性、操作及其相互关系。类图可以表示类之间的继承、关联、聚合和组合关系。3.顺序图(SequenceDiagr
- #C8# UVM中的factory机制 #S8.2.3# 重载sequence哪些情形
那么菜
UVM
在UVM中,重载(Override)Sequence是一种动态替换激励生成逻辑的关键技术,常用于灵活配置测试场景。以下是常见的用法和实现方式:1.在uvm_testbuild_phase中通过set_type_override重载用途:直接替换某个Sequencer的默认Sequence类型。实现步骤:在测试用例的build_phase中,调用set_type_override。指定原始Seque
- Go 1.24 新特性解析:泛型类型别名、弱指针与终结器改进
Ai 编码
Golang教程golang开发语言后端
文章精选推荐1JetBrainsAiassistant编程工具让你的工作效率翻倍2ExtraIcons:JetBrainsIDE的图标增强神器3IDEA插件推荐-SequenceDiagram,自动生成时序图4BashSupportPro这个ides插件主要是用来干嘛的?5IDEA必装的插件:SpringBootHelper的使用与功能特点6Aiassistant,又是一个写代码神器7Cursor
- 代码随想录算法训练营第二十五天 | 491. 非递减子序列、46. 全排列、47.全排列 II、332. 重新安排行程、51. N 皇后、37. 解数独
榛果咖啡有点苦
代码随想录算法训练营算法
491.非递减子序列题目链接:https://leetcode.cn/problems/non-decreasing-subsequences/description/文档讲解:https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html状态:已完成思路:本题考察的是在无序数组中可能有重复元素的
- 第十九章:实现 Traits_《C++ Templates》notes
郭涤生
c/c++c++服务器开发语言
实现Traits1.Traits概念2.示例:累加序列(AccumulatingaSequence)3.固定特性(FixedTraits)4.值特性(ValueTraits)5.参数化特性(ParameterizedTraits)6.SFINAE-basedTraits多选题(附答案与详解)设计题(附答案与详解)总结1.Traits概念Traits(特性类)是用于在编译期提取或推断类型信息的模板类
- 力扣刷题-热题100题-第3题(C、python)
weixin_44505472
leetcode算法职场和发展
128.最长连续序列-力扣(LeetCode)https://leetcode.cn/problems/longest-consecutive-sequence/?envType=study-plan-v2&envId=top-100-liked在编程中,集合(Set)是一个不允许重复元素的容器。集合中可以存储任何类型的元素,通常用于测试元素是否存在、去重等场景。在许多编程语言中都有集合的实现,如
- Leetcode 306. Additive Number
小白菜又菜
Leetcode解题报告leetcodepython深度优先
ProblemAnadditivenumberisastringwhosedigitscanformanadditivesequence.Avalidadditivesequenceshouldcontainatleastthreenumbers.Exceptforthefirsttwonumbers,eachsubsequentnumberinthesequencemustbethesumoft
- python列表添加元素的三种方法定义集合数据对象_python 学习第三天 可迭代对象(列表,字典,元组和集合)...
weixin_39852491
列表,字典,元组和集合列表list列表是由一系列特定元素组成的,元素和元素之间没有任何关联关系,但他们之间有先后顺序关系列表是一种容器列表是序列的一种列表是可以被改变的序列Python中的序列类型简介(sequence)字符串(str)列表(list)元组(tuple)字节串(bytes)字节数组(bytearray)创建空列表的字面值L=[]#L绑定空列表创建非空列表:L=[1,’two’,3,
- 《AI医疗系统开发实战录》第6期——智能导诊系统实战
骆驼_代码狂魔
程序员的法宝人工智能djangopythonneo4j知识图谱
关注我,后期文章全部免费开放,一起推进AI医疗的发展核心主题:如何构建95%准确率的智能导诊系统?技术突破:结合BERT+知识图谱的混合模型设计一、智能导诊架构设计python基于BERT的意图识别模型(PyTorch)fromtransformersimportBertTokenizer,BertForSequenceClassificationimporttorchclassTriageMod
- python字符级差异分析并生成 Word 报告
myzzb
wordpython文字识别算法文本差异
importdifflibfromdocximportDocumentfromdocx.sharedimportRGBColordefanalyze_char_differences(text_a,text_b):"""分析两个文本的字符级差异:paramtext_a:第一个文本:paramtext_b:第二个文本"""matcher=difflib.SequenceMatcher(None,te
- python使用matplotlib库绘制饼图
zhan114514
python科学绘图pythonmatplotlib开发语言
使用python的matplotlib库绘制饼图,包括普通饼图、堆叠饼图、嵌套饼图,并一一封装成了方法,直接调用使用。先安装matplotlib库,pipinstallmatplotlib代码如下:fromtypingimportSequenceimportmatplotlib.pyplotaspltimportmatplotlibimportnumpyasnpmatplotlib.rcParam
- IncDec Sequence(洛谷P4552)
GordenGhost
java算法开发语言洛谷差分模拟
importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();intw[]=newint[n+2],cnt[]=newint[n+2];for(inti=1;i=0)a+=cnt[i];elseb-=cnt[i]
- 【pygame】小球运动碰撞动画生成并保存为GIF
一只小白跳起来
pygamepygamepython
pygame本身并不直接支持将动画保存为GIF,但可以用Pillow将截图的图像合成一个GIF。importpygameimportsysfromPILimportImage,ImageSequenceimportos#初始化pygamepygame.init()#设置窗口大小WIDTH,HEIGHT=800,600screen=pygame.display.set_mode((WIDTH,HEI
- [AtCoder Regular Contest 125] A-F全题解
ikrvxt
结论和构造DP构造网络流dp分块数学
文章目录A-DialUpB-SquaresC-LIStoOriginalSequenceD-UniqueSubsequenceE-SnackF-TreeDegreeSubsetSum网址链接A-DialUp签到题特判一下有没有0/1在目标串中出现而没在原串出现除了第一次0/1数字互换时,需要从a1a_1a1左右找距离最近的不同数字后面互换就是左/右转一次#include#includeusingn
- Ultralytics包引起的编码报错问题
Xylokrysen
深度学习深度学习YOLO
安装完Ultralytics包后,加载YOLO相关模型,执行报错:UnicodeEncodeError:'gbk'codeccan'tencodecharacter'\u0467'inposition3:illegalmultibytesequence这个错误是由于文件编码问题引起的,Ultralytics在初始化时会尝试创建或更新配置文件settings.yaml,而Windows系统默认使用G
- A l密码学(Deepseek)
Small踢倒coffee_氕氘氚
经验分享笔记
我:qwertyuiopasdfghjklzxcvbnmdeepseek:深度思考中.Okay,let'ssee.Theuserinputis"qwertyuiopasdfghjklzxcvbnm".Atfirstglance,itlookslikeajumbledsequenceofletterswithsomespacesormaybeothercharactersinbetween.Letm
- 追踪问题链中问题的上溯和下延
由数入道
AI辅助教学思维模型认知框架
一、理解问题链的本质首先,我们需要认识到问题链的本质并非简单的线性关系,而更像是一个复杂的网络或树状结构。向上溯源(RootCauseAnalysis):追溯问题“向上发芽”意味着我们要找到当前问题的根源,即是什么更深层次的问题、假设、前提或信息缺失导致了当前问题的产生。这就像追溯树木的根系,找到滋养它的土壤和水源。向下延展(ConsequenceAnalysis&Exploration):问题“
- draw.io插入 Mermaid格式
画图
现在很多ai工具生成的流程图都如下sequenceDiagramparticipantSSPparticipantADXSSP->>ADX:广告播放完成ADX->>ADX:更新flow_distribute.status=1ADX->>SLS:记录adPlayed事件NoterightofADX:定时任务同步状态与日志如果想自己编辑这种格式,draw.io就支持,操作如下,我的是网页版参考链接:h
- 【UVM基础】m_sequencer 和 p_sequencer 概念与区别(面试常问)
MoorePlus
数字IC验证百宝箱经验分享面试数字IC芯片验证SV
文章目录1、基本概念m_sequencerp_sequencer2、解释m_seqeuncer和p_sequencer的区别?3、uvm_declare_p_sequencer宏做了哪几件事?参考1、基本概念m_sequencer类型是uvm_sequencer_base类型,定义在uvm_sequence_item类中,注意:类型很重要。可以理解为每个sequence中默认都有m_sequenc
- Unreal Engine 5.4 (虚幻引擎5)中动画制作快捷键大全
金米kk
ue5
UnrealEngine5.4中动画制作(重点围绕Sequencer与动画编辑器)的核心快捷键大全,按功能分类整理:一、Sequencer(动画序列控制)功能目标快捷键说明新建SequencerCtrl+Alt+S快速创建或打开Sequencer时间轴添加关键帧S为选中属性添加关键帧(需选中属性)删除关键帧Delete移除选中关键帧播放/暂停动画Space从当前播放头位置开始播放逐帧前进/后退→/
- java有外键怎么导出_导出当前用户下所有外键、主键、索引、sequence的DDL
南至挚爱
java有外键怎么导出
在数据转换的过程中,我使用createtableas...等方式,批量将A的数据表创建到B下后,主键、外键、索引是需要手工建的,一个一个嫌麻烦,故写下了以下脚本。可使A用户下的主键、外键、索引都产生出来,然后到B用户下创建。--------------------------------------------------------------------------------10g及以上--
- 构建多序列比对的删除矩阵Deletion Matrix
qq_27390023
生物信息学pytorch深度学习人工智能
从多序列比对(MultipleSequenceAlignment,MSA)数据中构建删除矩阵(DeletionMatrix)是蛋白质结构预测中的一个重要步骤。删除矩阵记录了每个位置相对于参考序列的缺失(deletion)信息,这些信息对于理解蛋白质的进化关系和结构变化非常关键。以下是从A3M格式文件的MSA序列数据中构建删除矩阵的核心代码和示例解析。1.A3M格式文件(.a3m):每个序列都以>开
- QT 如何设置 QToolButton 显示图片和下拉菜单
QT 专精
qt开发语言c++
如何设置QToolButton以显示一个包含QAction的下拉菜单,并连接这些动作的triggered信号到槽函数://在MainWindow的构造函数或初始化函数中QAction*newAction=newQAction(QIcon(":/res/孤独.png"),"New",this);newAction->setShortcut(QKeySequence("Ctrl+N"));newAct
- seq2seq推理模块设计
何仙鸟
PyTorch深度学习人工智能
代码:#loadcheckpoints,如何上线model=Sequence2Sequence(len(src_word2idx),len(trg_word2idx))model.load_state_dict(torch.load(f"./best.ckpt",weights_only=True,map_location="cpu"))classTranslator:def__init__(se
- Oracle数据库面试题-11
编织幻境的妖
oracle数据库
21.解释序列(Sequence)在Oracle中的作用。序列(Sequence)在Oracle数据库中是一种用来生成连续数字序列的数据库对象。它经常被用来生成主键值,因为数据库表中的每一行都需要一个唯一的键值,而序列可以保证这一点。序列的作用:1.生成唯一的数字序列序列可以保证每次调用时返回一个唯一的数字,这在需要生成唯一键值的场景下非常有用,如主键。2.实现自动递增序列可以配置为自动递增,这意
- LeetCode 376. 摆动序列 java题解
奔跑的废柴
LeetCodeleetcodejava算法贪心贪心算法
https://leetcode.cn/problems/wiggle-subsequence/description/只要不满足摆动条件,就不更新count和prediff当prevDiff取等号时,比如prevDiff==0,在这种情况下,如果currDiff>0,说明从持平状态转变为上升状态,这是一种有效的摆动起始情况;同理,如果currDiff0,这种从持平到上升的情况应该被视为摆动的开始
- 论文阅读:Personalized Purchase Prediction of Market with Wasserstein-Based Sequence Matching
Narcissus`小暮
一步步来学大数据推荐系统
PersonalizedPurchasePredictionofMarketwithWasserstein-BasedSequenceMatching概述问题背景及陈述预测算法步骤一:itemembeddings步骤二:计算wassersteinDistance步骤三:Wasserstein-BasedDynamicTimeWarping预测实验评价标准数据集对比的baseline结论市场篮子的应
- BERT(Bidirectional Encoder Representations from Transformers)的序列分类模型,简单学习记录
努力努力再努力呐
BERTbert分类学习
一、代码#本地离线模型使用fromtransformersimportAutoModelForCausalLM,AutoTokenizer,pipeline,BertForSequenceClassification,BertTokenizer#设置具体包含config.json的目录,只支持绝对路径model_dir=r"models\bert-base-chinese"#model_dir=r
- Python机器学习实战:构建序列到序列(Seq2Seq)模型处理翻译任务
AGI大模型与大数据研究院
程序员提升自我硅基计算碳基计算认知计算生物计算深度学习神经网络大数据AIGCAGILLMJavaPython架构设计Agent程序员实现财富自由
Python机器学习实战:构建序列到序列(Seq2Seq)模型处理翻译任务1.背景介绍1.1问题的由来翻译是跨语言沟通的重要桥梁,随着全球化进程的加速,翻译需求日益增长。传统的机器翻译方法主要依赖于规则和统计方法,如基于短语的翻译、基于统计的机器翻译等。然而,这些方法难以处理复杂的语言现象,翻译质量参差不齐。近年来,随着深度学习技术的快速发展,基于神经网络序列到序列(Sequence-to-Seq
- 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独立出来,数据持