资源简介
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源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论