Java-网络工程2015 (集美大学)

  • Guava HashMultiMap(MultiMap)反转映射

    (一)MultiMap 多重map,一个key可以对应多个值(多个值放在一个list中), 可用于分组 举例: (二)还可以用于反转映射
    天生一对   2018-07-18 10:19   0   682
  • Guava HashMultiset(MultiSet)

    multiset:多重集合,和set唯一的不同是 set 集合中一个值只能出现一次,而multiset多重集合中一个值可以出现多次。 一个典型的应用就是统计单词出现次数 举例: 结果:
    天生一对   2018-07-18 09:32   0   217
  • java Exchanger

    Exchanger 用于两个线程之间交换数据,举例; 执行结果: 大概意思就是一个线程交换的数字是从1 10,而另一个线程则每次交换的数据都是0,可以看出这个exchanger.exchange(data);方法是一个阻塞方法,当一个线程等待交换时,一定会等到另一个线程也执行exchanger.ex
    天生一对   2018-07-13 18:03   0   227
  • java CyclicBarrier以及和CountDownLatch的区别

    CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。CyclicBarrier默认的构造方法是CyclicBarrier(int pa
    天生一对   2018-07-13 17:29   0   232
  • java CountDownLatch的使用

    CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程的数量。当每一个线程完成自己任务后,计数器的值就会减一。当计数器的值为0时,表示所有的线程都已经完成了任务,然后在CountDownLatch上等待的线程就可以恢复执行
    天生一对   2018-07-13 16:42   0   137
  • java Concurrent 中的数据结构

    一:阻塞数据结构(线程安全) 二:并发数据结构(线程安全)
    天生一对   2018-07-13 16:00   0   290
  • java7,java8 中HashMap和ConcurrentHashMap简介

    一:Java7 中的HashMap 结构: HashMap 里面是一个数组,然后数组中每个元素是一个单向链表。链表中每个元素称为一个Entry 实例,Entry 包含四个属性:key, value, hash 值和用于单向链表的 next。 属性: capacity :当前数组容量,始终保持 2^n
    天生一对   2018-07-13 15:15   0   706
  • java concurrent 中ExecutorService和CompletionService简单区别

    举个例子,现在需要执行10个任务,这些任务都是有返回值,并且需要使用10个线程同时执行。一般的做法就是创建ExecutorService线程池,pool大小10,每个任务实现Callable接口,然后执行使用List保存每个线程的Future结果,然后遍历这个List,取出future,然后使用.g
    天生一对   2018-07-13 11:21   0   140
  • java Runnable、Callable、FutureTask 和线程池

    一:Runnable、Callable、FutureTask简介 (1) Runnable :其中的run()方法没有返回值。 ①.Runnable对象可以直接扔给Thread创建线程实例,并且创建的线程实例与Runnable绑定,线程实例调用start()方法时,Runnable任务就开始真正在线
    天生一对   2018-07-13 10:29   0   1595
  • java CopyOnWriteArrayList

    CopyOnWriteArrayList这是一个ArrayList的 线程安全 的变体,其原理大概可以通俗的理解为:初始化的时候只有一个容器,多个线程同时读取数据没有问题,但是后来有人往里面增加了一个数据,这个时候CopyOnWriteArrayList 底层实现添加的原理是先copy出一个容器(可
    天生一对   2018-07-12 17:30   0   110