背景 服务上线前进行常规压测,压测完通过监控发现进程占用内存久久无法下降,一度认为是内存泄露。根据内存泄露排查法,一顿pprof操作,但是发现服务所使用的内存并不是很高,那么...
背景 服务上线前进行常规压测,压测完通过监控发现进程占用内存久久无法下降,一度认为是内存泄露。根据内存泄露排查法,一顿pprof操作,但是发现服务所使用的内存并不是很高,那么...
前言 defer这个关键字在开发过程中上场率可不低,初学者只会知道在当前函数中声明一个defer函数,那么会在当前函数return时再去执行defer定义的函数,但具体原因是...
前言 一般的map都是采用数组+链表的数据结构去进行数据存储,在单节点挂载数据过多时,会考虑将链表转换成树结构来提高效率。那么GO语言的map是怎样实现的呢?有用到树结构吗?...
前言 在初学Go定时任务之时,脑海中始终有一个问题在徘徊,究竟是每个任务都有一个goroutine去监控,还是多个任务处于同一个队列,让同一个goroutine去轮询检查。这...
简介 熟悉Go的人都知道,它提倡着不要通过共享内存来通讯,而要通过通讯来共享内存。Go提供了一种独特的并发同步技术来实现通过通讯来共享内存,此技术即为通道。我们可以把一个通道...
编程语言中反射的概念 在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representati...
前言 最近项目在整合shiro权限认证模块时,给自己挖了一个深坑,也是分析了好久才定位到问题的所在,根本原因还是对spring相关的技术点掌握的不够娴熟。本文基于spring...
前言 Spring对国际化这一块支持还是蛮友好的,上手也是蛮简单,但是加载流程还是需要大家掌握的,不然会少定义一个资源文件会让你莫名其妙的出现一些bug。接下来主要分享一下关...
前言 继第一次搭建springcloud环境踩坑之后,时隔三个月,第二次踩坑记录也跟着上线了,SpringCloudConfig坑系列。第一次踩坑让我理解了用户线程和守护线程...
前言 随着业务的越来越复杂,保证程序的健壮性对程序猿来说也变得更加的重要,毕竟不写Bug的程序猿不是一个好的程序猿。但怎样尽可能的保证咱们的程序能够稳定的运行,以及出错后能够...
因为之前没有认真系统学习过javadoc,看到@link直接认为是添加url,死活添加不上url链接,上google一查,果然理解错误,@link是为了方便注释比如我有两个方...
Filter-Chain模式简介 从7月份实习以来,因为项目中运用alibaba DRUID 数据库中间件、Spring Framework等开源框架,所以就稍微阅读了部分源...
请求过来是怎么映射到对应的方法上,这里离不开映射处理器 HandlerMapping,今天这篇笔记就来探究 HandlerMapping 实现逻辑。本篇笔记主要分析Sprin...
前言 近来在项目中有用到Spring Data Redis,顺便研究了一下API,中间还是有些许坑的。由于前期有接触过Jedis和Reddison,所以对Redis的数据结构...
I/O处理过程 对于系统而言,磁盘I/O通常会成为一个瓶颈,尤其是对于数据库而言。数据从磁盘读取到内存,存到CPU缓存和寄存器,然后进行处理,最后写会磁盘,如下图: 可看到I...
前言 不了解JVM的类加载机制你也可以coding,但是当你了解之后,可以让你在coding的时候避免很多坑,本文将以一道常见的面试题去剖析一下。本文参考深入理解Java虚拟...
二叉树有多种遍历方法,有层次遍历、深度优先遍历、广度优先遍历等。 本文只涉及二叉树的先序、中序、后序的递归和非递归遍历。 涉及到的代码都用Java编写。 首先给出二叉树节点类...
前言 在分析dubbo源码的过程中,发现dubbo对于扩展点的加载实现的是非常巧妙的,可以达到用时才动态实例化对象,灵活且节约资源。其实Dubbo 的扩展点加载是从 JDK ...