加载中
Linux下如何配置普通用户的sudo命令权限?

背景 在Linux系统操作时,通常不会直接采用root用户。但当某些命令需要root权限执行时,往往会通过sudo命令提升当前用户的执行权限来完成。 如果普通用户并未进行配置相应的配置,则在使用s...

2022/08/04 16:58
326
SpringBoot:如何优雅地进行响应数据封装、异常处理?

背景 越来越多的项目开始基于前后端分离的模式进行开发,这对后端接口的报文格式便有了一定的要求。通常,我们会采用JSON格式作为前后端交换数据格式,从而减少沟通成本等。 这篇文章,就带大...

2022/08/03 17:01
456
Spring Boot + EasyExcel导入导出,简直太好用了!

背景 老项目主要采用的POI框架来进行Excel数据的导入和导出,但经常会出现OOM的情况,导致整个服务不可用。后续逐步转移到EasyExcel,简直不能太好用了。 EasyExcel是阿里巴巴开源插件之一,...

2022/08/01 15:13
60
为了实现CI/CD,先来定制一个Docker镜像【实战精华篇】

背景 计划把手头的项目逐步改造为基于Docker容器的方式发布,同时,项目中已经采用了云厂商提供的CI/CD自动化发布流水线。因此,为配合CI/CD操作,需要先针对项目构建一些发布的脚本,通过脚...

2022/07/29 15:08
43
Linux安装Docker完整教程

背景 最近接手了几个项目,发现项目的部署基本上都是基于Docker的,幸亏在几年前已经熟悉的Docker的基本使用,没有抓瞎。这两年随着云原生的发展,Docker在云原生中的作用使得它也蓬勃发展起...

2022/07/28 16:48
252
一篇搞定CAS,深度讲解,面试实践必备

背景 在高并发的业务场景下,线程安全问题是必须考虑的,在JDK5之前,可以通过synchronized或Lock来保证同步,从而达到线程安全的目的。但synchronized或Lock方案属于互斥锁的方案,比较重量...

2022/07/22 16:44
62
不掌握这些坑,你敢用BigDecimal吗?

背景 一直从事金融相关项目,所以对BigDecimal再熟悉不过了,也曾看到很多同学因为不知道、不了解或使用不当导致资损事件发生。 所以,如果你从事金融相关项目,或者你的项目中涉及到金额的计...

2022/07/19 15:09
77
缓存穿透、缓存雪崩、缓存击穿?再也不怕了,你随便问吧

背景 在现代软件架构中,缓存的应用已经非常普及。缓存的使用在面试和实践中都是避不开的硬技能、硬知识,如果你说还不太熟悉缓存的使用,可能都不好意思说自己是程序员。 在上篇文章《如果不...

2022/07/11 15:35
279
IDEA 创建Maven Web项目

背景 公司有一个非常老的项目,决定进行简单重构,纳入自动化流水线部署的序列。原项目采用很古老的Jar包依赖模式,也就是直接将jar包放在项目中。同时,项目结构也非常奇特,不是标准的Web...

2022/07/08 22:46
353
JDK的一个Bug,监听文件变更要小心了

背景 在某些业务场景下,我们需要自己实现文件内容变更监听的功能,比如:监听某个文件是否发生变更,当变更时重新加载文件的内容。 看似比较简单的一个功能,但如果在某些JDK版本下,可能会...

2022/07/07 01:34
71
IDEA崩溃:A fatal error has been detected by the Java Runtime Environment解决方案

最近在使用IDEA时,打开项目莫名其妙的就崩溃了,重启了电脑,重启了IDEA依然无效。 仔细回顾这两天做了什么操作,除了从GitHub上clone了一个项目,并用IDEA打开过该项目之外,并无其他操作。...

2022/07/06 14:56
1.5K
如果不知道这4种缓存模式,敢说懂缓存吗?

概述 在系统架构中,缓存可谓提供系统性能的最简单方法之一,稍微有点开发经验的同学必然会与缓存打过交道,最起码也实践过。 如果使用得当,缓存可以减少响应时间、减少数据库负载以及节省成...

2022/07/04 15:02
228
奇怪,为什么ArrayList初始化容量大小为10?

背景 看ArrayList源码时,无意中看到ArrayList的初始化容量大小为10,这就奇怪了!我们都知道ArrayList和HashMap底层都是基于数组的,但为什么ArrayList不像用HashMap那样用16作为初始容量大...

2022/06/19 01:12
224
Java实现监听文件变化的三种方法,推荐第三种

背景 在研究规则引擎时,如果规则以文件的形式存储,那么就需要监听指定的目录或文件来感知规则是否变化,进而进行加载。当然,在其他业务场景下,比如想实现配置文件的动态加载、日志文件的...

2022/05/30 16:24
82
EasyExcel太方便易用了,强烈推荐

背景 系统中经常要导出大量的数据,格式基本上都是Excel,然而每次导表都是对系统内存的一次挑战。 在Java领域,生成或解析Excel的框架比较有名的当属Apache的poi和jxl了。但使用它们,会面临...

2022/05/27 16:23
1.2K
突发状况,数据库表被锁,抓瞎了?

背景 在程序员的职业生涯中,总会遇到数据库表被锁的情况,前些天就又撞见一次。由于业务突发需求,各个部门都在批量操作、导出数据,而数据库又未做读写分离,结果就是:数据库的某张表被锁...

2022/05/12 15:15
149
使用HTTP Client踩到的一个坑,你一定要避免

前言 作为软件开发者,我们知道一切看似正常的系统,不知埋藏着多少坑。今天跟大家分享一个实战过程中遇到的HTTP Client使用不当导致的坑。 笔者通过问题的表象一路追踪下去,最终找到导致问...

2022/04/29 14:43
210
捕获了一只发生概率小于万分之一的Bug

前言 在开始这篇文章之前想先说一句:如果一套系统暂时没问题,那只是因为它的并发量不够而已。 上周在查看系统日志时,发现了一条与众不同的日志。日志中有一半内容是正常的报文数据,而另一...

2022/04/22 05:10
164
各大框架都在使用的Unsafe类,到底有多神奇?

前言 几乎每个使用 Java开发的工具、软件基础设施、高性能开发库都在底层使用了sun.misc.Unsafe,比如Netty、Cassandra、Hadoop、Kafka等。 Unsafe类在提升Java运行效率,增强Java语言底层操...

2022/03/29 05:05
268
Mybatis的where标签,还有这么多知识点

背景 在上篇文章,我们系统地学习了where 1=1 相关的知识点,大家可以回看《不要再用where 1=1了!有更好的写法!》这篇文章。文章中涉及到了Mybatis的替代方案,有好学的朋友在评论区有朋友...

2022/03/03 15:01
12

没有更多内容

加载失败,请刷新页面

返回顶部
顶部