- 博客(8)
- 收藏
- 关注
原创 AtomicInteger
AtomicInteger AtomicInteger是java自带的原子操作的类,调用unsafe的 public final int getAndAddInt(Object var1, long var2, int var4) ;来完成自增操作。 “`public final int getAndAddInt(Object var1, long var2, int var4) { i
2016-04-19 16:22:52 315
原创 AtomicLongFieldUpdater VSAtomicLong
AtomicLong AtomicLong是一个对象,因此我们创建的时候需要的内存大小(对象的大小+对象的引用);AtomicLongFieldUpdater AtomicLongFieldUpdater需要的内存大小为(引用的大小+一个long对象的大小);结论 在大量需要大量的long实例,并且需要需要进行对应的原子操作的时候,AtomicLongFieldUpdater节省内存。一个At
2016-04-19 16:13:04 552
原创 Log4j和Slf4j的关系
Log4j是具体的实现,而Slf4j提供了一系列抽象接口,开发者一般用Slf4j提供的API进行开发,而Slf4j则调用Log4j进行日志的写入
2016-04-18 18:44:39 395
原创 Mysql的锁
Mysql的锁 在mysql中为了支持并发,提供了两种级别的锁,行锁和表锁,行锁并发性好但是加锁需要的时间更久,表锁并发性非常低但是加锁快。在innodb存储引擎中,行锁锁住的是索引,因此操作没有索引的话,就会导致大量的表锁,降低性能
2016-04-16 14:21:29 231
原创 Timer的scheduleAtFixedRate和schedule区别
Timer类 Timer类是进行任务调度的类,用来管理周期性任务的执行。scheduleAtFxiedRate和schedule 在Timer类中有两个方法用来提交周期性任务, public void schedule(TimerTask task, long delay, long period) ;和 public void scheduleAtFixedRate(TimerTask t
2016-04-08 16:55:21 550
原创 关于synchronized以及ReetrantLock、ReentrantReadWriteLock的选择
synchronized和ReetrantLock的区别 synchronized是java的内置锁,相对于ReetrantLock使用更加方便,如果实现自己的Lock,可以继承ReetrantLock来实现,在性能上,两个差异不是特别大。ReetrantLock仅仅高一点。 ReetrantReadWriteLock和上面两个相比,性能优越主要体现在读方面,因为多个线程同时读的时候是共享锁
2016-04-08 15:57:15 997
原创 代码中小知识点
1.ArrayList.toArray(new T[size]);如果size大于ArrayList的大小的话,后面用null进行填充。
2016-04-01 16:36:59 360
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人