自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 收藏
  • 关注

原创 一看就懂的设计模式〖三〗建造者模式

一看就懂的设计模式〖三〗建造者模式一. 建造者方法二. 具体实现2.1 上代码2.2 建造者模式另外一种使用制作不易,转载请标注~仓库链接一键直达一. 建造者方法创建者模式又叫建造者模式,是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。优点1.使操作获取对象的人不再关心内部对象构建的逻辑,把内部的建造过程和细节隐藏起来2.将代码封装复用,提

2021-09-18 15:56:44 19 3

原创 Java Stream如何写出高雅又装*的代码

Java Stream如何写出高雅又装*的代码一. 冷静分析二. 直接开装2.1 初级炫2.2 普通炫2.3 高级炫2.4 再炫一波 拿到当前key与对应的数量2.5 Map Reduce炫好家伙直接装一波,直接起飞~ 制作不易,转载请标注git仓库直达如何让同事看不懂你写的代码 然后觉得你非常牛逼 这里用到了stream()与Lambda 需要有点基础,没基础你炫个????优雅永不过时~ 看下面文章时记得穿燕尾服 拿高脚杯List<String> strings = Lists.ne

2021-08-18 19:28:33 488 6

原创 一看就懂的设计模式〖二〗模板模式

一看就懂的设计模式〖二〗模板模式一. 模板方法二. 直接上饭制作不易,转载请标注~仓库链接一键直达一. 模板方法看不懂的说就是模板方法是一个比较简单的模式。它的主要思想是,定义一个操作的一系列步骤,对于某些暂时确定不下来的步骤,就留给子类去实现好了,这样不同的子类就可以定义出不同的步骤。明白的说一看到模板模式,首先想到肯定会有很多模板,每个模板类型结构一样,实现着不同的方法例如我们去恰饭,不管你吃什么饭,肯定只有那几个步骤进到饭店拿到菜单吃饭~付钱~二. 直接上饭定义一个抽象

2021-08-17 19:34:09 23

原创 一看就懂的设计模式〖一〗Spirng实现的策略模式

设计模式〖一〗Spirng实现的策略模式一. 代码里的if else二. 什么是策略模式?2.1 ''干什么''代码2.2 具体的策略2.3 "怎么干"代码后面会更新别的模式,学到了的话记得三连~仓库链接一键直达一. 代码里的if else如下图,例如你写一个方法里面带着多重判断,一开始你可能觉得能看得懂,但是慢慢的方法体里面代码增多,type类型也不止几种,到时候你一个方法里面的代码行数可能成吨上涨,最后来维护代码的人一定炸裂~二. 什么是策略模式?同上代码,我们可以看出一个方法里面需要通

2021-08-11 14:27:11 38

原创 记录报错 java.lang.IllegalStateException: Failed to load interface org.mockito.plugins.MockMaker

找了一下午,终于解决记录报错 java.lang.IllegalStateException: Failed to load interface org.mockito.plugins.MockMakerIDEA打开这个按照箭头打开把这个添加进来就OK,别问为什么按着做就行大功告成!

2021-07-15 19:00:52 79

原创 你的项目里不会还没用单点登录吧

JWT〖二〗Springboot与JWT单点登录实现一. 单点登录二. 废话不多说,上代码2.1 AOP代码制作不易,转载请标注~一. 单点登录如图,下图为运用token来实现的登录系统,客户端第一次请求使用密码与账户来服务端换取token,拿到token后存在浏览器缓存中,然后每次请求新的资源携带上当前的token来验证是否为已登录的用户,JWT在上一篇博客中已经介绍很详细了,家人们不懂的话可以去看看JWT博客有人问我为什么要单点登录,不会吧不会吧,真就敢数据罗奔啊,当你用户数据被篡改了,你学生数

2021-04-16 20:30:34 115 1

原创 SkyWalking8.4监控跨线程问题解决

SkyWalking8.x监控异步跨线程问题一. 异步多线程问题添加依赖开启异步多线程测试类方法Controller层处理分析二. 指定跟踪上下文的K-V制作不易,求一个点赞+关注~~一. 异步多线程问题首先,Skywalking是一款基于java代理的监控系统,但是在监控多线程跨线程的时候却会意外失联,这就让我们没办法去追踪调用链路问题类似于下图@GetMapping("/task1") public CommonReturnType task1() throws Exception

2021-02-23 14:59:07 1968 4

原创 SkyWalking8.4集成日志收集相关问题

SkyWalking8.4集成日志收集一. 本地搭建1.1 初始化一. 本地搭建1.1 初始化首先你得支棱起来,参考我上一篇搭建,但是我上一篇基于8.3,这边需要下载8.4版本才能开启日志收集系统搭建Skywalking博客

2021-02-20 17:00:41 6795 33

原创 SkyWalking8.x远程搭建监控平台,分布式链路追踪,看完不会你来*我

SkyWalking搭建监控平台前言一. 初始化SkyWalking8.x(本地)1 修改配置2. 开启监控二. 远程监控开启1 修改配置2 启动jar包进行监控前言随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,所以会深深的感受到 “银弹” 这个词是不存在的,每种架构都有其优缺点 。最近在搞东西的时候突然老大要求做个平台监

2021-02-08 17:11:53 3838 8

原创 不会还有人不会用Docker搭建Mysql主从吧?看这一篇就够了

Mysql系列学习〖一〗基于Docker的Mysql主从复制搭建一. 前置工作1.1 安装docker1.2 拉取mysql镜像二. 集群搭建2.1 主从运行2.2 Master配置三. 配置Slave四. 开启主从复制功能五. 踩坑一. 前置工作1.1 安装docker我都docker版本号[root@iz2zec8miiew8671q6vst1z ~]# docker -vDocker version 1.13.1, build 7f2769b/1.13.11.2 拉取mysql镜像安

2021-01-28 17:43:24 117

原创 JWT〖一〗token单点登录认证逻辑实现

JWT〖一〗token单点登录认证逻辑实现一. 什么是JWT1.1 什么时候你应该用JSON Web Token1.2 认证流程1.3 JWT优势在哪?1.4 JWT具体包含信息二. 实战演示2.1 整合pom2.2 测试JWT加密过程三. 封装工具类四. JWT 整合SpringBoot一. 什么是JWTJSON Web TokenJSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被

2020-12-01 20:21:20 1637 5

原创 Dubbo&ZooKeeper〖二〗让你知道什么是Dubbo远程调用

Dubbo&ZooKeeper〖二〗让你知道什么是Dubbo远程调用一. 什么是Dubbo二. 废话一波三. 准备工作3.1 安装Zookeeper作为注册中心3.2 项目目录结构3.3 建议大火们,把手找回来四. 开始建Demo4.1 新建父项目dubbo_demo4.2 新建dubbo_api模块4.3 新建dubbo_provide4.3.1 POM文件引入api的依赖4.3.2 项目目录4.3.3 实现api里的接口4.3.4 新建测试类4.3.5 resource下新建两个配置xml4.4

2020-07-28 17:00:49 202

原创 Java不知道怎么学?吐血整理自己刷题与学习记录

哪里不会点哪里~LeetCode-Nowcoder-DataStruct一. BUFFcode 记录牛客网的刷题记录二. DataStructure 数据结构三. DynamicProxy 动态代理四. JUC Java.util.concurrent 并发编程艺术五. LeetCode 记录力扣刷题六. NIODemo NIO网络编程这些自己整理而成的东西,转载一定要标注哦~~git仓库点开直达LeetCode-Nowcoder-DataStruct记录日常刷题与数据结构,包含以下 个大包一.

2020-06-12 15:45:57 1011 2

原创 缓存的双写一致性解决方案 解决redis与mysql数据一致性 看不懂的你来打我~
原力计划

缓存的双写一致性一. 何谓双写一致性二. 解决方案2.1 先更新数据库,再更新缓存2.1.1 问题1 每秒一万次改请求,一次读请求?2.2 先删除缓存,再更新数据库2.3 先更新数据库,再删除缓存2.4 最终问题制作不易,转载都请标注 ~ ~你看不懂,你也打不着我啊~前言此篇章为分析如何将redis的缓存与mysql数据同步的解决方案,本人参照各路大神的解决方案汇聚而成,难免会有错误的地方,肯定各路大神评论区无情鞭挞~~一. 何谓双写一致性你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是

2020-06-11 16:24:46 2184 4

原创 Linux 常用命令大全〖二〗CPU内存查看篇

Linux我的私房菜-进阶版 CPU内存查看篇一. top命令1.1 uptime二. vmstat2.1 查看所有cpu核信息2.2 每个进程使用cpu的用量分解信息三. free一. top命令1.1 uptime简写版本的负载情况二. vmstatvmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数单位是秒,第二个参数是采样的次数 vmstat -n 2 3 代表每两秒采样一次,共计采样三次procsr: 运行和等待CPU时间片的进程数,原则上1核的

2020-06-09 11:03:26 348

原创 传输设备基础知识〖 一篇就看懂〗
原力计划

传输的基本知识〖 一篇就看懂〗一. 传输网概念1.1 传输设备在通信网的位置1.2 演进过程1.2.1 PDH(准同步数字系列)特点1.2.2 SDH(同步数字传输体制)特点1.3 SDH设备实现的要点1.4 PDH与SDH的标准速率等级1.5 帧结构二. 传输网特性2.1 SDH信号复用映射结构2.2 容器2.3 虚容器2.4 支路单元2.5 管理单元2.6 支路单元组和管理单元组2.7 SDH传输网的网络管理三. 网络举例四. 传输网性能4.1 误码4.2 传输网性能参数4.3 抖动4.4 漂移4.5

2020-06-02 15:55:26 3147

原创 Java〖 LRU缓存机制〗力扣146手撕LRU
原力计划

Java〖 LRU缓存机制〗力扣146一. 分析 LinkedHashMap1.1 LinkedHashMap实现1.2 上代码(LinkedHashMap实现)二. 手写LRU2.1 分析2.2 双向链表2.3 LRU实现类制作不易,转载请标注~运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。

2020-05-26 15:58:28 271

原创 微信小程序开发〖四〗项目前端篇 社团项目

微信小程序开发〖四〗项目篇一. 基础页面二. 活动详情页面三. 用户页面四. 社团页面五. 社团管理者页面六. 项目托管制作不易,转载请标注~最近花了几个月的时间,搞了一下项目,也是总结了一下之前学习的经验,和把学到的中间件用了一遍,写了个伪秒杀,微信小程序前端用的VantUI,本人不是写前端的,所以页面可能有些丑,先看看大概吧~(源码在最后)由于gif格式太大,我放到图片服务器上你们点开链接看看gif微信小程序整体gif微信小程序生成Excel文档gif一. 基础页面二. 活动详情页面

2020-05-22 16:02:53 1020 3

原创 Java〖链表〗各种单链表的面试题,你真的做得出来吗

Java 实现链表实现功能大佬们看着点喷 orz 给跪了实现功能链表无序加入数据打印所有节点信息有序插入节点修改节点数据删除节点获取链表有效节点个数获取倒数第K个节点(思路:定义两个指针变量一开始指向头节点,让第一个first先走k-1步,然后第二个second跟第一个一起走,当第一个走到头后,输出第二个就是倒数第K个元素)用栈来反转链表使用头插法反转链表将两个有序的链表合...

2020-05-06 15:39:30 166 1

原创 Java〖NIO篇〗看这一篇就够了 缓冲区 通道 阻塞式非阻塞式IO
原力计划

Java NIO一. NIO与IO区别二. 缓冲区2.1 直接缓冲区与非直接缓冲区三. 通道3.1参考课程PS: 之前一直想了解这个NIO到底是什么东西,奈何目前用不到,听说现在许多框架都在用,而且面试的时候也有被问道,感觉还是去多了解了解底层怎么实现的~~这是我的第100篇博客!!!一. NIO与IO区别NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Sel...

2020-05-04 21:21:22 407

原创 微信小程序开发〖二〗开发登录页面,判断授权,校验登录态 前端与后台springboot代码
原力计划

微信小程序开发〖二〗开发登录页面,判断授权,校验登录态一. 微信小程序登录展示(Gif图)二. 微信小程序端三. Springboot后台其实看看代码大家就都懂了~学习嘛,乐在其中,再过两天写几篇面经,美团爸爸捞我啊!!!一. 微信小程序登录展示(Gif图)二. 微信小程序端这里只展示一下js的逻辑,页面代码你们想看的话,等我把这个小程序做出来放源码checksession -> ...

2020-05-03 21:30:53 1990

原创 Java 手写二分查找算法(找出全部下标),递归与非递归实现
原力计划

Java 手写二分查找算法,递归与非递归你要走二分查找,你首先得支楞起来啊~(数组有序)一.递归实现二. 非递归实现大佬们,把你们的优秀代码展示出来啊~(例如Python一行?),嘤嘤嘤~二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。你要走二分查找,你首先得支楞起来啊~(数组有序)一...

2020-05-01 21:12:01 305 4

原创 Java 面试大全〖十〗死锁产生及排查

Java 面试大全〖十〗死锁产生及排查产生死锁理论代码小总结~ 三板斧死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,荐无外力干涉那它们都将无法推进下去,如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。产生死锁package JUC;import java.util.concurrent.Tim...

2020-04-29 21:01:16 156

原创 Java 面试大全〖九〗多线程实现生产者消费者模式三种方法
原力计划

Java 面试大全〖九〗生产者消费者模式一. synchronized实现二. Lock实现三. 阻塞队列实现生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理...

2020-04-21 23:55:50 653

原创 Springcloud-Alibaba 〖十五〗Sentinel〖中篇〗热点参数限流 系统规则 SentinelResource配置
原力计划

Springcloud-Alibaba 〖十五〗Sentinel一. 热点参数限流二. 热点规则配置2.1 8401项目新增方法2.2 Sentinel配置热点规则2.3 测试2.4 热点规则高级配置三. 系统规则3.1 参数列表四. SentinelResource配置4.1 8401项目新增依赖4.2 新增Controller RateLimitController4.3 新增限流规则4.4...

2020-04-20 20:55:18 783

原创 Springcloud-Alibaba 〖十四〗Sentinel〖上篇〗 流控 降级
原力计划

Springcloud-Alibaba 〖十三〗Sentinel一. Sentinel是什么?官网地址: Sentinel百度云下载地址: Sentinel-DashBoard1.7.0 提取码:gkaq一. Sentinel是什么?Sentinel: 分布式系统的流量防卫兵Sentinel 具有以下特征:丰富的应用场景: Sentinel 承接了阿里巴巴近 10 年的双十一大促流...

2020-04-10 16:56:00 920

原创 Springcloud-Alibaba 〖十三〗终于等到你 Nacos来啦!! Nacos做服务配置中心和持久化配置
原力计划

Springcloud-Alibaba 〖十二〗Nacos来啦!! Nacos作为服务配置中心一. 新建cloudalibaba-config-nacos-client3377模块1.1 项目结构1.2 pom1.3 配置文件1.4 主启动类1.5 业务类1.6 测试一. 新建cloudalibaba-config-nacos-client3377模块1.1 项目结构1.2 pom<...

2020-04-07 20:03:24 872

原创 Springcloud-Alibaba 〖十三〗终于等到你 Nacos来啦!! Nacos做服务注册中心
原力计划

Springcloud-Alibaba 〖十二〗Nacos来啦!!一. Springcloud-Alibaba二. Nacos安装三. Nacos做服务注册中心 9001项目3.1 项目目录3.2 pom3.3 application.yml3.4 主启动3.5 业务类controller层3.6 测试四. 集群测试4.1 配置集群(偷懒的办法~)4.2 测试4.3 为了更好演示集群,这里还是重新...

2020-04-01 14:40:54 672 2

原创 Springcloud-Alibaba 〖十二〗Springcloud Stream 整合Rocketmq 简化消息生产者与消费者 消息总线BUS概念
原力计划

Springcloud-Alibaba 〖十一〗Springcloud Stream 整合Rockermq一. 消息总线先放放,感觉现在用不到二. Springcloud Stream没Rocketmq基础的同学来这: [来看这里!!!](https://blog.csdn.net/kingtok/article/details/104212625)之前早已准备好的博客~~三. 新建module ...

2020-03-31 14:52:40 2289 1

原创 Springcloud-Alibaba 〖十一〗SpringConfig 主配置中心与从配置中心单价,动态刷新实现
原力计划

Springcloud-Alibaba 〖十一〗Config一. 分布式架构面临的问题二. Config能干吗?三. 新建module cloud-config-center-3344,是cloud的配置中心模块3.1 项目目录3.2 pom3.3 application.yml3.4 主启动类3.5 测试3.6 总结四. 新建客户端module cloud-config-client-335...

2020-03-29 20:35:44 787 2

原创 Springcloud-Alibaba 〖十〗微服务网关Gateway 动态路由 断言Predicate 自定义GlobalFilter
原力计划

Springcloud-Alibaba 〖十〗微服务网关Gateway一. 什么是Gateway网关?二. Spring Cloud Gateway具有如下特性三. 新建module cloud-gateway-gateway95273.1 项目目录3.2 pom3.3 application.yml3.4 主启动3.5 测试3.6 路由的另外一种配置方法四. 动态路由五. Gateway 常用的...

2020-03-29 12:04:17 1511

原创 Springcloud-Alibaba 〖九〗Hystrix篇 服务降级,服务熔断,服务限流,图形化界面
原力计划

Springcloud-Alibaba 〖九〗Hystrix篇一. 分布式系统面临的问题1.1 服务雪崩二. Hystrix是什么?一. 分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地损失的。1.1 服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的"扇出"。如果...

2020-03-28 00:12:09 3345 5

原创 Springcloud-Alibaba 〖八〗OpenFeign篇
原力计划

Springcloud-Alibaba 〖八〗OpenFeign篇一. 什么是Feign?二. OpenFeign与Feign区别三. 服务调用cloud-consumer-feign-order80模块3.1 目录结构3.2 改pom3.3建 application.yml 配置文件3.4 主启动类3.5 业务类3.6 测试四. 超时控制五. 日志打印5.1 日志功能5.2 日志级别5.3 添加...

2020-03-25 16:13:26 1816 5

原创 Springcloud-Alibaba 〖七〗Ribbon篇 打开源码 手写负载均衡算法
原力计划

Springcloud-Alibaba 〖七〗Ribbon篇一. Ribbon 是什么?二. LB负载均衡(Load Balance)三. Ribbon架构四. RestTemplate调用4.1 getForObject()方法4.2 getForObject()方法五. Ribbon的负载均衡机制 IRule5.1 目录结构5.2 创建规则类5.3 主启动类添加注解5.4 测试六. 负载均衡...

2020-03-24 20:19:54 1612 2

原创 Jave 面试 CAS就这?底层与原理与自旋锁
原力计划

CAS就这?一. CAS是什么?二. CAS底层原理2.1 CAS底层唉....还没写完呢,明天就写完了!好兄弟们,不会真有人看不懂CAS吧?反正我是没看懂…一. CAS是什么?import java.util.concurrent.atomic.AtomicInteger;/** * 1. CAS是什么? => compareAndSet 比较并交换 */public cl...

2020-03-23 23:31:37 3213 2

原创 Springcloud-Alibaba 〖六〗Consul篇 注册中心Eureka、Zookeeper、Consul的异同点
原力计划

Springcloud-Alibaba 〖六〗Consul篇一. 安装Consul(Windos版本)1.1 下载并解压到文件夹1.2 在路径下输入cmd进入命令行1.3 在命令行输入consul,如果出现下面一堆东西,则安装成功1.4 输入 consul agent -dev 启动 Consul一. 安装Consul(Windos版本)官网下载太慢了,我上传到百度云了百度云链接提取码: ...

2020-03-23 11:56:11 1073 1

原创 Springcloud-Alibaba 〖五〗ZooKeeper篇 cloud-provider-payment8004模块 cloud-consumerzk-order80
原力计划

Springcloud-Alibaba 〖四〗ZooKeeper篇一. 安装Zookeeper1.1 压缩包1.2 安装解压到服务器上1.3 关闭防火墙1.4 架构图二. 创建新模块 cloud-provider-payment80042.1 修改POM文件引入依赖2.2 创建 application.yml 配置文件2.3 主启动类2.4 业务类 controller层2.5 启动会报错2.6 ...

2020-03-22 17:22:10 2047 2

原创 Springcloud-Alibaba 〖四〗actuator微服务信息完善 添加 DiscoveryClient Eureka自我保护理论知识
原力计划

Springcloud-Alibaba 〖四〗一. actuator微服务信息完善1.1 在8001与8002项目中分别添加1.2 点开payment8001找到 /health 路径1.3 配置访问路径可以访问IP二. 添加 DiscoveryClient 发现微服务2.1 修改8001项目controller层2.2 调用该服务三. Eureka自我保护理论知识3.1 关闭Eureka自我保护...

2020-03-21 21:35:01 827 1

原创 Springcloud-Alibaba 〖三〗微服务Eureka集群搭建,负载均衡,服务注册发现
原力计划

Springcloud-Alibaba 〖三〗微服务Eureka集群搭建,负载均衡,服务注册发现六. cloud-eureka-server7001模块构建6.1 Eureka系统架构6.2 创建Eureka模块6.3 pom文件里添加依赖6.4 application.yml6.5 主启动类6.6 打开 http://localhost:7001/ 进入UI界面七. 服务注册7.1 支付微服务8...

2020-03-21 20:30:32 1405 1

原创 Springcloud-Alibaba〖二〗微服务cloud-consumer-order80构建与公共类cloud-api-commons
原力计划

Springcloud-Alibaba 微服务cloud-consumer-order80与cloud-api-commons构建四. 热部署(可做可不做,不做可跳过)4.1 添加依赖在8001项目中4.2 配置父工程pom文件4.3 开启自动编译选项4.4 配置选项五. 建立 cloud-consumer-order80微服务5.1 创建模块5.2 改pom文件5.3 建立yml文件5.4 建立...

2020-03-20 18:31:12 1623 3

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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