池化技术(JAVA)分析

简介 池化技术能够减少资源对象的创建次数,提高程序的性能,特别是在高并发下这种提高更加明显。使用池化技术缓存的资源对象有如下共同特点:1,对象创建时间长;2,对象创建需要大量资源;3,对象创建后可被重复使用。下面介绍的thread,connection等对象都具有上面的几个共同特

Mybatis缓存原理

概述 Mybatis是目前Java开发中最常用的轻量级ORM框架。正如大多数持久层框架一样,MyBatis同样提供了一级缓存和二级缓存的特性以提高性能。两种缓存的粒度是一样的,都对应一条sql查询语句。但二者的生命周期不同,一级缓存的生命周期是SqlSession对象的使用期间,

从更新丢失说InnoDB多版本并发控制(MVCC)

本文从一个Mysql丢失更新的案例入手,介绍InnoDB存储引擎的非锁定一致性读取,多版本并发控制MVCC,事务隔离级别,以及InnoDB中的锁策略。 例子 有一个银行账户,里面有余额1000元,A,B两个用户同时使用两个ATM进行余额查询,他们都看到余额为1000元,于是A用户

Arthas源码分析

Arthas是一个java在线诊断工具,能够分析、诊断、定位java应用问题。之前余梦同学对Arthas的使用写过一篇文章在线分析诊断工具Arthas简介及使用,所以具体使用方法我就不重复叙述了。接下来我将详细地分析下arthas是如何实现对java程序的分析和诊断的。 前言 A

redis数据格式介绍

Remote Dictionary Server(Redis)是一个基于 key-value 键值对的持久化数据库存储系统。由于其丰富的数据结构和单线程高性能特性,现在在各系统中的使用越来越多,大部分情况下被当做缓存使用,也可用于分布式锁,计数器,排行榜,队列等场景。 Redis