- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 共同学习Java源代码-多线程与并发-ConcurrentHashMap(二)
privatestaticfinal ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("segments", Segment[].class), new ObjectStreamField("segmentMask", Integer.TYPE),
2018-01-23 07:33:09 327
原创 共同学习Java源代码-数据结构-Deque
这个是双向队列 public interface Deque extends Queue 继承自Queue接口 void addFirst(E e); 在双向队列最前端添加元素 void addLast(E e); 在双向队列最末端添加元素 boolean offerFirst(E e); 在双向队列最前端添加元素
2018-01-21 19:08:37 388
原创 共同学习Java源代码-多线程与并发-ConcurrentHashMap(一)
ConcurrentHashMap是每个Java学习者必看的类 public class ConcurrentHashMap extends AbstractMap implements ConcurrentMap, Serializable 这个类继承了AbstractMap 类 实现了ConcurrentMap、Serializable接口 private static
2018-01-21 18:39:47 319
原创 共同学习Java源代码-多线程与并发-ConcurrentMap接口
这个接口是ConcurrentHashMap实现的接口 ConcurrentHashMap是开发者必须掌握的类 public interface ConcurrentMap extends Map 这个接口继承自Map接口 @Override default V getOrDefault(Object key, V defaultValue) {
2018-01-20 17:15:22 373
原创 共同学习Java源代码-数据结构-PriorityQueue类(八)
private void heapify() { for (int i = (size >>> 1) - 1; i >= 0; i--) siftDown(i, (E) queue[i]); } 这个方法是堆化的方法 我现在才搞明白PriorityQueue的存储方式是用数组存储二叉树 0下标为根节点 2n+1下标为左节点 2n+2下标为右节
2018-01-19 21:38:42 201
原创 共同学习Java源代码-数据结构-PriorityQueue类(七)
privatevoid siftUp(intk, E x) { if (comparator != null) siftUpUsingComparator(k, x); else siftUpComparable(k, x);}这是siftUp方法 判断comparator属性是否为空如果不为空就调用siftUpUsingCo
2018-01-19 07:21:27 212
原创 共同学习Java源代码-数据结构-PriorityQueue类(六)
publicint size() { returnsize;}size方法返回size publicvoid clear() { modCount++; for (inti = 0; i size; i++) queue[i] = null; size = 0;} 这个是清除所有元素的方法修改次数自增 遍历数组 将每个元
2018-01-19 07:20:49 175
原创 共同学习Java源代码-数据结构-PriorityQueue类(五)
public Iterator iterator() { return new Itr(); } 这个是迭代器方法 private final class Itr implements Iterator { 这个是实现了迭代器接口的内部迭代器类 private int cursor = 0; 这个是迭代光标 pr
2018-01-14 17:41:47 185
原创 共同学习Java源代码-数据结构-PriorityQueue类(四)
public boolean remove(Object o) { int i = indexOf(o); if (i == -1) return false; else { removeAt(i); return true; } } 这
2018-01-14 16:30:14 187
原创 共同学习Java源代码-数据结构-PriorityQueue类(三)
private void grow(int minCapacity) { int oldCapacity = queue.length; int newCapacity = oldCapacity + ((oldCapacity (oldCapacity + 2) :
2018-01-11 14:24:29 167
原创 共同学习Java源代码-数据结构-PriorityQueue类(二)
private void initFromPriorityQueue(PriorityQueue c) { if (c.getClass() == PriorityQueue.class) { this.queue = c.toArray(); this.size = c.size(); } else {
2018-01-11 11:04:35 173
原创 共同学习Java源代码-数据结构-PriorityQueue类(一)
这是优先队列 public class PriorityQueue extends AbstractQueue implements java.io.Serializable 这是类的描述 继承自 AbstractQueue 实现了Serializable接口 private static final int DEFAULT_INITIAL_CAPACITY = 11;
2018-01-10 10:28:42 225
原创 共同学习Java源代码-多线程与并发-ThreadPoolExecutor类(十六)
这是ThreadPoolExecutor最后一篇博客 内容是拒绝策略 public static class CallerRunsPolicy implements RejectedExecutionHandler { public CallerRunsPolicy() { } public void rejectedExecution(Runnabl
2018-01-09 12:55:24 188
原创 共同学习Java源代码-多线程与并发-ThreadPoolExecutor类(十五)
public String toString() { long ncompleted; int nworkers, nactive; final ReentrantLock mainLock = this.mainLock; mainLock.lock(); try { ncompl
2018-01-09 10:57:09 199
原创 共同学习Java源代码-多线程与并发-ThreadPoolExecutor类(十四)
public void purge() { final BlockingQueue q = workQueue; try { Iterator it = q.iterator(); while (it.hasNext()) { Runnable r = it.next();
2018-01-09 10:27:06 228
原创 共同学习Java源代码-多线程与并发-ThreadPoolExecutor类(十三)
public void allowCoreThreadTimeOut(boolean value) { if (value && keepAliveTime throw new IllegalArgumentException("Core threads must have nonzero keep alive times"); if
2018-01-03 16:35:23 293
原创 共同学习Java源代码-多线程与并发-ThreadPoolExecutor类(十二)
public void setThreadFactory(ThreadFactory threadFactory) { if (threadFactory == null) throw new NullPointerException(); this.threadFactory = threadFactory; }
2018-01-03 16:01:50 187
原创 共同学习Java源代码-多线程与并发-ThreadPoolExecutor类(十一)
public boolean isTerminating() { int c = ctl.get(); return ! isRunning(c) && runStateLessThan(c, TERMINATED); } 判断是否在终止的方法 就是获取ctl 判断状态不是RUNNING 并且数值小于TERMINATED publ
2018-01-02 16:45:15 199
原创 共同学习Java源代码-多线程与并发-ThreadPoolExecutor类(十)
public void execute(Runnable command) { if (command == null) throw new NullPointerException(); int c = ctl.get(); if (workerCountOf(c) if (addWork
2018-01-02 16:34:27 205
原创 共同学习Java源代码-并发与锁-AbstractOwnableSynchronizer
这个抽象类是AQS的父类 public abstract class AbstractOwnableSynchronizer implements java.io.Serializable 实现Serializable接口 protected AbstractOwnableSynchronizer() { } 默认构造方法 private tran
2018-01-01 17:21:37 1087 2
原创 共同学习Java源代码-多线程与并发-ThreadPoolExecutor类(九)
public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
2018-01-01 16:59:35 164
带事务回滚测试的SSH整合小案例(Spring 3.2+Hibernate 3.3+Struts 2.3)
2013-05-27
省市区三级级联(Ajax+JSP+Servlet+JDBC+Oracle)
2012-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人