自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(11)
  • 问答 (3)
  • 收藏
  • 关注

原创 ConcurrentHashMap如何实现高并发性的

1)利用锁的分段,默认16个锁共同维护整个ConcurrentHashMap,使一个写线程不会持有整个ConcurrentHashMap的锁,降低了持有锁的频率,大大的提高了并发性。2)volatile变量的使用,根据先行发生原则:对于同一个volatile变量,一个写操作会先行发生后面的读操作,每一次,写操作都会队volatile变量的count进行改写,每次读操作都会先行访问这个count

2016-06-24 20:00:32 1019

原创 位运算-Single Number II(给定一个数组,除了一个数字出现一次,其他都出现三次,求出现一次的数)

题目描述:Given an array of integers, every element appears three times except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it

2016-06-21 15:54:22 932

原创 字符串-Reverse Words in a String(翻转字符串)

问题描述:Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".Update (2015-02-12):For C programmers: Try to solve it 

2016-06-20 11:00:47 439

原创 减少锁的竞争

1)通过使用synchronized代码块儿代替在方法上添加synchronized来保护共享状态的方法,减小锁的范围,减少线程持有锁的时间。2)锁的分解,例如一个类有两个共享状态,一个是人,一个是钱,分别提供两个锁,分别对应这两个共享状态,那么即可减少持有锁的频率。3)锁的分解的进一步扩展那就是锁的分段,例如共享状态人是使用HashTable保存那么程序性能因为经常持有锁二成为性能瓶颈,

2016-06-18 21:13:18 788

原创 java并发编程实战笔记-死锁

死锁的定义:按书上所说,死锁就是自己拥有其他人需要的资源,同时又在等待其他人已经拥有的资源,并且每个人在获得所需要的资源之前都不会放弃自己已经有的资源。死锁的类型:1.简单的顺序死锁:public class die1 { public Object lock1 = new Object(); public Object lock2 = new Object(); pu

2016-06-18 00:17:00 579

转载 java常用的包

转载:http://blog.csdn.net/wangloveall/article/details/8029157Java采用包结构来组织和管理类和接口文件。本文介绍Java语言类库中几个常用的包,因为这几个包在软件开发与应用中经常需要用到,其中有些包是必要的。若是离开它,还真不能做事情了。    第一个包:java.lang包。    阿情说:该包提供了Java语

2016-06-12 20:23:55 354

原创 读写锁ReentrantReadWriteLock

实例:public class ReentrantReadWriteLockTest { private static ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); //private static ReentrantLock lock = new ReentrantLock(); private static R

2016-06-07 21:53:50 375

原创 显式锁ReentrantLock

使用:1)普通上锁和释放锁:lock.lock(); try{ }finally{ lock.unlock(); }2)定时的轮询,如果指定时间没有得到锁的话就会放弃,例子中的线程就会提前结束:public class TestTryLock { static AtomicInteger ii = new AtomicInteger(0); static int

2016-06-07 21:25:38 312

原创 数组-Kth Largest Element in an Array(找出第K大的数)

题目描述;Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.For example,Given [3,2,1,5,6,4] and k = 2,

2016-06-04 14:49:35 417

转载 Java:String、StringBuffer和StringBuilder的区别

1 StringString:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。String类的包含如下定义:[java] view plain copy/** The value is used for character storage. */  private final char

2016-06-01 15:20:22 345

转载 synchronized 修饰在 static方法和 非static方法的区别

【问题描述】关于Java中synchronized 用在实例方法和对象方法上面的区别【问题分析】大家都知道,在Java中,synchronized 是用来表示同步的,我们可以synchronized 来修饰一个方法(实例方法和类方法---注:不知道这样叫准确不准确,大家理解我的意识就行了)。也可以synchronized 来修饰方法里面的一个语句块。修饰实例方法:[

2016-06-01 14:35:22 484

空空如也

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

TA关注的人

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