​打造企业自己代码规范IDEA插件(中)

综述下关键点,代码规范检查基本原理可以基于AST语法树来进行实现;AST结合Xpath可以方便进行相关规范规则的编写;通过 PMD-Designer 能可视化的帮助我们实现 XPath 的相关代码规范规则以及验证相关规则;给出了一个例子... ...

什么是死锁?如何避免死锁?

概念 线程死锁描述的是这样一种情况:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 我和同学都打扫卫生,我拿着扫帚等他的簸箕,他拿着簸箕等我的扫帚 产生条件 互斥条件:同一时刻一线程只能占用一个资源。 同一时刻,我拿着扫帚,他拿着簸箕 ...

slf4j、log4j2及logback使用

slf4j、log4j2及logback使用 1、问题来源 之前看过关于slf4j、log4j2及logback的介绍,slf4j是门面,log4j2及logback是具体实现,仅使用slf4j门面是无法输出日志的。 本文采用jdk11,测试代码Slf4jTest.java如下: import lo ...

关于IDEA调试的一些基本操作

一. 怎么开启断点调试? 随着开发的深入,越来越觉得高效的调试方法是多么的重要了,但我们一般上来就是敲一些代码,谁会去静下心来学一些看似没什么用的调试技巧呢?但这恰恰就是新手和老手之间的区别。 断点调试是很简单的,只需要点击idea上方的小虫子,启动调试即可,如下所示。 这当然不是本文的重点,只是开 ...

Mybatis-Plus使用@TableField实现自动填充日期

一、前言 我们在日常开发中经常使用ORM框架,比如Mybatis、tk.Mybatis、Mybatis-Plus。不过最广泛的还是Mybatis-Plus,我们的一些表,都会有创建时间、更新时间、创建人、更新人。这些我们每次都要自己手动set吃力不讨好,所以Mybatis-Plus带来了自动填充,今 ...