自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清心寡欲,做一个专注的程序员

交流,分享,提高,帮助,被帮助

  • 博客(38)
  • 资源 (33)
  • 问答 (3)
  • 收藏
  • 关注

原创 解决ssl java.security.cert.CertificateException: No name match

记录一次activemq ssl java.security.cert.CertificateException: No name matching localhost found的问题

2021-05-29 13:55:24 3929

原创 快去体验Java 9 模块编程视频教程

快去体验Java 9 模块编程视频教程

2017-10-05 17:35:31 3194

原创 Java 高并发第三阶段实战---Java并发包深入解析与使用详解

第三阶段的课程主要围绕着Java并发包的使用,展开详细的介绍,主要内容有1.原子包源码剖析,2.并发包工具类详细介绍,3.线程服务以及Future和callable等详细介绍,4.高并发容器和阻塞容器详细介绍

2017-10-05 17:28:02 5282 35

原创 Java 高并发第二阶段实战---高并发设计模式,内存模型,CPU一致性协议,volatile关键字剖析

第二阶段的课程主要围绕着Volatile关键字,内存重排序,Happen-Before,Cpu一致性协议,高并发下的设计模式以及类加载器几个大的方面展开,下面是内容详细信息,本教程是本人录制

2017-08-25 21:26:16 6315 3

原创 Java高并发编程之第一阶段,多线程基础深入浅出

汪文君高并发编程第一阶段01讲-课程大纲及主要内容介绍汪文君高并发编程第一阶段02讲-简单介绍什么是线程汪文君高并发编程第一阶段03讲-创建并启动线程汪文君高并发编程第一阶段04讲-线程生命周期以及start方法源码剖析汪文君高并发编程第一阶段05讲-采用多线程方式模拟银行排队叫号汪文君高并发编程第一阶段06讲-用Runnable接口将线程的逻辑执行单元从控制中抽取出来汪文君高并发编程第一阶段07讲-策略模式在Thread和Runnable中的应用分析汪文君高并发编程第一阶段08讲-构造Thr

2017-02-24 23:47:18 13908 39

原创 Apache Flume 1.7深入浅出,快速入门

汪文君Flume深入浅出实战视频-01-ApacheFlume的介绍.wmv汪文君Flume深入浅出实战视频-02-环境搭建,快速入门,快速启动一个Agent.wmv汪文君Flume深入浅出实战视频-03-Apache Flume的配置,Avro Agent的详细介绍.wmv汪文君Flume深入浅出实战视频-04-Apache Flume Agent的四种架构介绍.wmv汪文君Flume深入浅出实战视频-05-Apache Flume如何保证数据不丢失,源码级别的分析.wmv汪文君Flume深入浅

2017-01-09 16:27:28 3407 9

原创 Java 9 新特性快速预览

Java 8 已经出来三年多的时间了,原本计划2016年七月份release Java 9,但是基于种种原因,Java 9 被推迟到了2017年的3月份,本人也在Open JDK的官网上看到了Java 10的标准也在制定当中,Java的发展真的越来越快了,在Java 9正式发布之前,我们可以使用它的SNAPSHOT版本,先来体验一下Java 9 有哪些新的特性,下面的清单来自于官方文档,看着似乎很多,但是真正具有颠覆意义的其实就是Module System,其余很多主要是一些新的feature增加,还有一些

2016-12-11 13:22:54 57898 3

原创 02-Scala复杂类型入门

Scala Programming编程指南汪文君  目录目录 1写在最开始的话 22、Scala复杂类型入门 32.1 Scala中的数组 32.1.1 Scala数组介绍 32.1.2 万物皆对象 32.1.3 再谈Array元素的存取 42.2 Scala中的List 52.2.1 List基本用法 52.2.2 List的更多用法

2016-11-26 22:12:30 1737 2

原创 01.Scala快速入门

关于Scala这门语言,其实语法量比Java多很多,很多老外建议我使用Clojure,不要使用Scala,他们给出最大的一个槽点就是语法太多,用他们的话讲就是完成一件事,scala有太多的方式可供选择,这样反倒不太好,但是不管怎样,既然要去使用这么语言来糊口养家,那么就自动屏蔽一些否定的声音,也许他们说的有道理。另外一个很重要的话题是,如果你掌握了Java 8,其中一些函数式编程对知识,对学习Scala的帮助非常大,本人利用业余的时间录制了一套关于Java 8的视频教程,大概有40集,全部是针对Java

2016-11-20 17:59:23 7784

原创 powermock实战教学

1.PowerMock实战-01入门2.PowerMock实战-02PowerMock基本用法介绍3.PowerMock实战-03Mock局部变量的详细讲解4.PowerMock实战-04Mock静态方法详解5.PowerMock实战-05Mock final修饰的类详解6.PowerMock实战-06Verify的使用详细介绍7.PowerMock实战-07Mock构造函数详细介绍8.PowerMock实战-08ArgumentsMatcher的使用详解

2016-11-10 20:57:07 1574

原创 Java 8 实战教学大纲

Java 8 已经出来了两年的时间,很多公司在日常开发中已经全面使用Java 8带来的编程革新,本课程从细节一点一滴的介绍Java 8的变化和详细API的深入讲解,大纲大致如下所示1.让方法参数具备行为能力2.Lambda表达式初探3.Lambda语法精讲4.Lambda使用深入解析5.Lambda方法推导详细解析6.Stream入门及Stream在JVM中的线程表现7.Stream知识点总结Stream源码阅读

2016-11-10 20:56:10 2605

原创 Concordion实战教学

1.Concodrion入门介绍2.Concordion环境搭建3.Concordion快速入门4.Concordion断言Assert详细介绍5.Concordion命令介绍6.Concordion Execute详细介绍的好7.Concordion return value介绍8.Concordion return MultiValueResult 介绍

2016-11-10 20:55:06 1052

原创 hadoop平台下的数据导入导出工具Sqoop

1.汪文君Sqoop实战-01Sqoop介绍以及环境搭建2.汪文君Sqoop实战-02Sqoop数据导入命令import详细介绍3.汪文君Sqoop实战-03Sqoop批量导入,安全导入详解

2016-11-10 20:53:54 889

原创 Java8之Stream(3)

好了,背景知识介绍完成,并且我们在最开始也对Stream有了一个大致的了解,在本章中我们详细的介绍一下Stream,每一个示例都会有相应的代码配合,让读者理解更加的透彻。 对 Stream 的使用就是实现一个 filter-map-reduce 过程,产生一个最终结果,或者导致一个副作用(side effect),当我们使用流的时候,通常会包括三个基本的步骤:

2015-08-10 16:43:28 2983

原创 Java8之Stream(2)

Fork-Join编程模型出来的时间其实已经不算晚了,在Java 1.7版本中才被引入,做Unix C++开发的人早都掌握该项技能了,好饭不怕晚,在我们平时的工作中他还有很多的应用场景,比如你的任务很适合进行拆分,并且比较容易进行合并,提高程序的运行速度,但是我个人建议不能将获取资源的地方使用Fork,比如你要去网络读数据或者从数据库中读取数据,分开多个任务会导致网络以及数据库的压力,将处理过程Fork是一个不错的选择,获取数据除非特别需要,否则不要使用Fork增加并行,对资源提供者也会是一个不小的压力。

2015-08-10 16:40:43 2235

原创 Java8之Stream(1)

Stream是Java8中比较闪亮的一个新特性,但是它绝对不等同于IO包中的Stream和解析XML的Stream,JAVA 8中的Stream也不是一个容器,它绝对不是用来存储数据的,他是对JDK中Collections的一个增强,他只专注于对集合对象的便利,高效的聚合操作,它不仅支持串行的操作功能,而且还借助JDK1.7 中的Fork-Join机制支持了并行模式,你无需编写任何一行并行相关的代码,就能高效方便的写出高并发的程序,尤其在现在多核CPU的时代,最大程度的利用CPU的超快计算能力显得尤为重要

2015-08-10 16:36:47 3015

原创 Mustache模板技术,一个比freemarker轻量级的模板引擎

一、初识Mustache同样也是看Dropwizard才知道这个东西的,以前一直是知道诸如freemarker这样的模板引擎,这个是头一次听说,但是听周围的朋友说最早这个东西是出自于JS的,Dropwizard推荐使用这个东西,而且到mustache官网看了一下,发现十几种语言已经支持这个模板引擎技术,火热程度甚至超过了freemarker,看来到了不得不学的地步了,先来看看mustach

2015-05-26 15:16:43 12514 2

原创 WebSocket Java Programming入门-2(Programmatic)

在http://blog.csdn.net/wangwenjun69/article/details/45967849 中我们介绍了如何采用注解的方式来实现一个简单的WebSocket基本应用,在本篇中我们介绍一下编程的方式实现上一篇的例子为了完整期间,我还是将所有用到的配置以及代码都贴出来,读者不要认为我很繁琐即可1、Maven POM<project xmlns="http://m

2015-05-25 16:13:38 1210

原创 WebSocket Java Programming入门-1(annotated)

1、前言一直没有怎么做过前端的东西,但是最近的项目中,前端人员奇缺,公司又不安排新的人员进入,所以我这个后台开发人员只能拉过来坐前端了,前段的东西感觉一大堆,CSS,js自不必说,HTML生态圈就有很多的技术要去学习,好吧,那就一个一个的学习整理啦,先来说说最近这个项目的前端用到什么技术吧。1、Restful:DropWizard这个很简单,两天基本上就能拿下2、Js Framewor

2015-05-25 13:20:41 1783

翻译 TestNg(The Next Generation testing)--3

3、Testng.xml 你可以使用下面几种方法调用TestNg框架 3.1使用Testng.xml 3.2使用Ant 3.3使用命令行 这个小节,将会住要描述一下如何使用testng.xml,以及testng.xml的格式。testng.xml使用的是testng.dtd进行的约束,如果您对dtd标记语言非常熟悉,直接看这个文件即可读懂其中的意思和格式,dtd的描述如下所示:

2014-02-16 22:28:20 1694

翻译 TestNg--The next generation of testing--2

二、注解简介TestNG提供的注解方式比Junit4.x要丰富很多,在本章中,将简单翻译一下TestNg的注解以及描述信息。注解注解描述@BeforeSuite被注解的方法将会被最先执行在test suite之前。@AfterSuite被注解的方法将会被执行在test suite之后,也就是整个test之后执行

2014-02-16 22:01:29 1156

翻译 TestNg--The next generation of testing

一、TestNg简介       TestNg是一个测试框架,灵感来自于Junit和NUnit,但是增加了很多新的功能,让他显得要比junit和Nunit更加的强大,这也就是为什么他从一出道就号称是下一代单元测试框架的原因,在本节中,我们通过一个很小的例子,让大家体验一下,什么事testNg,并且进行一下简单的联系1、TestNg的官方网址,大家可以在上面进行下载http://test

2014-02-12 22:23:19 1366

原创 单元测试报表以及覆盖率报表

1、checkstyle统一规范代码的格式,注释的数量。2、junit进行代码的单元测试,并且在覆盖率上面有比较高的要求。3、dailybuild结合上述两者并且外加findbugs。4、除此之外,为了防止提交不合法的代码到SVN仓库,又做了SVN的控制,特意开发了SVN hooks,如果代码不符合checkstyle和单元测试,以及findbugs等要求,都会提交代码失败。

2013-11-25 22:45:49 3287 2

原创 JVM之---Java内存分配参数(第四篇)

1.内存分配参数---大纲Ø如何设置堆内存Ø如何设置栈内存Ø如何设置方法区Ø如何设置对的分配比率Ø设置参数打印堆栈;ØJava程序的两种模式:Server&Client

2013-08-18 13:22:18 1987

原创 JVM之---Java内存结构(第三篇)

通过前两节,我们了解到了java的大概内存结构,其实JVM的内存分布还是比较复杂的,并且各个java虚拟机不相同,内部结构会有相应的变化,有些时候我们将其理解为概念模型才不会有太多的烦恼,虽然前面的文字描述了那么多关于内存模型的东西,但是可能在你现在安装的JVM中未必就完全按照如此进行分布,需要视具体的版本而定。 为什么还要有这一小节的存在呢?本来想要开始java垃圾回收的文章,但是在整理垃圾回收相关资料的时候,我又决定,需要对堆内存做进一步的划分说明(其实这本身是JVM对垃圾回收的一个规范模型),这样,

2013-08-06 09:54:59 1754

转载 没有银弹:探讨 Java 8 新增特性的优缺点

Java 8或许是 迄今为止最令人期待的Java版本,最初定于今年的9月份发布,但由于一系列的安全漏洞问题,目前已推迟到明年的3月份。 Java 8试图“创新”,根据 微软对这个词的定义,就是把其他框架或语言里成熟的特性“偷”进来。在新版本发布之前,Java社区就已经开始讨论Lambda项目、Streams、函数式接口等其他好东西。下面就让我们一起来看下这些伟大的功能,看看它们

2013-08-06 08:53:12 1519

原创 JVM之---Java内存结构(第二篇)

在上一篇中我们大致了解了JVM的内存结构,在本节中,我们将通过一些小实验,来验证这些内存空间的存在,并且通过内存镜像文件(dump)来分析一下内存溢出的原因。 本节的内容主要有: 1、用代码验证JVM内存的存储内容 2、根据内存溢出的信息判断是那部分出现问题; 3、如何解决2中出现的问题;第一:堆内存溢出 java中的堆,主要存放Java对象的信息,想要JVM的堆出现溢出,只需要不断的创建对象,并且避免垃圾回收器回收这些对象,就可以做到让堆内存溢出,如何避免对象被GC,简单的说就是该对象还在被

2013-08-05 11:31:38 2278 1

原创 JVM之--Java内存结构(第一篇)

最近在和同事朋友聊天的时候,发现一个很让人思考的问题,很多人总觉得JVM将java和操作系统隔离开来,导致很多人不用熟悉操作系统,甚至不用了解JVM本身即可完全掌握Java这一门技术,其实个人的观点是,Java由于有了JVM才使这门语言简单上手,同时也正是因为Java有了JVM才使的Java这门技术很难深入了解。 在C/C++中我们可以很方便的new内存,delete内存,在内存的使用中我们拥有至高的权利,而Java则不行,JVM这一扇大门死死的堵住了内存的操作细节,你无法直接操作内存,所以你能

2013-08-04 17:58:52 4131 4

原创 OSWorkFlow深入浅出(7)---Step3详解

在《step2详解》中,我们介绍了split和join的使用,其实还是有一些细节的东西存在遗漏,所以决定增加着一个小节作为补充,在开始之前,我们先来思考两个问题第一:在初始化之后是否就可以进行split操作第二:split和join是否存在一些逻辑的影响,也就是说当某个条件成立执行split,当某个条件不成立则执行其他的step。上述两种情况,在工作流中是最合理不过的需求了比如,我们就

2013-08-04 15:33:30 2041 1

转载 7月份浏览器份额:IE仍最受欢迎 Chrome成最大赢家

北京时间8月2日消息,据美国科技博客TheNextWeb报道,2013的下半年,浏览器大战已然开始。日前,互联网分析机构Net Application公布了7月份浏览器市场份额情况,最新数据显示,Chrome是上个月最大的赢家。6月份和7月份之间,IE上涨了0.46个百分点(从56.15%到56.61%);Firefox则收缩了0.86个百分点(从19.15降至18.29%);以及Ch

2013-08-03 12:02:50 1388 2

原创 OSWorkFlow深入浅出(6)---Step2详解

在上一下节中,我们曾写道讲解了step的prefunction以及postfunction,其实都是标签层面的讲解,因为在后文中我们将要详细描述Function组建,这在osworkflow中占有非常重要的位置,上一节中还有两个step非常重要的概念,那就是split和join,我们在本节中详细说明。先来说说split和join的作用是什么,我们不妨来看看如下的状态图。通过上图可以

2013-08-01 23:16:18 1903 2

原创 Struts2原理分析,自己实现一个struts2

今天没有时间继续撰写关于osworkflow的源码剖析文章了,换一个思路,写一下struts2相关的东西,先来说说为什么要写这样的一个东西,公司有一套自主研发的云服务平台,CTO告诉我站在用户的角度,从头到尾部署自己的应用,让我写一个基于php的http应用和基于j2ee的http应用,php的昨天已经写完并且顺利部署,照常运行,今天本来要写java的,开始动手之前,我纠结一件事情,第一现在的ja

2013-07-30 23:37:30 2018 1

原创 OSWorkFlow深入浅出(5)---Step详解

昨天说了那么多,想必有些人对OSWorkFlow 有一个大体上的认识,但是还是不够详细,那么我们就对照着第一篇中的脑图进行逐个突破,先来说说最为重要的Step元素吧一个workflow的实例是由一个或者多个step组成,在某一个特定的时刻,workflow可执行的step也存在一个或者多个,甚至会有并发执行的情况(split我们在后面介绍),先来看看step的结构,从他的dtd来看最合适不过了

2013-07-29 22:46:30 2534

原创 OSWorkFlow深入浅出(4)---犹抱琵琶半遮面

经过前面几节的描述,我们基本上让第一个工作流运行起来了,但是很多人肯定都云里雾里的,配置文件为什么要这么些,doAction之流到底有什么用,有这些疑问在正常不过了,初次接触肯定会遇到诸如此类的问题,或许更有甚者,没关系,只要你有耐心阅读,那么我也会耐心的去写(谁怕谁啊!)1、工作流程我们为什么要定义helloworld.xml那样的文件,先来说说他所代表的意思吧,看看下面的这张活动图,然

2013-07-28 17:22:23 1871

原创 OSWorkFlow深入浅出(3)---让工作流起来

之前承诺过要逐一讲解first.xml的配置文件细节,但是在讲解这些节点之前,需要先让我们的helloworld飞起来,在这里,我们采用junit4进行测试,应此,读者除了需要将osworkflow所需要的jar文件加入到您的classpath之外,还需要将junit加入进来,话已至此,先让我们的osworkflow飞起来哈!1、HelloWorld单元测试。package com.wan

2013-07-28 16:51:32 2764

原创 OSWorkFlow深入浅出(2)---配置

1、配置描述在开始编写第一个OSWorkFlow之前,我们先来看看OSWorkFlow的配置,OSWorkFlow的最基本配置有,OSWorkFlow的最基本配置有三个,第一个用来配置OSWorkFlow的数据持久策略,流程引擎的清单文件,如下所示第一个是OSWorkFlow的主配置文件,这个文件名字保持不变,不要轻易去改变,因为osworkflow框架会在classpath下根据文件名寻找该

2013-07-28 16:01:10 2545

原创 OSWorkFlow深入浅出(1)---介绍

1、OSWorkFlow下载地址:osworkflow已经很久没有维护,官网上也没有专门的站点,只有zip包的下载,但是在官网上的zip包里面有很多unittest和demo,都是比较详细的,官方文档写的也每个点都覆盖到了,但是不够详尽,光看官方文档还是很难完全的掌握osworkflow。下载地址:https://java.net/downloads/osworkflow/2、OS

2013-07-28 15:21:07 5043 1

原创 OsWorkFlow深入浅出(清单)

最近在做一个项目,CTO指定要使用OSWORKFLOW作为工作流的引擎,该框架截至目前已经很少被更新,资料比较少,网上的很多资料也是来回雷同,除了对官方文档的翻译之外,一点都不够系统,翔实,鉴于此,编写一套系列文章,讲解osworkflow的使用,并且从源码的角度剖析osworkflow,本文将围绕如下的几点进行osworkflow系列文章的说明,文章中如果有错误的地方,希望大家不吝赐教。

2013-07-28 13:24:44 1773 2

汪文君Scala编程-02.Scala复杂类型入门

第二部分,快速掌握如何使用Scala常用的复杂类型数据

2016-11-26

汪文君Scala编程-01Scala快速入门

逐步介绍关于Scala的知识细节,掌握更多的Scala开发

2016-11-20

java 8 实战教程

Java 8 已经出来了两年的时间,很多公司在日常开发中已经全面使用Java 8带来的编程革新,本课程从细节一点一滴的介绍Java 8的变化和详细API的深入讲解,大纲大致如下所示

2016-11-06

汪文君powermock实战教学

Powermock是基于现有的mock框架,easymock和mockito而建立的一个非常强大的框架,它具备easymock和mockito所不具备的一些功能,该系列教材详细的说明了如何使用powermock的所有特性

2016-11-06

hadoop平台下的数据导入导出工具sqoop

hadoop平台下的一个非常好用的工具Sqoop,Sqoop是一个从关系型数据库中导入数据到大数据平台的有效工具,同样也可以将大数据平台中的数据导入到关系型数据库中

2016-11-06

Docker学习指南-06(Container间共享数据)

第六部分,Container与Host机之间共享数据,Container之间共享数据,Data volume在Docker中的用法

2015-11-22

Docker学习指南-04(DockerHub与私服详解

循序渐进的介绍Docker的各个只是细节,系列存书,这是第四册.pdf

2015-11-15

Docker学习指南-05(Container部署服务详解

非常详细的介绍Docker的使用,本章中介绍了Docker的Container部署发布服务

2015-11-15

Docker学习指南-03(Dockerfile详解)

详细介绍Docker的每一个只是细节,本册中主要介绍了Dockerfile的编写,各个指令的语法与用法

2015-11-01

Docker学习指南-02(Container详解)

Docker学习指南系列教程,由浅入深的介绍Docker的各个知识细节

2015-10-27

Docker学习指南-01(Docker介绍与安装)

Docker学习指南系列教程,由浅入深的介绍Docker的各个知识细节

2015-10-27

Java之Stream

比较详细的介绍Java 8新特性Stream

2015-08-09

PowerMock实战

全面介绍PowerMock的使用,帮助初学者彻底了解PowerMock的使用,提高代码的健壮性

2014-11-04

Redis比较全面的介绍

Redis比较全面的介绍,写的非常全面,也写的很辛苦,希望给大家带来帮助

2014-05-07

java持续集成

java,集成开发,hudson,sonar,ant,subversion,jacoco,junit

2014-05-07

一个mini版本的struts2实现

一个模仿struts2的简单实现,通过阅读该实例,您将知道struts2的大致工作原理和mvc的思想,并且您将熟练掌握annotation的应用以及反射技术的应用。

2013-07-30

1、Android概述.pptx

详细讲解android概述,命令等信息,希望大家能够喜欢

2012-12-28

2、Android View详解第一部分.pptx

总结Android中的View组件,希望大家多多指正

2012-12-28

4、Android View详解第三部分.pptx

很好的Android关于组件的讲解,希望大家能够喜欢

2012-12-28

5、Android Event详解.pptx

很好的Android关于事件的讲解,希望大家能够喜欢

2012-12-28

Java枚举类型编程(enumeration)

java枚举类型详细讲解,自己撰写的一本电子书,编写得很详细

2012-03-28

JDBC由浅入深-一本很详细的JDBC开发书籍

这是一本由我编写的JDBC书籍,其中详细的讲述了关于JDBC的用法,希望大家能够喜欢

2011-06-21

介绍SOA and Web Service.pdf

初学者的良师益友,最流行的技术SOA,建议大家下载好好学习一下,对web Services的掌握会有很大的提高

2009-03-04

QuickstartAxis2.pdf

快速掌握axis2的学习资料,最全,最好的资料文献

2009-03-04

Axis webservice 开发

相当好的axis学习资料,简单易学,很容易上手,结合实例讲解

2009-03-04

C# For Java Programmers

一本关于C#和java互相调用的书籍,主要讲解java,jni,C#以及他们之间相互协调工作

2008-09-22

Ant The Definitive Guide.pdf

一个全面讲解ant的文档,orally书籍,很不错的学习资料

2008-09-22

javascript轻松学习

轻松学习javascript,并且有好多简单易懂的例子

2008-04-21

spring_reference_inchinese_m2.pdf

是由夏昕编写的一本spring入门提高的电子书,很适合初学者学习,当然还可以作为有经验的参考书籍!把它贡献出来希望对大家有多帮助哈

2008-02-18

hibernate中文参考文档.pdf

hibernate中文参考文档.pdf从最基本的学习开始,引导你学习hibernate,爱上hibernate

2007-10-23

PLSQL程序设计

本书专门针对,PLSQL程序设计的初学者,或者开发者提供的一本书,内容丰富,循序渐进

2007-10-20

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

TA关注的人

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