摘要:
算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上,有位同学生动地把这些基础课程比拟为“内功”,把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式, 阅读全文
摘要:
看看下面这段程序输出什么?public class Test { static { _i = 20; } publicstaticint _i = 10; publicstaticvoid main(String[] args) { System.out.println(_i); } } 上述代码会打印出什么结果来呢?10还是20?本文将以此代码为引子,着重讨论一下静态变量的初始化问题。问题1:静态变量如何初始化Java类中可以定义一个static块,用于静态变量的初始化。如:public class Test { public static int_i; static {... 阅读全文
摘要:
1. sort(byte[] a ): 对指定的byte型数组按数字升序进行排序; 2. sort(byte[] a,int fromIndex, inttoIndex): 对指定byte型数组的指定范围按数字升序进行排序; 3. sort(char[] a ): 对指定的 char 型数组按数字升序进行排序; 4. sort(char[] a , int fromIndex, int toIndex): 对指定的 char 型数组的指定范围按数字升序进行排序; 5. sort(double[] a): 对指定的double型数组按数字升序进行排序; 6. sort(double[] a, i 阅读全文
摘要:
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。下面通过两个例子分别用Comparable和Comparator实现对User对象中年龄排序。1.通过实现Comparable接口,根据User的年龄进行排序。Java代码import java.util.Arrays;public class ComparableUser implements Comparable { private String id; private int age; public ComparableUser(String id, i 阅读全文
摘要:
序列化是将对象转化为字节流的方法,序列化目的有:1> 进程间通信;2> 数据持久性存储。RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。Hadoop采用RPC来实现进程间的通信。Generally,RPC的序列化机制有以下特点:1> 紧凑:紧凑的格式可以利用带宽,加快传输 阅读全文