0%

前言

Git 三板斧指 git commit、git pull、git push。此篇分享开发过程中经常会使用到的 Git 进阶操作。

虽说会了三板斧就可以横行江湖,但总觉得不够潇洒飘逸。

阅读本文需要有一定 Vim 基础。

阅读全文 »

前言

在日常开发中会经常从MySQL中获取数据然后做一些处理(业务代码),其中很常见的一种场景是处理逗号分隔的数据,此篇就介绍两个使用率不高的MySQL函数 GROUP_CONCAT 和 FIND_IN_SET。

阅读全文 »

前言

NIO(Non-blocking I/O)是在 Java 1.4 中引入了的框架,是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,提供了更接近操作系统底层的高性能数据操作方式。

Netty 实际上就基于 Java NIO 技术封装完善之后得到一个高性能框架,熟悉 NIO 的基本概念对于学习和更好地理解 Netty 还是很有必要的,之后会出一篇关于Netty的文章。

阅读全文 »

前言

因MBP大修数据全丢,使用 HomeBrew 重新安装MySQL,以此记录下。

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。

阅读全文 »

前言

使用SpringBoot的过程中,一定看到过各种 spring-boot-starter 比如第三方扩展的有 druid-spring-boot-starter,mybatis-plus-boot-starte r等,官方的有spring-boot-starter-web 等。这里注意他们的命名规则,第三方扩展的命名规则是 xxx-spring-boot-starter, 官方的命名规则是 spring-boot-starter-xxx

阅读全文 »

前言

最近项目中需要用到延时队列的功能,想过很多实现方式,比如Java自带的delayQuene实现起来简单,时间轮,Redis的有序集合等。但由于各种原因最终选择了RabbitMQ实现。

delayQuene占用内存大。数据量少,逻辑简单不想引入别的技术时建议使用。

时间轮只知道概念接触不深。

redis的本质还是一个内存型数据库。用sleep线程1s的方式取数据不够优雅。

系统中已经有模块使用了RabbitMQ,只需要引入一个延时队列插件(rabbitmq_delayed_message_exchange)即可。

任性的技术选型。

阅读全文 »

前言

在Java日常开发中很多同学很少或者几乎没有使用过wait notify notifyAll,但对这三个方法名都不会感到陌生,因为他们是Object类的3个本地方法。从名字可以看出他们是跟线程相关的。

阅读全文 »

前言

Java Print Service是Java自带的打印框架,所在的包javax.print.PrintService。这种方案局限性比较大,只能打印PNG文件(廉价打印机不支持打印PDF)

阅读全文 »