java
有雄心的小菜鸟
这个作者很懒,什么都没留下…
展开
-
java 多态理解
java 多态可以理解为,一个对象具有多种形态。例如: abstratc class Animal{ public void eat(){}}class dog extends Animal{ public void eat()}Dog对象具有Dog形态,也具有Animal形态。所有继承Animal的类的实例,都具有Animal的形态。Ani原创 2015-08-18 08:49:16 · 277 阅读 · 0 评论 -
java 集合知识点(未完)
hashMap: threshold= capacity * loadFactor (默认是16*0.75)= 12;当存了12个数据后,会自动扩容。原创 2016-03-10 21:20:09 · 322 阅读 · 0 评论 -
java 快排练习
快排思路:取一个元素作为key,把数组分成两部分,一部分大于key,一部分小于key,key值在中间。在对前后两部分递归的使用该步骤。编程思路,取第一做key,从右边找比key小的,进行交换;记录key所在位置,再从左边找比key大的,与key交换。以此反复。public class QuickSort {public static void main(String[] arg原创 2015-11-18 16:30:04 · 324 阅读 · 0 评论 -
java 归并排序
其实归并排序的中真正排序过程在Merge方法中。原创 2015-12-05 15:55:59 · 354 阅读 · 0 评论 -
java 生产者消费者
public class ProduceConsumer {public static void main(String[] args) {Myqueue queue = new Myqueue();Producer p1 = new Producer(queue);Producer p2 = new Producer(queue);Producer p3 =原创 2015-11-18 16:26:14 · 255 阅读 · 0 评论 -
ThreadLocal 理解
ThreadLocal可以理解为l每个线程的共享数据。不是用于线程同步的。每个线程自己维护一个ThreadLocal的hashMap,以Threadlocal的实例为key。android的源码和java sdk 有所不同,主要是存放键值对的结构不一样。推荐2篇文章:http://my.oschina.net/clopopo/blog/149368http://qifugu原创 2015-12-21 11:21:26 · 283 阅读 · 0 评论 -
java 二叉树 建立完全二叉树和广度优先遍历
今天想写个如何建立完全二叉树的方法。顺便把二叉树的广度优先遍历也写了下。其实这两者思路都相似,都是用队列实现的,先进先出。若有任何问题,敬请指出来!一.建立完全二叉树思路:先从根节点开始,判断左右子树是否为空。若为空,将新节点插入子树;若不为空,就把根节点的左右子树入队列,开始下一次循环。从队列中先取出根节点的左子树,判断是否为空,若为空,插入。若不为空,则将其左右子树入队列。依队列顺序再原创 2015-12-05 14:16:17 · 2222 阅读 · 0 评论 -
选择排序和冒泡排序区别以及冒泡排序优化
选择排序和冒泡排序区别我一直搞不太清这两个具体区别。打算研究下。原创 2015-12-07 22:58:35 · 667 阅读 · 0 评论 -
android事件分发、拦截、处理(未完)
自己写了一个关于android事件分发、拦截、处理的示例代码:http://download.csdn.net/detail/fengyun703/9318679现在只是了解的大概,对这些机制还有些懵懂。今后继续补充吧。原创 2015-12-02 11:56:50 · 291 阅读 · 0 评论 -
java 字符串比较诡异状况
今天无意中写了一段错误代码。但却能执行成功,好奇怪。不知道问什么?按理说“1”在常量池中,地址不可能和mode字符串的堆地址一样?真的很诡异。不知道问什么?if("1"== mode){type = "电话拦截";System.out.println("type 电话拦截 " + mode);}else if("2"== mode ){type = "短信拦截";Sy原创 2015-12-04 23:42:13 · 305 阅读 · 0 评论 -
<编程之美>2.4 1的数目的解释
题目:给定一个十进制整数N,求出从1到N的所有整数中出现”1”的个数。 以下是我自己一点理解,希望能帮到大家。其实最重的是这种思路,把一个复杂的大问题,经分析,划分成小问题,依次解决。不过真的很难做到,慢慢努力吧。书中第二解法的解释按书中说法:假设abcd是个4位数,求其中1—abcd中出现1的个数。把问题划分成求个位、十位、百位、千位出现1的次数,最后求和。书原创 2015-11-20 21:42:22 · 304 阅读 · 0 评论 -
求最大公约数
其实网上很多这个问题解法了,辗转相除或者相减。我这里就写个简单证明吧,为什么能辗转相除。有什么不对的请指出。证明:假设y>=x,求x,y的公约数(其实x,y谁大都没关系,在辗转一次后(取余后),大的数会在前面的)y=ax+b; y,x 有最大公约数 ,假设这个公约数是c,等式两边同时除以c则y/c = ax/c +b/c ;左右两边都是整数,则b/c也必须是整数(0,1.原创 2015-11-24 10:49:20 · 304 阅读 · 0 评论 -
堆排序
花了大半天时间研究了下堆排序。总体来说堆排序是选择排序和分治思想的结合。每次选择堆顶元素,堆顶元素要么是最大,要么是最小的。分治是指堆进行调整时,每次调整都只会影响一个子树,都使得数据量减少一半。堆排序的过程:1.建立堆化数组:从最后一个非叶子节点开始调整,从后往前调整,每次调整后该子树为符合要求的堆,直到i=0的根节点调整完。调整的具体步骤下面介绍。2.把堆顶和堆最后一个位置互换,堆原创 2015-11-23 11:36:22 · 428 阅读 · 0 评论 -
Head First 设计模式读书笔记
第一章 设计模式入门Duck设计原则:把可能变化之处找出来,并独立。 针对接口编程,实现多态。把Duck的可能变化的行为独立出来,委托给行为类实现,可以动态修改Duck的行为。总结:Duck抽象类负责架构:定义2个行为接口的成员变量并提供赋值方法;在其他地方new对象,并对其赋值。Duck的子类负责实现。具体代码如下:原创 2016-05-12 12:07:41 · 1028 阅读 · 0 评论