自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ExcellentYuXiao的专栏

弱小和无知不是生存的障碍,傲慢才是。

  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 复盘思维

文章目录什么是复盘工作总结和复盘的区别什么时候复盘如何复盘1.回顾目标2.评估结果3.分析原因4.总结经验总结什么是复盘复盘原本是围棋术语,指下完一盘棋后,双方棋手把对弈过程重新摆一遍,看哪里下得好,哪里下的不好,哪些关键节点有不同甚至更好的下法,以检查对局中招法的优劣和得失,并从中寻找到提高自己水平的方法。复盘作为一种从工作经验中学习的方法,能把每一段工作经历、每一项任务和每一次挑战都变成...

2019-11-08 10:28:59 3010

原创 IntelliJ IDEA插件开发指南(三)

概要上节介绍几个开发时常见的接口和类,本节介绍下插件开发中的一些API。插件开发中的一些API上面说到了一些常见的扩展接口,下面看看IDEA提供的一些常用的API接口:ActionPerformed被点击回调后,会传入AnActionEvent对象,通过该对象可以获得如下一些对象:// 获取当前编辑的文件, 通过PsiFile可获得PsiClass, PsiField等对象...

2018-05-10 20:46:51 17995 10

原创 IntelliJ IDEA插件开发指南(二)

概要上节中详细聊了下IDEA插件的创建以及plugin.xml的具体含义。本节来聊聊IDEA提供的插件开发关键类,IDEA中提供的用于进行插件开发的接口非常多,本章主要介绍几个开发时常见的接口和类。AnAction当我们想扩展IDEA提供的菜单栏,那么就可以通过创建Action类来实现相应的功能。创建Action创建Action有两种方式:创建一个类,然后继承AnActi...

2018-05-10 20:40:42 16149 4

原创 IntelliJ IDEA插件开发指南(一)

概要工欲善其事必先利其器,虽然IntelliJ IDEA的功能已经足够的强大,但是也无法满足开发人员想要的一切功能。对于此,IDEA提供了API接口供开发者进行插件开发扩展,但目前来说,网上对于IDEA插件开发的文档大多讲的不是很清楚,自己最近也开发了一个IDEA插件,中间踩了不少坑,在此总结下。一般来说,开发人员开发的IntelliJ平台插件主要分为如下几类:自定义编程语言的支持:包...

2018-05-10 20:21:24 34156 9

原创 如何写出一个好的设计文档

1.概要大部分的工程师都不重视设计文档的书写,对于一个需求,都是经过一些简单的讨论,写一个简单的方案甚至就是自己简单的想想就开始进行编码的工作。往往这种开发方式会导致开发人员对细节考虑不周,开发过程中会带来许多的坑,在今后采坑或者补坑的路上耗费大量的人力,轻则影响上线时间,重则上线了出现case,影响业务。写设计文档和是能够帮助开发人员完成 是什么->做什么->怎么做 的思...

2018-04-16 20:25:37 10560

原创 浅谈RPC服务治理服务

面向服务的架构SOA任何大型网站的发展都伴随着网站架构的演进。网站架构一般最初是单应用设计,然后逐渐经历面向对象设计和模块化设计的架构,最终发展到面向服务的服务化架构。在单应用设计架构体系当中,我们关注的是方法和实体;而在面向服务的服务化架构中,我们则关注的是服务和API。网站架构演进图如下图所示: 传统应用开发中会面临研发成本高,运维效率低等挑战。 研发成本高主要体现在:代码重...

2018-04-02 19:44:20 4061

原创 ThreadPoolExecutor剖析

如果我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。本文剖析了ThreadPoolExecutor

2017-08-05 17:53:40 727

原创 spring事务

1.背景Spring提供了编程式事务和声明式事务,但由于编程性事务的侵入性,开发中普遍会使用Spring的声明式事务,下文中所说的Spring事务也都是指声明式事务。Spring声明式事务底层是建立在AOP的基础上的,其本质就是对方法前后进行拦截,然后在目标方法之前创建或加入一个事务,在执行完目标方法之后根据执行执行情况提交或回滚事务。声明式事务最大的优点就是不需要在业务逻辑代码中掺杂事务管理的代码

2017-02-07 16:15:11 609

原创 Netty原理剖析

1Netty简介Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA NIO提供的API实现。本文简单聊一下Netty的实现原理。

2016-11-29 11:10:22 25855 7

原创 Mybatis增强型注解简化SQL语句(一)

Mybatis增强型注解简化SQL语句

2016-11-21 19:38:07 24388 15

原创 Json schema

背景:复杂的AJAX应用程序可以与数百个不同的JSON服务进行交互,因此,引入对客户端验证的需求。在处理校验问题方面有着很多的工具,但是通常可以将它们归为以下几类:* * 判断数据是否已被正确格式化 * 手动检查形式有误的数据并尝试纠正 * 手动检查形式有误的数据并将有误数据丢弃 * 自动检查形式有误的数据在这里只讨论自动校验方面的可用工具包中的json sche

2016-08-28 14:32:12 5269 1

原创 LinkedHashMap剖析

LinkedHashMap剖析简介LinkedHashMap是HashMap的一个子类,保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的,也可以在构造时带参数,按照访问次序排序。HashMap与LinkedHashMapLinkedHashMap 实现与 HashMap 的不同之处在于,LinkedHashMap 维护着一个运行于所有条目的双重链

2016-08-28 13:16:38 1123

转载 java8之重新认识HashMap(转自美团技术团队)

java8之重新认识HashMap摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口j

2016-08-28 13:04:08 3821

原创 java8 Arrays.sort 与Arrays.parallelSort

java8 Arrays.sort 与Arrays.parallelSortSort方法java8中Arrays.sort()方法有很多重载方式,先来看看对byte类型的排序static void sort(byte[] a, int left, int right) { // Use counting sort on large arrays if (right - left >

2016-08-28 12:02:57 6878

原创 Java Collections和Arrays工具类剖析

Java Collections和Arrays工具类剖析Collection与CollectionsCollection是集合的最顶层接口,提供了对集合对象进行基本操作的通用接口方法。为各种具体的集合提供了最大化的统一操作方式。 Collentions是一个工具类。它包含各种有关集合操作的静态多态方法,此类的构造方法为private,不能被实例化。Collections方法:空集合空集合

2016-08-28 11:55:31 6471

原创 PriorityQueue剖析

PriorityQueue剖析优先队列本质上就是一个最小堆。所以先讲讲堆的性质:堆 堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(分别为大顶堆和小顶堆)。需要注意的是堆中任一子树也是堆。下图中给出了从二叉树角度来看的大顶堆。如果从数组角度来看,那么该大顶堆如下:按照编号来看,可以发现一个很有意思的规律:左子结点的编号=父结点编号 * 2 右子结点的编号=

2016-08-28 11:26:30 1038

原创 ArrayList和LinkedList剖析

简介java集合中最顶层的接口为Connection接口,其中有两个接口实现了Connection接口,分别为Set接口和List接口。Set接口表现为无序,不能重复;List接口表现为有序,可重复。其中ArrayList和LinkedList是List接口的实现类中最常用的两个。下面针对ArrayList和LinkedList这两个实现类做一些说明:(1)ArrayList:ArrayList是一

2016-07-04 10:33:18 5951 1

转载 Sql语言优化相关

我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的。所以我希望按照软件生命周期的不同阶段来总结数据库性能优化相关的注意事项。一、             分析阶段一 般来说,在系统分析阶段往往有太多需要关注的地方,系统各种功能性、可用性、可靠性、安全性需求往往吸引了我们大部

2015-04-22 20:33:56 611

空空如也

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

TA关注的人

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