`
latex
  • 浏览: 29165 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

asdfasfd

http://www.laomaotao.net/?H9197
http://wadainying.com/moviez 界面使用了twitter的bootstrap。
测试一下啦
MyInitBean.java import org.springframework.beans.factory.InitializingBean; public class MyInitBean implements InitializingBean { @Override public void afterPropertiesSet() throws Exception { System.out.println("调用InitializingBean的afterPropertiesSet()..."); } } TestInitB ...
Executors中的重要方法(续): 8. ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory) 创建一个计划任务线程池,池中的worker线程数中有一个。处理的任务放在一个延迟任务队列(DelayedWorkQueue)中,产生新线程的工厂为threadFactory。同时执行的任务将按照FIFO顺序来执行。 9. ScheduledExecutorService newScheduledThreadPool(int corePoolSize) 创建一个计划任务线程池 ...
Executors中的重要方法(续): 5. ExecutorService newCachedThreadPool() 创建一个线程池,根据需要来产生新的线程,同时可以重用现成的可用线程。处理的任务存放在一个队列同步队列(SynchronousQueue)中。如果线程池中的线程闲置60秒,则此线程将被终止,移出线程池。 6. ExecutorService newCachedThreadPool(ThreadFactory threadFactory) 创建一个线程池,根据需要来产生新的线程,同时可以重用现成的可用线程。处理的任务存放在一个队列同步队列(SynchronousQueue)中 ...
java.util.concurrent.Executors: 工厂类,提供了一些工具方法。支持以下各种方法: 1. 创建并返回设置有常用配置字符串的 ExecutorService 的方法。 2. 创建并返回设置有常用配置字符串的 ScheduledExecutorService 的方法。 3. 创建并返回“包装的”ExecutorService 方法,它通过使特定于实现的方法不可访问来禁用重新配置。 4. 创建并返回 ThreadFactory 的方法,它可将新创建的线程设置为已知的状态。 5. 创建并返回非闭包形式的 Callable 的方法,这样可将其用于需要 Callabl ...
ExecutorService中重要的方法(续): 6. <T> Future<T> submit(Callable<T> task) 提交一个有返回值的任务,并返回一个Future。使用Future的get方法来取得任务执行的结果。 7. <T> Future<T> submit(Runnable task, T result) 提交一个Runnable任务,并返回一个Future。使用Future的get方法来取得任务执行的结果。 8. Future<?> submit(Runnable task) 提交一个Ru ...
java.util.concurrent.ExecutorService: ExecutorService扩展了Executor并添加了一些生命周期管理的方法,同时提供一个Future用来监控异步任务的执行过程。一个Executor的生命周期有三种状态,运行 ,关闭 ,终止 。Executor创建时处于运行状态。当调用ExecutorService.shutdown()后,处于关闭状态,isShutdown()方法返回true。这时,不应该再向Executor中添加任务,所有已添加的任务执行完毕后,Executor处于终止状态时isTerminated()返回true。如果Executor处于 ...
LinkedBlockingDeque中的重要方法(续): 16. E takeFirst()==E take() 17. E takeLast() 在锁定状态下删除处在队列头/尾的节点。调用unlinkFirst/unlinkLast方法。如果队列为空则当前线程进入等待区 18. void addFirst(E e)== void push(E e) 19. void addLast(E e) ≈ boolean add(E e) 在锁定状态下插入一个节点到队列头/尾。调用offerFirst/offerLast,如果队列已满,则抛出IllegalStateException异常 20. E ...
LinkedBlockingDeque中的重要方法: 1. boolean linkFirst(E e) 2. boolean linkLast(E e) 插入一个节点到队列头/尾。如果队列已满,则返回false,否则生成一个节点并插入队列,然后唤醒一个等待notEmpty条件的线程,返回true 3. E unlinkFirst() 4. E unlinkLast() 删除处在队列头/尾的节点。如果队列为空,则返回null,否则执行删除,然后唤醒一个等待notFull条件的线程,返回被删除的元素 5. void unlink(Node<E> x) 删除指定节点,唤醒所有等待not ...
java.util.concurrent.LinkedBlockingDeque: 拥有单个锁的双向阻塞队列。它使用了conditions来控制阻塞。操作时不满足条件时,操作终止或等待条件满足。 LinkedBlockingDeque中的重要字段: 1. private transient Node<E> first 队列中第一个节点 2. private transient Node<E> last 队列中最后一个节点 3. private transient int count 队列中节点的个数 4. private final int capacity 队列的最 ...
ConcurrentHashMap中内部类Segment<K,V>的重要方法 重要方法: a) static final <K,V> Segment<K,V>[] newArray(int i) 创建指定大小的Segment数组。 b) HashEntry<K,V> getFirst(int hash) 得到当前段指定槽位的第一个Entry。 c) V readValueUnderLock(H ...
ConcurrentHashMap中的内部类: 1. static final class HashEntry<K,V> 每个段中链表元素的节点。其中的next字段是final的,不能修改,所以不能在这个节点的下面添加新节点,只能在它的前面添加。 2. static final class Segment<K,V> extends ReentrantLock implements Serializable 重要字段: a) transient volatile int count 当前段Segment中元素的个数。 b) transient int modCoun ...
ConcurrentHashMap中重要的方法: 1. V get(Object key) 先从segments数组中取出对应的段Segment<K,V>,然后再取到对应key的value值。 2. V put(K key, V value) 先从segments数组中取出对应的段Segment<K,V>,然后对key赋值。当value为null时抛出NullPointerException异常 3. V remove(Object key) 先从segments数组中取出对应的段Segment<K,V>,然后再执行删除操作。 4. boolean c ...
Global site tag (gtag.js) - Google Analytics