摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 问题分析 由于每次跳的阶数不确定,没有一个固定的规律,但是可以了解的是后一次跳是在前一次跳的结果上累加的,因此我们可以考虑使用递归的方法来解决问题。 那么从递归的三个步骤开始寻找 阅读全文
posted @ 2016-08-22 17:42 风雪夜归人shen 阅读(2313) 评论(0) 推荐(0) 编辑
摘要:在使用JAVA进行Socket通信时,在Server端使用Scanner的nextLine()方法读取数据时,一直读取不到数据是因为Scanner是一个扫描器,它扫描数据都是去内存中一块缓冲区中进行扫描并读入数据的,而我们在控制台中输入的数据也都是被先存入缓冲区中等待扫描器的扫描读取。这个扫描器在扫 阅读全文
posted @ 2016-08-08 16:48 风雪夜归人shen 阅读(1056) 评论(0) 推荐(0) 编辑
摘要:枚举类型的使用: 定义一个枚举变量: 可以直接输出枚举变量的字符串形式和利用switch输出,在JDK1.6及之前switch只识别int,char,enum等类型变量,而不识别String字符串,因此可以用枚举进行转换;同时可以调用values()方法对枚举变量进行遍历: for (Day day 阅读全文
posted @ 2016-08-07 16:04 风雪夜归人shen 阅读(110) 评论(0) 推荐(0) 编辑
摘要:java.uitl.concurrent.ThreadPoolExecutor类是使用线程池时主要用到的类。在ThreadPoolExecutor类中提供了四个构造方法: 下面解释下一下构造器中各个参数的含义: corePoolSize:核心池的大小,这个参数跟后面讲述的线程池的实现原理有非常大的关 阅读全文
posted @ 2016-08-05 11:48 风雪夜归人shen 阅读(146) 评论(0) 推荐(0) 编辑
摘要:Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 一、通过继承Thread类实现多线程 通过如下方式运行: 运行结果如下: 二、通过继承Runnable接口实现多线程 阅读全文
posted @ 2016-08-04 21:57 风雪夜归人shen 阅读(11919) 评论(0) 推荐(2) 编辑
摘要:单例模式的定义: Ensure a class has only one instance, and provide a global point of access to it.( 确保某一个类只有一个实例, 而且自行实例化并向整个系统提供这个实例。) 单例模式的优缺点 优点: ● 由于单例模式在 阅读全文
posted @ 2016-08-02 11:24 风雪夜归人shen 阅读(225) 评论(0) 推荐(0) 编辑
摘要:快速求出两个数组的交集的算法,如果用循环遍历的方法,其时间复杂度为O(N^N),在面试中一般不考虑这种方法。 这里提供一种快速算法,算法实现步骤如下: 1. 找到arr1的最大数max,创建一个max+1大小的数组result。 2. 以arr1中的值作为result的下标,该索引处的值+1。 3. 阅读全文
posted @ 2016-07-07 10:59 风雪夜归人shen 阅读(2330) 评论(0) 推荐(0) 编辑
摘要:实现归属地查询大体有两种方法可以实现,一种是通过归属地API进行查询,另一种是查询本地数据库。两种方法各有优劣,最好结合起来使用,我本次采用的是查询数据库的方法。首先需要从网上下载归属地数据库callHomeDB.db。CSDN就可以下载。 下载好数据库之后,可以利用一个小软件SQLite Expe 阅读全文
posted @ 2016-07-05 17:31 风雪夜归人shen 阅读(483) 评论(0) 推荐(0) 编辑