- 5
- 0
- 约7.57万字
- 约 66页
- 2017-06-07 发布于湖北
- 举报
第四章 分布式应用与Sun JDK 类库
JDK 是Java 规范的实现,Java 程序运行在各家厂商的JDK 上,其实现方式一定程度上决
定了程序的运行性能表现,各家厂商 (例如Oracle、IBM、HP 等)在实现 Java 规范时采用
的方法并不一定相同,在编写Java 程序时,由于JDK 提供了众多实现了同样接口的类,如
何选择合适的类来实现需求就成了难题,这也是需要深入理解JDK 的原因,以做到根据需求
来选择合适的类,而不是想当然的认为调用某个类的某个方法时就会达到预期的效果,否则
很有可能因为对JD K 的实现不了解而导致最终程序运行的效果和预期不一致。
Sun JDK 是目前使用最广泛的JDK ,本章基于JDK 6 Update 12 的代码对Sun JDK 常用
package 中的常用类进行分析,分析常用类中方法的实现方式,并评估类中的常用方法在不
同场景下的性能表现,在掌握了这些知识点后,对于合理的根据需求选择类会有一定的帮助。
JDK 常用package 中的常用类进行分析,分析的方法为掌握常用的类中的方法的实现原理,
并评估类中的常用方法在不同场景下的性能表现,在掌握了这些知识点后,对根据需求合理
地选择类会有一定的帮助。
JDK 分为了几个大的包,对于构建分布式Java 应用而言,其中最需要掌握的有集合、并
发、网络 (包括网络 BIO 以及网络 NIO)以及序列化/反序列化,其中网络包遵循通信协议
和操作系统实现方式而实现,因此其表现更多的取决于通信协议和操作系统的实现方式以及
程序的使用方法 (例如连接池、长连接等),本章中将对除网络之外的包进行分析。
本章中的代码测试时的硬件环境为:6 核Intel(R) Xeon(R) CPU E5530 @ 2.40GHz,4G 物
理内存,软件环境为:32 位 Linux 2.6.18,Sun JDK 1.6.0 update 12 。
4.1 集合包
集合包是Java 中最常用的包, 集合包中常用的主要有Collection 和Map 两个接口的实
现类,Collection 用于存放多个单对象,Map 用于存放Key-Value 形式的键值对。
Collection 中常用的又分为两种类型的接口:List 和Set,两者最明显的差别为List 支持
放入重复的对象,而Set 不支持。List 接口常用的实现类有:ArrayList 、LinkedList、Vector 以
及Stack ;Set 接口常用的实现类有:HashSet、TreeSet ,对于Collection 的实现类而言,最需
要掌握的为以下几点
:
Collection 的创建
对应的为 Collection 实现类的构造器,需要掌握在构造器方法中Collection 的实现类都
1
做了些什么。
往Collection 中增加对象
对应的为Collection 中的add(E)方法,往Collection 中增加对象时Collection 的实现方式
决定了此方法的性能。
删除Collection 中的对象
对应的为Collection 中的remove(E)方法,实现类的实现方式决定了此方法的性能。
获取Collection 中的单个对象
对应的为Collection 中的get(int index)方法,实现类的实现方式决定了此方法的性能。
遍历Collection 中的对象
对应的为通过Collection 的iterator 方法获取到迭代器,进而进行遍历。
判断对象是否存在于Collection 中
对应的为Collection 中的contains(E)方法,实现类的实现方式决定了此方法的性能。
Collection 中对象的排序
如何对 Collection 中对象进行合理的排序也是使用Collection 对象时经常需要考虑的问
题,但由于排序主要取决于所采取的排序算法,在此处就不多进行讲解了。
按照这几点来分析下常用的List 和Set 实现类的实现方式。
4.1.1 ArrayList
实现方式
对应上面需要掌握的几点,来看看ArrayList 的实现方式。
您可能关注的文档
- 动画大师安装与应用——随机彩球(讲师:小虫).docx
- 动量算符及角动量算符.pdf
- 动态内存分配及深复制.ppt
- 桐乡市区域规划讲述.ppt
- 投资学第2讲金融工具.ppt
- 动物克隆技术研究的历史、现状和展望.pdf
- 托福写作和美国学术写作的区别-智课教育旗下智课教育.pdf
- 儿童朴素物理学的错误概念与影响概念转换的因素.pdf
- 二叉树的存储和遍历.ppt
- 二叉树类模板的设计和实现.docx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)