自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 [技术分享]-Mybatis配置多个数据源(Java)

首先,使用Mybatis配置多个数据源需要用到两个工具类:SqlSessionFactory   MapperFactory/** * 根据mybatis.xml中配置的不同的environment创建对应的SqlSessionFactory */public final class SqlSessionFactory {    private static final Logge

2018-01-31 17:26:38 12148 2

原创 [Thinking in java] _容器 _Map

Java中的Map包含了几种基本实现:HashMap TreeMap LinkedHashMap WeakHashMap ConcurrentHashMap IdentityHashMaphashCode() 是根类Object中的方法 因此所有Java对象都具有hashcode 散列码HashMap 就是使用对象的hashcode进行快速定位查询的,此方法较传统的get方法可以显著提高性...

2018-01-19 11:09:09 143

原创 [技术分享]-volatile关键字

volatileJava提供了volatile关键字来保证可见性。(此处的保证可见性可以理解为:一个不稳定的变量,即值可能会经常改变,每次使用它的时候都到内存中进行读取,所以一般来说,多任务环境下各任务之间共享的标志都应该加volatile修饰)当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值。volatile

2018-01-17 14:50:16 185

原创 [技术分享]- Synchronized与ReentrantLock的区别

Java在编写多线程程序时,为了保证线程安全,需要对数据同步,经常用到两种同步方式就是Synchronized和可重入锁ReentrantLock。相似:这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的线程都必须阻塞在同步块外面等待,而进行线程阻塞和唤醒的代价是比较高的(操作系统需要在用户态与内核

2018-01-17 14:41:16 218

原创 [技术分享]-ConcurrentHashMap在jdk1.8中的改进

一、简单回顾ConcurrentHashMap在jdk1.7中的设计与Hashtable不同的是,ConcurrentHashMap使用的是分段锁技术,将ConcurrentHashMap容器的数据分段存储,每一段数据分配一个Segment,当线程占用一个Segment时,其他线程可以访问其他段的数据.(每个segment都是一个锁). 与hashtable相比,这么设计的目的是对于put, re

2018-01-17 11:56:16 3650 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除