摘要:
Counting Bits Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1's in their binary repres 阅读全文
摘要:
前言 当开发者从单线程开发模式过渡到多线程环境,一个比较棘手的问题就是如何在一个线程中返回数据,众所周知,run()方法和start()方法不会返回任何值。 笔者在学习《Java Network Programming》一书时,总结三种常用方法:定义获取器、静态方法回调以及实例方法回调。 定义获取器 阅读全文
摘要:
概念 代理模式是基本的设计模式之一,它是开发者为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象。这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色。 Java动态代理比代理的思想更进一步,因为它可以动态地创建代理并动态地处理对代理方法的调用。在动态代理上所做的所有调用 阅读全文
摘要:
概念 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 Class类与java.lang.reflect类库一起对反射的概念进行了支持,该类 阅读全文
摘要:
Heap简介 Heap译为“堆”,是一种特殊的树形数据结构,它满足所有堆的特性:父节点的值大于等于子节点的值(max heap),或者小于等于子节点的值(min heap)。对于max heap 根节点的值为整个树最大值,反之亦然,min heap 根节点的值为整个树最小值。本文采用Java编程语言 阅读全文
摘要:
引言 JUnit 作为Java语言的测试框架,在测试驱动开发(TDD)下扮演重要的角色。众所周知,无论开发大型项目还是一般的小型项目, 单元测试都至关重要。单元测试为软件可发测试维护提供了很大的便利。JUnit 4 作为最新版本,增添了许多新的特性, 结合Hamcrest,可以写出很多灵活的测试。从 阅读全文
摘要:
二叉查找树简介 二叉查找树(Binary Search Tree), 也成二叉搜索树、有序二叉树(ordered binary tree)、排序二叉树(sorted binary tree), 是指一棵空树或者具有下列性质的的二叉树: 1. 若任意节点的左子树不空,在左子树上所有结点的值均小于或等于 阅读全文
摘要:
流与文件的操作在编程中经常遇到,与C语言只有单一类型File*即可工作良好不同,Java拥有一个包含各种流类型的流家族,其数量超过60个!当然我们没必要去记住这60多个类或接口以及它们的层次结构,理解和掌握其中比较常用的类和接口即可,必要的时候查询文档或API。我们把流家族成员按照它们的使用方法来进 阅读全文