资源简介
Java 并发编程实战pdf + 随书源码 (书高清版,带超详细书签目录)
本资源转载自网络,供学习研究之用,如用于商业用途,请购买正版,如有侵权,请联系我或CSDN删除。
代码片段和文件信息
package net.jcip.examples;
import java.util.*;
/**
* Animals
*
* Thread confinement of local primitive and reference variables
*
* @author Brian Goetz and Tim Peierls
*/
public class Animals {
Ark ark;
Species species;
Gender gender;
public int loadTheArk(Collection candidates) {
SortedSet animals;
int numPairs = 0;
Animal candidate = null;
// animals confined to method don‘t let them escape!
animals = new TreeSet(new SpeciesGenderComparator());
animals.addAll(candidates);
for (Animal a : animals) {
if (candidate == null || !candidate.isPotentialMate(a))
candidate = a;
else {
ark.load(new AnimalPair(candidate a));
++numPairs;
candidate = null;
}
}
return numPairs;
}
class Animal {
Species species;
Gender gender;
public boolean isPotentialMate(Animal other) {
return species == other.species && gender != other.gender;
}
}
enum Species {
AARDVARK BENGAL_TIGER CARIBOU DINGO ELEPHANT FROG GNU HYENA
IGUANA JAGUAR KIWI LEOPARD MASTADON NEWT OCTOPUS
PIRANHA QUETZAL RHINOCEROS SALAMANDER THREE_TOED_SLOTH
UNICORN VIPER WEREWOLF XANTHUS_HUMMINBIRD YAK ZEBRA
}
enum Gender {
MALE FEMALE
}
class AnimalPair {
private final Animal one two;
public AnimalPair(Animal one Animal two) {
this.one = one;
this.two = two;
}
}
class SpeciesGenderComparator implements Comparator {
public int compare(Animal one Animal two) {
int speciesCompare = one.species.compareTo(two.species);
return (speciesCompare != 0)
? speciesCompare
: one.gender.compareTo(two.gender);
}
}
class Ark {
private final Set loadedAnimals = new HashSet();
public void load(AnimalPair pair) {
loadedAnimals.add(pair);
}
}
}
相关资源
- 深入嵌入式Java虚拟机
- 基于Java的企业人事管理系统
- 基于Java的聊天软件
- java轻量级智能快速开发平台框架
- Java性能权威指南 高清完整版 pdf
- Java OpenCV 3.0 中文版
- Java 并发编程的艺术PDF清晰完整版+源
- Java Socket 通信服务与客户端完整
- lucene 全文检索系统 java源码 信息检
- java 实现word 转PDF
- 医院门诊预约系统JavaWeb设计
- 2018-2019年黑马最新版Java程序员面试宝
- JAVAWeb聊天室184508
- JAVA教程(史上最全)
- JavaEE项目源码及文档
- 在线小区物业管理系统
- 网上花店系统java附带数据库。论文
- jsp+javaBean+mysql在线调查问卷系统-Jav
- apache-ant-1.9.4-bin
- 学生信息管理系统含Java源代码 毕业论
- 学生成绩管理系统 java+sql
- 基于java web的超市管理系统包含源文件
- java web项目,在线水果商城
- JAVA语言开发的企业宣传网站源码
- JAVA课程设计学生信息管理系统源码
- java解析ASN.1文件的和简要使用说明
- java编写的一个简单bbs网站完整代码
- JAVA 做的教务管理系统毕业设计
- javaweb 实现的图书管理系统完整版
- java代码实现的微云盘系统仿百度云
评论
共有 条评论