ThreadLocal的内存泄露?什么原因?如何避免?

前言在分析ThreadLocal导致的内存泄露前,需要普及了解一下内存泄露、强引用与弱引用以及GC回收机制,这样才能更好的分析为什么ThreadLocal会导致内存泄露呢?更重要的是知道该如何避免这样情况发生,增强系统的健壮性。内存泄露内存泄露为程序在申...

Read More


关于高并发,我想告诉你这些!

高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在技术深度上不断精进。在过往的面试中,如果候选人做过高并发的项目,我通...

Read More


HashMap源码注解 之 静态工具方法hash()、tableSizeFor()

HashMap#hash()为什么要有HashMap的hash()方法,难道不能直接使用KV中K原有的hash值吗?在HashMap的put、get操作时为什么不能直接使用K中原有的hash值。 /** * Computes key.ha...

Read More


让线程按顺序执行8种方法

前言本文使用了7中方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。 使用的方法如下:[1] 使用线程的join方法[2] 使用主线程的join方法[3] 使...

Read More


基于 Redis 的分布式锁 Redlock

怎么在单节点上实现分布式锁说道Redis分布式锁大部分人都会想到:setnx+lua,或者知道 set key value px milliseconds nx 。后一种方式的核心实现命令如下:该命令仅当 Key 不存在时(NX保证)set 值,并且设置...

Read More