自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (28)
  • 收藏
  • 关注

原创 Mysql查询优化

一个好的web应用,最重要的一点是有着优秀的访问性能。数据库MySQL是web应用的组成部分,也是决定其性能的重要部分。所以提升MySQL的性能至关重要。MySQL性能的提升可分为三部分,包括硬件、网络、软件。其中硬件、网络取决于公司的财力,需要白哗哗的银两,这里就不说啦。软件又细分为很多种,在这里我们通过MySQL的查询优化从而达到性能的提升。最近看了一些关于查询优化的书籍,同时也在网上看一些前辈们写的文章。

2024-04-26 20:17:31 451

原创 MySQL 高可用:mysql+mycat实现数据库分片(分库分表)

- 设置表的存储方式.schema name="TESTDB" 与 server.xml中的 TESTDB 设置一致 -->-- mycat 逻辑主机dataHost对应的物理主机.其中也设置对应的mysql登陆信息 -->-- 设置dataNode 对应的数据库,及 mycat 连接的地址dataHost -->#访问 mycat (凭据参考 /usr/local/mycat/conf/server.xml)-- 任意设置登陆 mycat 的用户名,密码,数据库 -->

2024-04-26 20:12:49 714

原创 MySQL下载与安装

4.配置完环境变量之后,在F:\mysql\mysql-5.7.24-winx64\mysql-5.7.24-winx64目录下新增加一个配置文件mysql.ini ,同时在bin的同级目录下创建一个data文件夹(用于存放数据库数据)修改密码(必须先启动mysql),执行如下命令回车,enter password也回车,密码一般设置为root123,方便记忆。启动服务,输入如下命令 net start mysql ,回车,启动成功后如下图。3.我的电脑->属性->高级->环境变量。

2024-04-26 20:02:09 126

原创 分布式ID大型互联网公司方案总结

ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要对数据进行分表,而分表后,每个表中的数据都会按自己的节奏进行自增,很有可能出现ID冲突。这时就需要一个单独的机制来负责生成唯一ID,生成出来的ID也可以叫做分布式ID,或全局ID。下面来分析各个生成分布式ID的机制

2021-01-22 14:13:21 148

原创 Java中的锁原理、锁优化、CAS、AQS详解

一、为什么要用锁?锁-是为了解决并发操作引起的脏读、数据不一致的问题。二、锁实现的基本原理2.1、volatileJava编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。volatile在多处理器开发中保证了共享变量的“ 可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。结论:如果volatile变量修饰符使用恰当的话,

2020-12-22 11:42:29 265

转载 JVM性能优化 (一) 初识JVM

一、我们为什么要对JVM做优化在本地开发环境中我们很少会遇到需要对JVM进行优化的需求,但是到了生产环境,我们可能会有下面的需求:运行的应用“卡住了”,日志不输出,程序没有反应 服务器的CPU负载突然升高 在多线程应用下,如何分配线程的数量?本次使用的JDK版本为1.8二、JVM的运行参数在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行,绝大部分的参数保持默认即可。2.1 三种参数类型jvm的参数类型分为三类,分别是: 标准参数 -

2020-12-16 13:06:39 204

原创 MyBatis中#{}和${}的区别

一、在MyBatis 的映射配置文件中,动态传递参数有两种方式:#{}占位符${}拼接符二、#{}和${}的区别区别1、1)#{}为参数占位符?,即sql 预编译2)${}为字符串替换,即sql 拼接区别2、1)#{}:动态解析 ->预编译-> 执行2)${}:动态解析 ->编译-> 执行区别3、1)#{}的变量替换是在DBMS中2)${}的变量替换是在DBMS外区别4、1)变量替...

2020-10-29 12:19:38 208

原创 SpringMVC中使用redirect跳转后https变为http

方法一:配置文件修改ViewResolver的 redirectHttp10Compatible属性,这个属性是为了兼容 http1.0协议<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="...

2020-04-13 21:46:16 1050

原创 MySQL Explain执行过程

MySQL Explain执行过程-- 查看SQL执行过程,前面加上explain即可explain select * from table_name where 条件;expain查询出来的信息有12列,分别是id、select_type、table、partitions、type、possible_keys、key、key_len、ref、rows、filtered、Extra...

2019-12-06 16:09:25 434

原创 IDEA中SpringBoot与JSP整合路径正确找不到JSP页面

1、问题在IDEA中SpringBoot与JSP整合,项目启动后找不到jsp页面,但是在eclipse中是正常的,网上说的jar的作用域问题都不行,最后终于找到问题所在。2.、解决方法2.1、没有解决之前报4042)点击Edit Configurations > Environment > Working directory重启项目(依然是main方...

2019-11-26 10:47:49 914

原创 Memory Analyzer Tool MAT内存分析

1 安装MATMAT是有两种安装方式的,这一点与其他eclipse插件略有不同。一种安装方式是将MAT当做eclipse的插件进行安装:启动Eclipse --> Help --> Eclipse Marketplace,然后搜索Memory Analyzer,安装,重启eclipse即可。另外一种安装方式是将MAT作为一个独立的软件进行安装:去官网http://www.e...

2019-10-30 19:12:48 475

原创 Linux top命令的用法详解

一、top中一些字段的含义:VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:resident memory usage 常驻内存1、进程当前使用的内存大小,但不包括swap out2、包含其他进程的共享3、...

2019-10-29 15:30:12 311

原创 windows环境搭建Vue开发环境安装

windows环境搭建Vue开发环境安装一、安装node.js(http://nodejs.cn/download/)下载完毕后,可以安装node,建议不要安装在系统盘(如C:)。二、设置nodejs prefix(全局)和cache(缓存)路径(可以不设置)1、在nodejs安装路径下,新建node_global和node_cache两个文件夹2、设置缓存文件夹...

2019-04-15 15:52:59 306

原创 Docker使用

一、CentOS Docker 安装Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本前提条件目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Docker 运行在 CentOS-6.5 或更高的版本的 Ce...

2019-01-22 16:56:58 122

原创 Linux下Rabbitmq安装及配置

rabbitMq是erlang编写的,安装mq前先安装erlang一、Erlang的安装yum:erlang下载wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpmerlang安装yum insta...

2019-01-18 20:49:51 4901

原创 Spring Cloud Sleuth+Zipkin

二、SpringBoot 2.X整合Sleuth+Zipkin在微服务系统中,各个服务之间的调用关系比较复杂。一个 HTTP 请求可能会调用多个不同的微服务来处理,在调用过程中可能因为某个服务异常(网络延迟过高或发送错误)导致请求失败,所有需要有服务追踪来监控,方便快速定位问题点。Spring Cloud Sleuth 提供了分布式服务链路监控的解决方案。1、简介Zipkin(是Twitt...

2019-01-18 18:30:47 2177

原创 Spring Cloud Gateway

1、Spring Cloud Gateway1.1、简介Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,功能上比Zuul更加强大,性能也更好,随着Spring Cloud的版本迭代,官方有用Gateway取代Zuul网关的趋势。网关作为一个系统的流量的入口,有着举足轻重的作用,大致功能如下:路由转发、协议转换流量聚合,对流量进行监控,日志输出限...

2019-01-12 16:43:53 1158

原创 一、服务的注册与发现Eureka

一、Spring Cloud简介Spring Boot版本2.1.1.RELEASE,Spring Cloud版本为Greenwich.RC2。Greenwich版本的官方文档如下:http://cloud.spring.io/spring-cloud-static/Greenwich.RC2/single/spring-cloud.htmlSpring Cloud为开发人员提供了快速构建分...

2019-01-09 20:55:36 211

原创 SpringMVC(使用IE执行AJAX时返回JSON出现下载文件/@ResponseBody出现乱码解决方法)

一、避免IE执行AJAX时,返回JSON出现下载文件&lt;!-- 避免IE执行AJAX时,返回JSON出现下载文件 --&gt;&lt;bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"...

2018-12-06 11:08:05 583

原创 CentOS6-HAProxy安装与配置

1、Haproxy下载地址(下载1.7.9版本):http://www.haproxy.org/ 2、将haproxy-1.7.9.tar.gz上传至Centos下 3、安装&lt;span style="color:#000000"&gt;yum install -y gcc #安装gcc(CentOS没有安装gcc则需要先安装gcc,安装过gcc则忽略)tar zxvf hapro...

2018-11-29 14:14:57 1098 1

原创 Kafka环境的搭建(Windows)

1、安装JDK2、安装Zookeeper Kafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper  2.1、下载安装文件(zookeeper-3.4.9): http://mirror.bit.edu.cn/apache/zookeeper/ 2.2、解压zookeeper-3.4.9(解压到 E:\develop\Kafka\zookee...

2018-11-29 14:11:51 184

原创 Eclipse插件安装

eclipse的插件安装有3种方式。一、通过eclipse的SoftwareUpdates / Find and install... search for new features... 的二、下载插件文件,将其解压缩到eclpise对应的目录中。三、links文件方式。在eclipse目录中新建links目录。【推荐】第三种方式采用了无入侵的插件安装方式我们SVN为例采用第三种方...

2018-11-29 13:49:00 357

原创 HttpClient4.5 简单入门实例(一)

一、所需要的jar包   httpclient-4.5.jar   httpcore-4.4.1.jar   httpmime-4.5.jar二、实例package cn.tzz.apache.httpclient;import java.io.File;import java.io.IOException;import java.net.URL;import j...

2018-11-29 12:31:26 1410

原创 JSP自定义标签开发入门

一、自定义标签的作用  自定义标签主要用于移除Jsp页面中的java代码。二、自定义标签开发和使用2.1、自定义标签开发步骤1、编写一个实现TagSupport接口的Java类(标签处理器类)import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servl...

2018-11-28 23:17:31 421

原创 JavaWeb开发中防止表单重复提交

第一种方式:可以在客户端利用Javascript对表单重复提交作验证,主要实现手段是在这个表单触发表单提交事件的时候调用一个Javascript编写的函数,这个函数: &lt;script&gt; var isCommitted = false; function checkPost() { if(!isCommitted) {    isCommitted = true;  ...

2018-11-28 23:17:14 290

原创 设计 REST 风格的 MVC 框架

简介: 传统的 JavaEE MVC 框架如 Struts 等都是基于 Action 设计的后缀式映射,然而,流行的 Web 趋势是 REST 风格的架构。尽管使用 Filter 或者 Apache mod_rewrite 能够通过 URL 重写实现 REST 风格的 URL,为什么不直接设计一个全新的 REST 风格的 MVC 框架呢?本文将讲述如何从头设计一个基于 REST 风格的 Java ...

2018-11-28 23:16:57 116

原创 log4j日志配置

1、配置根Logger:log4j.rootLogger = [ level ] , appenderName, appenderName2level:日志的级别,指定这条日志信息的重要性。分为ALL &lt; DEBUG &lt; INFO &lt; WARN 一般常用的为 DEBUG , INFO ,WARN ,ERROR四种,分别对应Logger类的四种方法debug(Object ...

2018-11-28 23:16:20 124

原创 CentOS 搭建JDK环境

1、下载JDK1.8  2、将下载好的jdk包通过ssh上传到centos操作系统 3、解压安装包tar -vxzf jdk-8u151-linux-x64.tar.gz4、编辑系统环境变量vi /etc/profile并在文件最后添加:export JAVA_HOME=/usr/java/jdk8/jdk1.8.0_151   export PATH=$...

2018-11-27 20:23:27 120

原创 Linux常用命令

系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示C...

2018-11-27 20:23:17 264

原创 Eclipse关联GitHub实现版本控制

1、检查Eclipse中是否已安装Git插件,菜单栏Help -&gt; About Eclipse,查看是否有Git插件的图标。  2、现在的Eclipse下载后一般都提供Git插件了,若是没有Git插件,可使用菜单栏Help -&gt; Install New Software...,在Work with中输入http://download.eclipse.org/egit/upda...

2018-11-26 20:59:14 295

原创 Eclipse下svn的创建分支/合并/切换使用

在svn主干上创建分支,用分支来进行程序的bug修改,而主干上进行新功能的开发。分支上的bug修改完,发布后,可以合并到主干上。项目程序可以在主干和分支之间进行切换,来实现主干和分支的同时维护。1.创建分支创建分支实际上就是将程序copy一份到指定的分支目录,如下图示:在项目名称上点击右键,弹出菜单,选择“Team”,再选择“Branch/Tag”,弹出下面的页面:  上图...

2018-11-26 20:58:27 602

原创 EhCache 整合Spring 使用页面缓存

      Ehcache对质页面、对象、数据缓存,同时支持集群/分布式缓存。整合Spring、Hibernate也非常的简单,spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、LFU和FIFO多种淘汰算法,支持分布式的Cache,可以作为Hibernate的缓存插件。同时它也能提供基于Filter的Cache,该Filter可以缓存响应的内容并采用Gzi...

2018-11-26 20:55:56 147

原创 Redis+Sentinel集群安装与配置

1、安装环境集群机器 redis服务 哨兵(sentinel) 描述虚拟机:10.202.107.207 redis服务端口6379 sentinel服务端口26379 主节点虚拟机:10...

2018-11-26 20:55:36 330

原创 Redis+Jedis简单应用

一、jedis的简单应用1、导入jar包(jedis-2.3.0.jar)2、实例package cn.tzz.redis.simple;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.junit.Before...

2018-11-26 20:55:27 104

原创 Redis安装

1、安装1.1、Window 安装下载地址:https://github.com/dmajkic/redis/downloads。下载到的Redis支持32bit和64bit。根据自己实际情况选择打开一个cmd窗口 使用cd命令切换目录到 E:\sf-work\JAR\redis\32bit 运行 redis-server.exe redis.conf 。运行之后,会显示如下界...

2018-11-23 12:22:40 218 1

原创 SQL中的CASE WHEN用法

SQL中Case的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。一、简单Case函数CASE sex          WHEN '1' THEN '男'          WHEN '2' THEN '女' ELSE '其他' END 二、Case搜索函数CASE WHEN sex = '1' THEN '男'          WHEN sex = ...

2018-11-23 12:22:24 123

原创 SQL的JOIN、并集、差集、交集

1、Union形成并集       Union可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起形成新的结果集。       1.1、限定条件         要是用Union来连接结果集,有4个限定条件。         (1)、子结果集要具有相同的结构。         (2)、字结果集的列数必须相同。         (3)、子结果集对应的数据...

2018-11-23 12:22:12 13752

原创 mysql中event(定时触发)的使用

1、从MySQL5.1.6版本开始增加事件调度器(Event Scheduler),在使用这个功能之前必须确保event_scheduler已开启  1.1、开启event_scheduler,可使用以下方法 SET GLOBAL event_scheduler = 1; SET GLOBAL event_scheduler = ON; 在配置my.cnf文件 中加上 event_...

2018-11-23 12:22:01 3491

原创 linux下MySQL安装及常用操作

一、安装Mysql使用yum安装[root@yhy-gec local]# yum -y install mysql mysql-server这条命令同时安装了mysql客户端和mysql服务器端使用rpm安装centos7会自带一个mariadb,查看是否已安装rpm-qa|grep-imysqlrpm -qa |grep -i mariadb(centos7默认系统自...

2018-11-23 12:21:44 387

原创 Oracle job procedure 存储过程定时任务

oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的job,可以查询视图 --相关视图select * from dba_jobs;select * from all_jobs;select * from user_jobs;-- 查询字段描述字段(列) 类型 ...

2018-11-23 12:21:28 84

SpringCloud整套视频教程 (含资源)网盘

SpringCloud一套完整的视频教程包含资源,绝对真实,欢迎下载

2017-11-20

SpringBoot整套视频教程

SpringBoot一套完整的视频教程包含资源,绝对真实,欢迎下载

2017-11-20

jasperreports-fonts

jasperreports-fonts-6.0.0.jar

2016-04-19

springMvcHibernate

spring整合Hibernate例子

2015-12-23

spring书籍

包括spring开发指南,spring核心技术,spring in action

2015-01-30

video-js(视频播放器插件)

video-js(视频播放器插件),很好的视频播放器插件,兼容性好,集成简单。

2014-10-31

fancyapps-fancyBox(html页面相簿展示器)

html页面相簿展示器,类似与QQ空间中的相册展示形式

2014-10-31

Windows应用程序捆绑核心编程配套光盘源码

Windows应用程序捆绑核心编程配套光盘源码

2013-12-02

Spring邮件发送服务(java邮件发送)

Spring邮件发送服务(java邮件发送),支持多附件、多人发送/抄送/暗送

2013-07-30

spring邮件服务(java邮件发送)

spring邮件服务,实现java邮件发送功能,可实现多附件、多人发送/抄送/暗送

2013-07-30

JDBC导出所有表的Sql

JDBC导出所有表的Sql/Hibernate 导出所有表的Sql

2013-07-05

Linux命令大全

Linux 操作系统命命令大全(修改版).chm

2013-01-31

FusionCharts数据库实例

FusionCharts数据库实例图表统计,用springmvc 做控制器,使用spring 的VelocityEngineUtils技术动态生成模板xml

2012-12-07

amcharts数据库实例

amcharts数据库实例图表统计,用springmvc 做控制器,使用spring 的VelocityEngineUtils技术动态生成模板xml

2012-12-07

amcharts统计图表破解版

amcharts统计图表破解版、包括所有形式的(饼图、柱状、线形。。。)

2012-12-07

仿京东商城商品分类菜单

仿京东商城商品分类菜单,与京东商城左侧分类菜单类似

2012-12-07

3.仿淘宝网多级分类列表菜单代码.html

仿淘宝网多级分类列表菜单代码,可支持三级以上

2012-12-07

鼠标移到Image上方时显示文字效果

鼠标移到Image上方时显示文字效果,仿腾讯微群广场显示效果,鼠标移动到图片上方,显示一个与图片大小一样的半透明文字框

2012-12-07

鼠标移动到文字上方显示悬浮菜单支持显示与隐藏

鼠标移动到文字上方显示悬浮菜单支持显示与隐藏,当鼠标移动到文字上方,弹出悬浮菜单,鼠标移出文字或移出悬浮菜单,菜单隐藏

2012-12-07

FusionCharts

FusionCharts jar包用于统计生成图形结果

2012-06-01

FusionCharts图表控件中文版使用手册

FusionCharts图表控件中文版使用手册 , jsCharts用法

2012-06-01

Observer(观察者模式)学习源码

Observer(观察者模式)学习源码,该源码讲述并Observer(观察者模式)一些具体实现过程

2011-08-26

java工厂系列设计模式源码与文档

public class ClassXmlPathApplicationContext implements BeanFactory { private Map<String, Object> map = new HashMap<String, Object>(); public ClassXmlPathApplicationContext(String fileName) throws Exception, IOException { SAXBuilder sb = new SAXBuilder(); Document document = sb.build(this.getClass().getClassLoader().getResourceAsStream(fileName)); Element root = document.getRootElement(); List list = XPath.selectNodes(root, "/beans/bean"); for(int i = 0;i<list.size();i++){ Element bean = (Element) list.get(i); String id = bean.getAttributeValue("id"); String clazz = bean.getAttributeValue("class"); map.put(id, Class.forName(clazz).newInstance()); } } @Override public Object getBean(String id) { return map.get(id); }

2011-08-24

java常用的二十三种设计模式

java常用的二十三种设计模式简单介绍,描述这些设计模式的适用场景

2011-08-24

commons-io-2.0.1

用于web开发中文件上传下载时使用的io包, 资源包中包括jar包和开发使用的API文档

2011-03-26

commons-io-2.0.1

用于web开发中资源上传下载时使用的io包。 commons-io-2.0.1包括jar包和开发文档。

2011-03-26

commons-fileupload-1.2.1

WEB开发中,用于上传和下载文件 //得到上传文件的保存目录 String uploadpath = this.getServletContext().getRealPath("/WEB-INF/upload"); String temppath = this.getServletContext().getRealPath("/WEB-INF/temp"); try{ DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(temppath)); ServletFileUpload upload = new ServletFileUpload(factory); //upload.setFileSizeMax(1024*1024); upload.setHeaderEncoding("UTF-8"); if(upload.isMultipartContent(request)==false){ return; } upload.setProgressListener(new ProgressListener(){ public void update(long pBytesRead, long pContentLength, int pItems) { System.out.println("文件总大小为:" + pContentLength +",当前已上传:" + pBytesRead); } }); List<FileItem> list = upload.parseRequest(request); for(FileItem item : list){ if(item.isFormField()){ String name = item.getFieldName(); //拿到输入项的名称 String value = item.getString("UTF-8"); //value = new String(value.getBytes("iso8859-1"),"UTF-8"); System.out.println(name + "=" + value); } else{ try{ InputStream in = item.getInputStream(); //获得与文件相关联的输入流 String filename = item.getName(); filename = filename.substring(filename.lastIndexOf("\\")+1); //String ext = filename.substring(filename.lastIndexOf(".")+1); //adfdfsdfsfd -1 5 if(filename==null || filename.trim().equals("")){ continue; } String saveFilename = makeFilename(filename); String savePath = makeSavePath(saveFilename, uploadpath); FileOutputStream out = new FileOutputStream(savePath + "\\" + saveFilename); byte buffer[] = new byte[1024]; int len = 0; while((len = in.read(buffer))>0){ out.write(buffer, 0, len); } in.close(); out.close(); }finally{ if(item!=null) item.delete(); } }

2011-03-26

commons-dbutils-1.2-bin

公司中有很多公司都使用dbutils-1.2框架,学习成本低,效率快,资源包中包括Jar文件和API文档。

2011-03-19

空空如也

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

TA关注的人

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