2019-12-31 Java诊断工具-Arthas简单使用 Arthas 是阿里中间件基于 Greys 进⾏⼆次开发开源的一个监控线上应用内存、线程、gc情况的诊断产品,能在不修改服务代码的情况下,对我们产生的业务问题进行诊断,例如查看方法的入参、出参、... 阅读全文…
2019-10-24 深入理解Redis的基础数据结构 前言 Redis是一个K/V类型的数据库,Key的类型就是字符串,而Value可以支持不同类型,不仅限于简单的字符串,以下将分别介绍五种简单的数据类型中的数据结构: 二进制安全的字符串 列表,... 阅读全文…
2019-09-04 并发编程的最佳实践 前言 并发编程是目的其实就是为了提高我们程序的性能,但是在日常的工作过程中,大部分开发人员可能没有机会去接触并发编程,而在并发编程中忽略的一些细节可能就会引发问题的产生,以下仅介绍我个人在并发编... 阅读全文…
2019-08-01 Java虚拟机中的垃圾回收算法与垃圾收集器 什么是垃圾回收(Garbage Collection,GC)? 在程序的运行过程中,我们所创建的对象都会申请内存资源,当这个对象没有用处的时候,我们就需要将它的内存资源释放,否则造成内存资源的浪... 阅读全文…
2019-07-07 线程池ThreadPoolExecutor源码分析 线程池的使用使用ThreadPoolExecutor来创建一个线程池: 12new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepA... 阅读全文…
2019-06-23 Hashmap与ConcurrentHashmap原理分析 HashMap结构1234567891011121314151617transient Node<K,V>[] table;static class Node<K,V> ... 阅读全文…
2019-06-16 重入锁-ReentrantLock底层源码分析 ReentrantLock使用: 123456789public class Demo { private static int count=0; static Lock lock=n... 阅读全文…
2019-05-03 Java虚拟机的基本认识及调优 Java虚拟机的基本认识虚拟机,从字面上的意义来理解就是一台虚拟的计算机,虚拟机上运行的软件都受限于虚拟机提供的资源中。 虚拟机可以分为两类,系统虚拟机和程序虚拟机,例如VMware提供了一个可... 阅读全文…
2019-04-22 自己动手写一个Spring框架 项目目的在理解 Spring 系统结构、实现原理的基础上,自己动手写一个实现Spring核心功能的框架,以达到学习的目的。 项目入口项目的入口为DispatcherSerlvet的init()方... 阅读全文…
2019-03-29 Innodb中的锁机制及MVCC原理 Innodb引擎的官方文档地址:https://dev.mysql.com/doc/refman/8.0/en/innodb-storage-engine.html 了解Innodb的锁和MV... 阅读全文…