- GO怎么给手机发短信对接验证码短信接口DEMO示例
樱桃桃
发现一个超简单验证码短信接口对接DEMO示例步骤1.注册互亿无线账号2.查找APIID和APIKEY3.代码的书写注册互亿无线账号网站:http://user.ihuyi.com/?JA9Ewr查找APIID和APIKEY注意事项:(1)调试期间,请使用用系统默认的短信内容:您的验证码是:【变量】。请不要把验证码泄露给其他人。packagemainimport("crypto/md5""encod
- 转码日记——Javascript笔记(8)
zzcoding_
转码日记数据结构javascript前端开发语言
数组(Array)数组也是一个对象,和普通对象功能类似。普通对象使用字符串作为属性名,而数组使用数字来作为索引操作。索引:从0开始的整数。数组的存储效率比较高,对属性名没有要求的时候可以使用。基本应用//创建数组对象vararr=newArray();//向数组中添加对象//语法:数组[索引]=值;arr[0]=10;arr[1]=33;//如果读取不存在的索引则返回undefined//获取数组
- 为什么国际顶级黑客大都没学过计算机专业,而是自学成才?
程序员-老K
网络web安全服务器安全数据库linux计算机网络
相比于其他专业,计算机确实是学习成本最小的一个专业了。起步只需要一台电脑,剩下的只要有网络,那资源可以说就是无限的。软件、教材、算法。。还有什么是网上找不到的?但是话说回来,大部分人都做不到这一点,所以光看着媒体聚光灯下的那几个大神对一般人没有任何指导意义。80亿人,里面总有无师自通的大神。对于一般人,能做到在正规学校里,充分利用学校的资源来提升自己对这个专业的了解,已经足够了。为了帮助大家更好的
- Java Web安全与Spring Config对象实战
福建低调
本文还有配套的精品资源,点击获取简介:本课程深入探讨JavaWeb开发中的安全实践,包括认证与授权、输入验证、CSRF和XSS防护以及SQL注入防御等关键安全措施。同时,介绍SpringSecurity框架的应用,以及Config对象在Spring配置管理中的作用,包括依赖注入和外部化配置。课程还包括实战演练,通过设置安全环境和安全漏洞模拟,帮助开发者提升应用的安全性和故障排查能力。1.Web安全
- java parser乱码_HtmlParser 2.0 中文乱码问题
福建低调
javaparser乱码
对于HTMLParser2.0工具包我们需要修改其中的Page.java文件使其适用中文的html文件分析。主要是把protectedstaticfinalStringDEFAULT_CHARSET="ISO-8859-1";修改成protectedstaticfinalStringDEFAULT_CHARSET="gb2312";主要是兼容charset='GBK'声明的页面。--因为采用默认的
- python中selenium中使用ajax_使用selenium和python捕获AJAX响应
weixin_39946534
我曾经截获了一些使用selenium向页面注入javascript的ajax调用.历史的不好的一面是,硒有时可能是,说“脆弱”.因此,无论如何我在进行注射时都会遇到硒异常.无论如何,我的想法是拦截XHR调用,并将其响应设置为我创建的一个新的dom元素,我可以从selenium操作.在拦截的条件下,你甚至可以使用发出请求的url来拦截你真正想要的那个(self._url)也许这有帮助.browser
- 两个byte数组拼接_java中两个byte数组实现合并的示例
甄公子
两个byte数组拼接
今天在于硬件进行交互的过程中,要到了了需要两个数组进行合并,然后对数组进行反转和加密操作,以下是两个byte数组合并的方法。/****@paramdata1*@paramdata2*@returndata1与data2拼接的结果*/publicstaticbyte[]addBytes(byte[]data1,byte[]data2){byte[]data3=newbyte[data1.length
- 正确解决ModuleNotFoundError: No module named ‘cv2’异常的有效解决方法
飞码创造者
解决bugopencvpythonbug
正确解决ModuleNotFoundError:Nomodulenamed‘cv2’异常的有效解决方法文章目录报错问题报错原因解决方法报错问题ModuleNotFoundError:Nomodulenamed‘cv2’异常报错原因遇到ModuleNotFoundError:Nomodu
- 【Python】文件读写(CSV、Excel)
素颜清风宛如月
Pythonpython
一、CSV文件1读csv文件1.1以数组方式读文件deflistReader():withopen("user.csv",encoding="UTF-8")ascsvFile:#读文件csvData=csv.reader(csvFile)#数据集合print(list(csvData))#遍历数据对象fordataincsvData:#csvData.line_num:每条数据的行号print("
- 项目实战系列三: 家居购项目 第五部分
~ 小团子
#家居购项目python开发语言
显示订单[订单管理]暂时缺货需求分析1.如果某家居库存为0,首页的"AddtoCart"按钮显示为"暂时缺货"2.后台也加上校验.只有在库存>0时,才能添加到购物车代码实现1.修改web/views/customer/index.jspAddToCart[缺货]0}">AddToCart2.修改src/com/zzw/furns/web/CartServlet.java,当添加购物车时,要保证商品
- R语言-非结构化数据-文本数据读入
pdc31czy
Rr语言数据分析
#2.2.2非结构化数据-文本数据读入rm(list=ls())#清空工作空间##1.读入简单文本数据###假如数据包含大量经过结构化的文本数据#只需按照读入csv等标准式数据的方法读入#例:novel=read.csv("novel.csv",fileEncoding="UTF-8")head(novel)##2.用readtable读入文本###文本数据普通读法test=read.table(
- MHA+MYCAT 高可用架构
第九系艾文
linuxLinuxtools服务器数据库mycatmhalinux
架构图如下:本次是4服务器架构如下环境:centos7.2x64mariadb10.4MHA5.7MyCat1.6.7IP规划IP功能10.1.41.166VIP10.1.41.167master,mycat,mha.node10.1.41.168slave(master),mha.node10.1.41.165slave,mycat,keepalived10.1.41.169slave,myca
- 版本控制的核心:Git中的哈希与默克尔树解析
liuwill
开发技术git源代码管理
Git是最常用的代码版本控制工具。它帮助我们跟踪代码的更改、管理代码版本,同时保证代码库的完整性和安全性。我们知道Git中有一些基本的操作,比如commit、merge、rebase等,但这些操作的底层机制是如何实现的呢?哈希函数和默克尔树扮演了非常重要的角色。本文将探讨Git中哈希和默克尔树的机制及其实际应用。什么是哈希函数?哈希函数是一种将输入数据转换为固定长度的输出(通常为字符串)的算法。G
- (代码可运行)Bootstrap框架的HTML示例
程序员大侠
前端CSShtmlbootstrap前端
Bootstrap:一套流行的前端开发框架,基于HTML、CSS和JavaScript,适用于快速构建响应式Web应用。以下是一个使用Bootstrap构建的简单响应式Web应用的HTML示例:BootstrapExampleHello,Bootstrap!CardtitleSomequickexampletexttobuildonthecardtitleandmakeupthebulkofthe
- **项目推荐:探索全球化的Web应用 —— Apache Sling I18N**
解然嫚Keegan
项目推荐:探索全球化的Web应用——ApacheSlingI18Nsling-org-apache-sling-i18nApacheSlingI18NSupport项目地址:https://gitcode.com/gh_mirrors/sl/sling-org-apache-sling-i18n在全球化日益加深的今天,软件和网络服务的国际化与本地化(I18N)变得至关重要。ApacheSling,
- 【Java】已解决:org.springframework.transaction.TransactionTimedOutException
屿小夏
java数据库开发语言
文章目录一、分析问题背景场景描述二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项已解决:org.springframework.transaction.TransactionTimedOutException一、分析问题背景在Spring框架中,TransactionTimedOutException是一种常见的事务超时异常。通常,这种异常发生在数据库操作时间超过了预设的事务超时时间
- 【Java】已解决:java.time.DateTimeException
屿小夏
javaandroid开发语言
文章目录一、分析问题背景场景示例:场景代码:二、可能出错的原因三、错误代码示例错误分析:四、正确代码示例改进后的代码示例:代码改进说明:五、注意事项在Java8引入的新日期时间API中,java.time.DateTimeException是一个常见的异常类型。它通常发生在处理日期和时间操作时,可能是由于无效的日期格式、时间超出范围或其他数据问题导致的。本文将详细探讨这一异常的背景、原因,提供错误
- log4j2 与 log4j使用时的几点小区别 - log4j2上手说明
CoderCodingNo
Java学习log4j单元测试
虽然log4j2目前还是beta版,不过OneCoder已经忍不住要尝试一下。跟使用log4j比起来,上手上主要的区别有。1、依赖的jar包。使用slf4j+log4j2时,依赖的jar包如下:(gradle配置,Maven对照修改即可)dependencies{compile("org.apache.logging.log4j:log4j-api:$log4j_version","org.apa
- 2020 年 Github 上最牛的 Java 进阶教程及 Java 实战项目都在这里了!
C陈三岁
javajavagithub开发语言面试架构
写在前面大家都知道Github是一个程序员福地,这里有各种厉害的开源框架、软件或者教程。这些东西对于我们学习和进步有着莫大的进步,所以我有了这个将Github上非常棒的Java开源项目整理下来的想法。觉得不错的话,欢迎小伙伴们去star一波。很多小伙伴都不知道学习什么开源项目,这篇文章定能为你解决疑惑。不论你想要看Java教程方向的开源项目、Java实战项目、SpringBoot教程还是说想要看微
- How To Write Shared Libraries(55)
i_need_job
3.2DefiningStability(4)Notmakingthechangescanhavenegativeresults.Blindlychangingthecodewilldefinitelyhavenegativeresults.MakingthechangeandstillmaintainingABIstabilityrequirestheuseofversioning.不标记改变会
- 算法知识点————【LRU算法】
shan_shmily
算法
思想:淘汰最久没有使用的应用场景:手机清后台的时候先清最久没有使用的应用设计一种数据结构:接收一个capacity参数作为缓存的最大容量,然后实现两个API,一个是put(key,val)方法存入键值对,另一个是get(key)方法获取key对应的val,如果key不存在则返回-1。要求:get和put方法必须都是O(1)的时间复杂度。哈希链表:哈希的查找配合双向链表的快速插入和删除classNo
- 【Python】已解决:ModuleNotFoundError: No module named ‘cv2‘
屿小夏
pythonopencv开发语言
文章目录一、分析问题背景示例代码片段二、可能出错的原因三、错误代码示例四、正确代码示例安装OpenCV库正确的代码示例五、注意事项已解决:ModuleNotFoundError:Nomodulenamed‘cv2’一、分析问题背景在Python开发过程中,图像处理是一个常见的需求,OpenCV(cv2)是一个广泛使用的图像处理库。当开发者在运行涉及图像处理的代码时,可能会遇到ModuleNotFo
- k8s的网络类型
QChestnut
kubernetes网络容器
1、k8s三种通信方式1.1pod内部的网络通信pod内部容器的通信,pod创建完成之后,集群会分配pod一个全局的唯一ip地址,所有的容器共享ip地址pod内部可以用本地通信+端口的形式互相通信1.2同一个node节点上的pod通信docker0网桥,同一个节点上的pod和docker的通信方式是一样的1.3不同节点上pod之间的通信想办法通过主机的物理网卡ip进行通信需要满足的条件:1、pod
- 应用基本期末
渔jy
Android系统及应用应用物联网
选以下哪些属于Java的三大特性:a.抽象b.封装c.面向对象d.分布式e.安全性f.平台独立以下哪些是Object的公用方法?a.equals()b.getContext()c.notify()d.toString()e.clone()int和integer两个谁更占用内存?a.Intb.integer“a==b”和“a.equals(b)”是否有区别?a.Yesb.No以下关于ArrayLis
- 移动端测试
渔jy
Android系统及应用androidlinux
三种移动端产品类型介绍移动端应用的测试其自身特点,和其他传统测试又有一些独特的测试方法与思路。移动端应用又可以进一步细分为三大类:WebApp指的是移动端的Web浏览器,其实和PC端的Web浏览器没有任何区别,只不过Web浏览器所依附的操作系统不再是Windows和Linux了,而是iOS和Android了。WebApp采用的技术主要是,传统的HTML、JavaScript、CSS等Web技术栈,
- Matlab实现BP-NSGA-II多目标预测优化方法
含老司开挖掘机
本文还有配套的精品资源,点击获取简介:本文涉及将遗传算法优化的BP神经网络与NSGA-II相结合,应用于多目标预测问题的解决。主要内容包括BP神经网络的学习原理、适应度函数的设计与应用、NSGA-II在多目标优化中的作用、多目标预测的策略以及Matlab工具在算法实现中的使用。本文旨在通过这些技术,帮助读者构建出能在多个相互冲突的目标间取得平衡的优化解决方案,并提供完整的Matlab代码实现,以供
- java class .method_java Class Method类的使用
weixin_39620629
javaclass.method
packagesample;/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/importjava.lang.reflect.Constructor;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflec
- maven工程使用sonar
tommyhxh
maven项目配置maven的setting.xml文件Maven插件会自动把所需数据(如单元测试结果、静态检测结果等)上传到Sonar服务器上,Sonar的配置并不在每个工程的pom.xml文件里,而是在Maven的配置文件settings.xml里。在标签添加:sonartruejdbc:mysql://10.16.8.96:3306/sonar?useUnicode=true&cha
- 【html+css网站设计】
小翔很开心
htmlcss前端
学习笔记:HTML基础概念1.vscode常用设置1.1打开文件1.2新建文件1.3自动保存(ctrl+S)1.4文件重命名1.5删除文件2.vscode常用快捷键2.1自动补全HTML基本结构2.2标签自动补全2.3复制当前行|复制多行2.4删除当前行|删除多行2.5单行注释|取消单行注释2.6多行注释|取消多行注释2.7统一编辑2.8生成多个2.9文字2.10打开浏览器2.11快捷键可以组合使
- 类方法、类实例方法和类静态方法(Python)
Qh果壳
python开发语言
目录1.类方法(ClassMethod)2.类实例方法(InstanceMethod)3.类静态方法(StaticMethod)在Python中,类方法、类实例方法和类静态方法是与类相关联的三种不同类型的方法。1.类方法(ClassMethod):类方法是通过装饰器@classmethod来定义的,它的第一个参数是类本身(通常被命名为"cls"),而不是实例。类方法可以通过类名调用,也可以通过实例
- 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独立出来,数据持