Jitwxs's blog

不忘初心,砥砺前行

一、前言

在项目开发中,为提升系统性能,减少 IO 开销,本地缓存是必不可少的。最常见的本地缓存是 Guava 和 Caffeine,在 《详解 Guava Cache》中已经为大家介绍了 Guava,本篇文章将为大家介绍 Caffeine。

Caffeine 是基于 Google Guava Cache 设计经验改进的结果,相较于 Guava 在性能和命中率上更具有效率,你可以认为其是 Guava Plus。

毋庸置疑的,你应该尽快将你的本地缓存从 Guava 迁移至 Caffeine,本文将重点和 Guava 对比二者性能占据,给出本地缓存的最佳实践,以及迁移策略。

随着计算机行业的飞速发展,摩尔定律逐渐失效,多核 CPU 成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C 提供的线程池:ThreadPoolExecutor 类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。

本文开篇简述线程池概念和用途,接着结合线程池的源码,帮助读者领略线程池的设计思路,最后回归实践,通过案例讲述使用线程池遇到的问题,并给出了一种动态化线程池解决方案。

Windows 平台的终端一直以来的确不好用,被 mac 和 linux 吊着锤。历经了 cmd、powershell、FluentTerminal,微软最新的 Windows Terminal 终于算是进入可用状态,今天就来把玩把玩。

一、安装

安装前提是 Win10 系统,打开 Windows Store 并搜索 Windows Terminal 点击安装就行。我挂着梯子的时候,进不去商店,所以各位自己把握就好。

一、前言

随着时间积累,在平常写自己的代码过程中,会有类或者是模块,比较通用,许多项目都能用得到。我们就可以把这些部分抽取成一个公共包,方便其他项目去使用。

本地 install 只能保存在本地中,因此将其上传到中央仓库中,平常就能够轻松的去使用了。上传 Jar 包的过程还算简单,本文将记录这一过程,系统环境为 Windiws。

另外,请使用 windows 自带的 CMD 作为整篇文章的命令行工具。不要使用 Git Bash,会有坑。

一、用户

1.1 创建用户

-- 创建用户,并允许其在任何IP登陆
create user 'username'@'%' identified by 'password';

-- 创建用户,并允许其在任何主机登陆,不设置密码
create user 'username'@'%';

-- 创建用户,并仅允许使用jitwxs.cn域名的主机登陆
create user 'username'@'jitwxs.cn' identified by 'password';

-- 创建用户,并仅允许使用192.168.1.1的主机登陆
create user 'username'@'192.168.1.1' identified by 'password';

-- 创建用户,并仅允许使用192.168.1开头的主机登陆
create user 'username'@'192.168.1.%' identified by 'password';