自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(312)
  • 资源 (136)
  • 收藏
  • 关注

原创 VBox复制使用时序列号相同 解决

VBoxManage internalcommands sethduuid centos8.vdi

2021-03-04 13:54:06 290 1

转载 Failed with result ‘start-limit-hit‘ 解决方案

问题记录:docker.socket: Failed with result 'service-start-limit-hit'docker.service: Service RestartSec=100ms expired, scheduling restart.docker.service: Scheduled restart job, restart counter is at 3.Stopped Docker Application Container Engine.docker.ser.

2021-01-28 15:18:14 8063

原创 oauth2 AuthorizationServerConfigurerAdapter 引入 RedisTokenStore 问题

1、@Configurationpublic class RedisTokenStoreConfig { @Autowired private RedisConnectionFactory redisConnectionFactory; @Bean public TokenStore redisTokenStore(){ RedisTokenStore redisTokenStore = new RedisTokenStore(redisConne

2021-01-20 17:09:44 1153

转载 idea for mac 最全快捷键整理

一、Mac键盘符号和修饰键说明⌘ Command⇧Shift⌥ Option⌃ Control↩︎ Return/Enter⌫ Delete⌦ 向前删除键(Fn+Delete)↑ 上箭头↓ 下箭头← 左箭头→ 右箭头⇞ Page Up(Fn+↑)⇟ Page Down(Fn+↓)Home Fn + ←End Fn + →⇥ 右制表符(Tab键)⇤ 左制表符(Shift+Tab)⎋ Escape (Esc)二、Editing(编辑)⌃Space 基本的代码补.

2021-01-15 17:25:39 486

转载 Idea快捷键大全(Windows)

Ctrl快捷键 介绍 Ctrl + F 在当前文件进行文本查找(必备) Ctrl + R 在当前文件进行文本替换(必备) Ctrl + Z 撤销(必备) Ctrl + Y 删除光标所在行 或 删除选中的行(必备) Ctrl + X 剪切光标所在行 或 剪切选择内容 Ctrl + C 复制光标所在行 或 复制选择内容 Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面(必备) Ctrl ...

2021-01-15 14:42:11 66

转载 CentOS 8 安装 docker/docker-compose

安装依赖sudo dnf -y install yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo先装新版的 containerd.io访问镜像资料获取最新的安装包dnf -y install https://download.docker.com/li...

2021-01-12 10:37:49 228

转载 JVM堆内存与非堆内存(heap)官方详解

JVM堆内存与非堆内存(heap)官方详解JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的,如图:Java堆内存又溢出了!教你一招必杀技JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老年代(Old Generation),非堆内存就一个永久代(Permanent Generation)。年轻代又分为Eden和Survivor区

2021-01-07 11:02:54 998

原创 EFK 日志 docker

1、esdocker run -d -p 9200:9200 -p 9300:9300 -v /home/oper/es/data:/usr/share/elasticsearch/data -v /home/oper/es/logs:/usr/share/elasticsearch/logs --name=elasticsearch docker.elastic.co/elasticsearch/elasticsearch:6.8.62、filebeata、创建 ~/filebeat/fil.

2020-12-15 17:18:30 88

转载 docker network基础

前面介绍了nginx与php两个容器间是如何进行通信的:[root@docker ~]# docker run -d --name=php -v /www:/usr/local/nginx/html php[root@docker ~]# docker run -d --name=nginx --link=php:php -v /www:/usr/local/nginx/html -p 81:80 nginx[root@docker ~]# docker ps -aCONTAINER I

2020-12-14 09:54:11 371

转载 Spring实现IBMMQ的JMS消息发布/订阅模式

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springfr

2020-12-11 17:19:21 610

转载 webclient 异步处理请求头、体、异常

Mono<ClientResponse> clientResponse = WebClient.builder().build() .get().uri("https://stackoverflow.com") .exchange();clientResponse.subscribe((response) -> { // here you can access headers and status code ...

2020-12-10 19:35:40 768 2

原创 mysql 数据导入

mysql 数据导入1、sys_user.txtid,username,password,enabled,type,create_time,update_time52a002a2-8609-44db-8219-5e3a6fafb10a,scl0,$2a$10$/rkoMcipJlX8HwuQMWieQuvIKjgz3fAeKWBlk4oKftNL6fKo0f9Ya,1,BACKEND,2020-12-01 03:18:55,2020-12-01 03:18:5555616711-59e7-.

2020-12-09 16:41:25 99

原创 Jmeter

./jmeter.sh -n -t ../../test.jmx -l ../../test.jtl

2020-12-09 16:30:38 77

原创 influxDB cmd

influxcreate database testshow databases#创建管理员权限用户create user "username" with password 'password' with all privileges

2020-12-09 16:29:37 136 1

原创 部分容器化

1、skywalkingdocker run -d -p 9200:9200 -p 9300:9300 -v /home/es/data:/usr/share/elasticsearch/data -v /home/es/logs:/usr/share/elasticsearch/logs --name=elasticsearch docker.elastic.co/elasticsearch/elasticsearch:6.8.6docker run --name skywalking -d -p 1

2020-12-09 16:28:35 87

转载 logback的使用和logback.xml详解

logback的使用和logback.xml详解一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging logback-access:访问模块与Servlet容器集成

2020-12-09 16:05:55 125

转载 GC类型以及不同类型GC的搭配

jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)jdk1.9 默认垃圾收集器G1-XX:+PrintCommandLineFlagsjvm参数可查看默认设置收集器类型-XX:+PrintGCDetails亦可通过打印的GC日志的新生代、老年代名称判断jvm内存分配,以及gc算法在上两篇博客中已经有所介绍。接下来..

2020-11-24 14:56:11 352

转载 启动jar包时设置GC回收器类型,以及查看GC日志

1.查看当前所用的GC回收器,并根据自己需求选择使用合适的GC回收器:java -XX:+PrintCommandLineFlags -version如下图,当前使用的GC回收器为ParallelGC2.启动jar包时添加参数改变GC回收器类型:如设置成G1GC(demo.log为GC日志,demo.jar是你要运行的jar包)java -jar -Xms256m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xloggc:C:\demo.

2020-11-24 14:07:26 1146

转载 Google Guice依赖注入框架使用

Google Guice是一个轻量级依赖注入框架,和Spring类似。下面结合一些示例来讲解其使用方式。首先引入maven依赖:<dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>4.1.0</version></dependency>示例1:p...

2020-11-06 15:15:16 1951 1

转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方案

一、缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 二、缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案:接口层增加校验,如用户鉴权校验,id做基础校验,id<=0...

2020-10-16 13:38:58 82

转载 spring cloud 版本 与 spring boot 版本 对应关系

Spring Cloud Dalston, Edgware, and Finchley have all reached end of life status and are no longer supported.

2020-10-16 10:10:42 215

转载 机器学习:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

介绍:准确率(Precision)、召回率(Recall)、F值(F-Measure)是数据挖掘、机器学习和推荐系统中的评测指标。下图是不同机器学习算法的评价指标:本文的对象是二元分类器!在 介绍评价指标必须了解“混淆矩阵”混淆矩阵True Positive(真正,TP):将正类预测为正数类True Negative(真负,TN):将负类预测为负类数False Positive(假正,FP):将负类预测为正类数 -->> 误报(Type I error)

2020-09-20 14:56:41 805

转载 QPS和TPS的区别、负载和压力测试的区别

作为软件测试工程师,你应该要分清楚QPS和TPS的区别。QPS/TPS  QPS(Queries Per Second):每秒查询率,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。  TPS(TransactionsPerSecond):每秒事务数。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。  TPS

2020-09-19 11:18:44 2854

原创 java 并发同步

并发同步:1、wait方法用来使用线程等待某个条件,它必顺在同步块内部被调用,这个同步块通常会锁定当前对象实例标准使用方式:synchronized(this){ while(condition){ if(condition){ try{ object.wait; ...... }catch(exception e){ } }else{ ...

2020-09-11 09:39:02 110

原创 java throwable

java异常throwable 分为 exception、errorerror错误 程序无法处理的错误exception异常 程序本身可以处理的异常exception 分为 运行时异常、非运行异常[运行时异常、error] 为 不可检查异常 可不做处理 编译器不做强制 没有异常处理 也能编译通过[非运行时常] 为 可检查异常 必顺处理 否则编译不通过...

2020-09-09 10:22:36 176

原创 es 操作

查看状态curl '192.168.1.171:9200/_cat/health?v'节点列表curl '192.168.1.171:9200/_cat/nodes?v'查看索引curl '192.168.1.171:9200/_cat/indices?v'curl创建索引库curl -XPUT http://192.168.1.171:9200/blog01/使用curl插入一个文档curl -XPUT http://192.168.1.171:9200/blog01/artic

2020-09-08 18:49:53 95

原创 gremlin 操作图库

sh /opt/bigdata/janusgraph-0.4.1-hadoop2/bin/gremlin.sh:remote connect tinkerpop.server conf/remote.yaml session:remote consolegraph = ConfiguredGraphFactory.open("graph_test_new");g = graph.traversal();mgmt = graph.openManagement();g.V().valueMap(tr

2020-09-08 18:49:02 314

原创 janusgraph使用ConfiguredGraphFactory配置动态创建图

前言如果之前是使用固定的一张或多张图,修改为使用动态创建不会影响之前的数据。修改配置编辑conf/germlin-server/gremlin-server/gremlin-server.yamll,添加graphManager 修改graphs的值.一般情况都是将Janusgraph作为服务端,应用作为客户端使用代码连接,所以需要修改channelizer并且需要修改ScriptFileGremlinPlugin,去掉里面的scripts/empty-sample.groovy脚本。chann

2020-07-27 14:35:09 781

转载 JanusGraph 图数据库安装小记 ——以 JanusGraph 0.3.0 为例

由于近期项目中有使用图数据的需求,经过对比,我们选择尝试使用 JanusGraph。本篇小记记录了我们安装 JanusGraph 以及需要一起集成的 Cassandra + Elasticsearch 的过程。原文地址:https://www.cnblogs.com/xiaff/p/Install_JanusGraph.html本文提纲JanusGraph 简介 JanusGraph 的安装 Docker 安装 Cassandra 安装 Elasticsearch 安装 安装 J

2020-07-27 14:20:02 353

原创 Zookeeper找不到HBase的masterr的IP而是localhost

情景Java通过Zookeeper连接Hbase时,Zookeeper一直返回的是127.0.0.1给windows端的java,导致java连接不上hbase。zookeeper中的hbase里缺失master也会导致连不上。解决将master节点所在的虚拟机,hostname中127.0.0.1 localhost对应关系删掉,然后指定 127.0.0.1 真实Ip然后进入zookeeper:zkcli确认找到hbasels /结果:[hbase, zookeeper]..

2020-07-24 15:54:56 1555 1

原创 CentOS安装Hadoop、hbase单机版

一、首先安装JDK并设置环境变量二、安装hadoop2.9.2 2.1 下载hadoop2.9.2 地址http://mirrors.hust.edu.cn/apache/hadoop/common/放到 /usr/local目录下2.2解压 tar -zxvf hadoop-2.9.2.tar.gz2.3配置hadoop环境变量 vim /etc/profile 添加如下配置 export HADOOP_HOME=/usr/local/hadoop...

2020-07-17 17:23:45 356

转载 Hystrix 服务的隔离策略对比,信号量与线程池隔离的差异

hytrix支持线程池隔离和信号量隔离信号量隔离适应非网络请求,因为是同步的请求,无法支持超时,只能依靠协议本身 线程池隔离,即,每个实例都增加个线程池进行隔离先给个总结对比:隔离方式 是否支持超时 是否支持熔断 隔离原理 是否是异步调用 资源消耗 线程池隔离 支持,可直接返回 支持,当线程池到达maxSize后,再请求会触发fallback接口进行熔断 每个服务单独用线程池 可以是异步,也可以是同步。看调用的方法 大,大量线.

2020-07-06 18:34:15 1081

原创 Spring 元数据接口

Spring对很多常用的基本对象进行了封装和扩充,其中部分适用于平时开发使。这里记录下Spring封装的何种元数据接口。需要注意,以下参数或者返回的结果中的类名都为全限定名。ClassMetadata对Class的一层封装。String getClassName();boolean isInterface();boolean isAnnotation();boolean isAbstract();//非接口非抽象类boolean isConcrete();boolean is.

2020-07-06 08:33:57 1030

转载 java 实现 redis 对list进行排序

SORT命令介绍sort命令的基本格式SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]2、用法最简单的用法 SORT key 或 SORT key DESC 即升序或降序排序某个集合(集合存储的是数字)如果想排序字符串 需要添加ALPHA修饰符 如 SORT key ALPHA使用LIMIT 显示返回结果

2020-07-01 19:25:55 2681

转载 b+树图文详解

这一次我们来介绍 B+ 树。一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。一个m阶的B+树具有如下几个特征:1.有k个子树的中间节点包含有k个元素(B树中

2020-05-30 15:44:40 245

转载 Redis安装报错:“You need tcl 8.5 or newer in order to run the Redis test”问题解决

安装所遇问题在安装成功之后,可以运行测试,确认Redis的功能是否正常$ make test1出现报错:hadoop@stormspark:~/workspace/redis2.6.13/src$ make testYou need tcl 8.5 or newer in order to run the Redis testmake: *** [test] Error 1123解决方式安装tclwget http://downloads.sourceforge.net/tc

2020-05-27 09:58:40 551 1

转载 server.c:5171:176: 错误:‘struct redisServer’没有名为‘maxmemory’的成员

1、安装gcc套装:yum install cppyum install binutilsyum install glibcyum install glibc-kernheadersyum install glibc-commonyum install glibc-develyum install gccyum install make2、升级gccyum -y install centos-release-sclyum -y install devtoolset-9-gcc d

2020-05-27 09:55:34 8021 6

转载 解决 Could not find a version that satisfies the requirement torch==1.4.0

安装 torchvisionpip install torchvision结果显示:ERROR: Could not find a version that satisfies the requirement torch==1.4.0 (from torchvision) (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2)ERROR: No matching distribution found for torch==1.4.0 (from t

2020-05-14 15:18:21 15427 1

转载 Pytorch安装失败解决办法(pip install torch提示安装失败;import torch 提示 from torch._C import * ImportError: DLL l)

问题1:使用Python的pip 安装命令: pip install torch 会提示安装失败问题2:import torch 提示 from torch._C import * ImportError: DLL load failed:找不到指定模块安装环境:Windows Server 2012 R2Python 3.7PyTorch 1.0.0安装步骤:问题1:首先使用Python的pip 安装命令: pip install torch 会提示安装失败...

2020-05-14 14:29:53 3921

原创 整个网站变灰的样式

html { filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url("data:...

2020-04-26 18:45:08 127

PMP五大过程组与十大知识领域.txt

PMP 五大过程组 与 十大知识领域 关系图 txt

2017-11-24

导出数据库表结构成words

导出 数据库表结 word 加主键 外键

2017-10-12

Jenkins+docker-compose+swarm 构建持续集成及一键式部署

Jenkins mavn git docker-compose swarm 构建持续集成及一键式部署

2017-08-25

设计模式之禅(带书签文字版第2版).pdf

设计模式之禅(带书签文字版第2版).pdf

2017-07-07

DOCKER技术入门与实战 完整版 PDF电子书下载 带书签目录.pdf

DOCKER技术入门与实战 完整版 PDF电子书下载 带书签目录.pdf

2017-07-07

实战Gradle_中文完整版.pdf

实战Gradle_中文完整版.pdf

2017-07-07

pringmvc mybatis vecolity ecache

pringmvc mybatis vecolity ecache

2017-05-16

从Paxos到Zookeeper分布式一致性原理与实践.pdf

Paxos Zookeeper 分布式一致性原理与实践 pdf

2017-01-23

idea gradle 多模块开发

idea gradle 多模块开发

2017-01-23

netty file server 文件服务

netty file server 文件服务 实现 列表 上传 下载

2016-12-21

Netty 权威指南 第2版

Netty 权威指南 第2版

2016-12-07

JAVA NIO 简单PFT 文件服务

JAVA NIO 简单PFT 文件服务 上传 下载 列表

2016-11-30

HTML5 websocket 聊天

HTML5 websocket 聊天 java tomcat8

2016-11-15

java 同步阻塞并唤醒指定线程

java 多线程 同步阻塞 唤醒

2016-11-14

avro-1.7.7

avro 1.7.7 jar 包

2016-06-23

hadoop2.6.0 native-x84

hadoop2.6.0 native-x84 hadoop2.6.0 osx64 本地库

2016-06-22

Cenos6.5 vmware hadoop2.6.0 完全分式集群

Cenos6.5 vmware hadoop2.6.0 完全分式集群

2016-06-15

WBS+Chart+Pro+4.8a注册码及教程.rar

项目管理 工作分解 及 进度设计 工作 WBS+Chart+Pro+4.8a注册码及教程.rar

2016-03-30

spring4 struts2 mybatis3 maven3 整合

spring4 struts2 mybatis3 maven3 整合 测试正常 无误

2015-09-24

monitor 简易线状动态图

jquery html div 简易线状动态图

2015-09-24

sprin jms activemq 测试

sprin jms activemq 测试 两个 一个是jndi 一个是activemq

2015-07-03

考勤积分管理系统

考勤积分管理系统 用户管理 考勤管理 考勤统计

2015-03-30

权限管理系统

最基本的权限管理系统 包括权限树 用户管理 角色管理 用户角色 用户权限 角色权限模块 及界面权限 下载即可用 放到tomcat6 jdk6

2015-03-30

spring3 struts2 Mybatis3 组件注解 事务注解 管理系统框架实例

仅为保存资源,不建议下载 spring3 struts2 Mybatis3 组件注解 事务注解 管理系统框架实例 CREATE DATABASE `gszsk` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE `user_admin` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `username` varchar(100) COLLATE utf8_bin NOT NULL COMMENT '用户名', `password` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '密码', `realname` varchar(100) COLLATE utf8_bin NOT NULL COMMENT '真实姓名', `depname` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '部门名称', `mobile` varchar(15) COLLATE utf8_bin DEFAULT NULL COMMENT '手机号', `email` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '邮箱', `add_contact` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '联系地址', `flag` char(1) COLLATE utf8_bin DEFAULT NULL COMMENT '0:普通用户;1:管理员', `status` varchar(1) COLLATE utf8_bin DEFAULT NULL COMMENT '0:删除;1:可用', `createdate` datetime NOT NULL COMMENT '创建时间', `lastdate` datetime NOT NULL COMMENT '最后修改时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='管理用户';

2015-01-28

spring3 struts2 Mybatis3 组件注解 事务注解 实例

spring3+struts2+Mybatis3 组件注解 事务注解 实例 下载运行 创建mysql数据库 增加innodb类型表TEST(id,name)两字段即可,测试通过

2015-01-20

ajaxfileupload.js

ajaxfileupload js 异步文件上传 jquery

2014-09-28

Spring 3.x企业应用开发实战[完整版+书签].part2.rar

Spring 3.x企业应用开发实战[完整版+书签].part2.rar

2014-09-15

Spring 3.x企业应用开发实战[完整版+书签].part1.rar

Spring 3.x企业应用开发实战[完整版+书签].part1.rar

2014-09-15

队象及队象列表比对

队象及队象列表比对 反射 泛型 泛型方法

2014-08-01

spring boot jsm ibmmq topic queue

spring boot jsm ibmmq topic queue 两种方式实现

2020-12-11

k8s_deploy.tar.gz

rancher cli 自动化发布 模板 及 脚本

2019-11-01

mq-rancher.rar

rocketmq3.5.8 rancher 容器化编排 ,jdk8需要挂载主机

2019-07-10

fastdfs.zip

fastdfs docker 容器化存储文件系统 fastdfs支持容器化

2019-05-24

idea代码检查及格式化安装配置

idea 代码检查 格式化 安装配置

2019-04-15

react 容器化

react 容器化 发布

2018-12-07

rancher cli 自动化发布

rancher cli 自动发布

2018-12-07

导出数据库表结成words 代码

导出 数据库 表结 构成 words 代码

2018-07-09

泛型 反射 相关概念方法使用

泛型 反射 概念 方法 使用

2018-03-09

gradle构建测试 单项目 多项目 非约定结构

gradle 构建测试 单项目 多项目 非约定结构

2018-03-07

python解析DDL操作PDM

python 解析 DDL 操作 PDM

2017-11-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除