摘要:
ThreadLocal基本使用及原理分析 学习ThreadLocal的基本使用以及了解其核心原理实现。jdk版本:1.8 @ ThreadLocal介绍 线程程序介绍 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一 阅读全文
摘要:
redis连接释放问题记录 记录一次在压测后发现的redisTemplate使用场景下,redis的连接资源没有释放的问题。 @ 问题描述 springboot 版本:2.1.2(排除了lettuce的依赖) jedis版本:2.9.1 场景:高并发情况下,RedisTemplate获取连接失败并阻 阅读全文
摘要:
线程池基本使用及原理分析 从源码入手,分析线程池的基本使用场景以及核心代码原理分析。分析版本:jdk1.8 @ 线程池介绍 In computer programming, a thread pool is a software design pattern for achieving concur 阅读全文
摘要:
Java学习--ConcurrentHashMap原理分析 本章学习Java中的ConcurrentHashMap(后面简称CHM),了解其并发安全原理,hash碰撞的解决方法,红黑树,size的获取处理方式,以及CHM的并发扩容。本次分析基于jdk1.8。 @ 初始化initTable final 阅读全文
摘要:
Mybatis缓存使用原理探究 @ 国内的开发环境下关于Mybatis还是比较广泛,因此在日常开发中有必要对Mybatis中提供的缓存机制有一个全面的了解,本文将主要从源码的角度入手,分析Mybatis的缓存机制以及在spring容器管理与非spring容器管理下,Mybatis的缓存使用情况的区别 阅读全文
摘要:
Zookeeper学习--Zookeeper基本使用和集群搭建 本章记录学习Zookeeper的环境搭建以及基本api使用等。部分内容摘要自Zookeeper官网。本次使用的Zookeeper版本为3.4.9,这里我在本机上安装了VMWare,并创建了三台虚拟机,方便后面集群搭建。 @ 基本介绍 Z 阅读全文
摘要:
Zookeeper学习--zab协议和启动选举 本章记录zookeeper学习过程中,关于zab协议的原理,server端启动后的自动选举等。部分内容参考自zookeeper官网和咕泡学院教材。本次分析zookeeper源码版本:3.6.0。 @ 基本介绍 zab是干嘛的?不知道,那么看了一下官网的 阅读全文
摘要:
JVM学习--堆内存分析 本章学习堆内存模型、对象分配和对象生命周期原理。部分内容参考Oracle官网以及咕泡学院教材。分析版本为jdk1.8。 @ 对象创建 public static void main(String[] args) { Object o = new Object(); } 在j 阅读全文
摘要:
JVM学习--垃圾回收机制 本章学习jvm中关于垃圾回收机制的相关原理。部分内容参考Oracle官网和咕泡学院教材。分析版本为jdk1.8。 垃圾的定义 听到垃圾,就想到了名场面。 断水流大师兄表示,在座的各位都是垃圾。场景定义如下: 在座:理解成内存区域 各位:内存中的各个对象 都是垃圾:都是没用 阅读全文
摘要:
JVM--运行时数据区内存模型 jvm学习内容记录,运行时数据区概念定义、内存模型、以及结构分析。内容部分参考自Oracle官方网站和咕泡学院课件内容。版本基于jdk1.8。 java虚拟机结构 @ run-time data areas 概念定义 从下列java virtual machine中关 阅读全文