自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 无锁的线程安全整数-AtomicInteger

JDK并发包中有一个atomic包,里面实现了一些直接使用CAS操作的线程安全的类型。其中,最常用的一个类,应该就是AtomicInteger。你可以把它看做是一个整数。他与Integer不同的是,它是可变的,线程安全的。对其的任何操作都是CAS指令执行的。 // 取得当前值 public final int get() { return value;...

2018-07-26 15:18:00 760

翻译 JVM对锁的优化

作为一款公用的平台,JDK肯定也对并发程序的性能绞尽脑汁,内部也想尽一切办法来提高并发时候的吞吐量。下面介绍几种JDK内部的锁优化策略一.锁偏向锁偏向的核心思想就是:如果一个线程获得了锁,那么锁就进入偏向模式,当该线程再次请求锁时,无需做同步操作,这样就节省了大量有关锁申请的操作,从而提高了系统的性能。因此,在线程数不多的情况下,这种锁偏向有比较好的优化效果,但是在大量高并发的情况下,这种...

2018-07-25 14:36:48 261

原创 锁的优化

在高并发的环境下,锁是最常用的方法之一,激烈的锁竞争会导致系统出现性能方面的问题,这时就需要我们做一些锁的优化。一.减小锁的持有时间对于使用锁进行并发控制的应用程序而言,在锁竞争中,单个线程对锁持有时间与系统性能有直接的关系。如果线程持有时锁的时间很长那么相对的,锁的竞争也就越来越激烈。举个例子: 如果要求20个人填写自我介绍,但是只有一支笔,如果有一个人抢到了笔,但是这个人没有想好怎...

2018-07-25 11:55:35 153

原创 并发包下的重入锁(ReentrantLock)

重入锁可以完全替代synchronized关键字。在JDK5.0的早期版本中,重入锁的性能完全好于synchronized。但是JDK6.0对synchronized做了大量的优化,使得两者差距并不大了,但是 ReentrantLock 灵活性要远高于synchronized。1.为什么叫重入锁?答:从名称上看,翻译挺贴切的, re-entrant-lock 重-入-锁。之所以这么叫是因为...

2018-03-20 15:53:01 713

原创 linux下reids的安装与配置

目前在用ubuntu16.4 和 centos7 这两个版本的 linux系统,感觉linux系统本质差别不是很大,就拿centos举例来说redis的安装吧。一.    安装redis:redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了 memcached的不足,它支持存储的value类型相对更多,包括string、lis...

2018-03-20 15:51:30 193

原创 解析xml生成建表sql

根据xml数据解析,生成建表语句

2017-10-23 17:50:14 2626

原创 根据json生成建表语句

这个工具类可以根据json的key和value类型,来自动生成mysql的建表语句

2017-10-23 16:29:06 6506 2

空空如也

空空如也

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

TA关注的人

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