摘要: Java中的静态方法只能继承,不能重写!!官方文档是这样写的:Class methodsIf a subclass defines a class method with the same signature as a class method in the superclass, the method in the subclasshidesthe one in the superclass.如果一个子类定义了一个和父类静态方法中相同的方法(即方法名,参数和返回类型相同),则该类隐藏了父类中的这个方法。The distinction between hiding and overriding 阅读全文
posted @ 2013-11-06 19:00 冬叶's blog 阅读(2623) 评论(0) 推荐(0) 编辑
摘要: 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?3.1 如果你使用HashMap同时遍历key和value时,keySet与entrySet方法的性能差异取决于key的具体情况,如复杂度(复杂对象)、离散度、冲突率等。换言之,取决于HashMap查找value的开销。entrySet一次性取出所有key和value的操作是有性能开销的,当这个损. 阅读全文
posted @ 2013-10-23 21:17 冬叶's blog 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 今天看到Uri的匹配器用于匹配Uri,addURI()方法的源码如下: public void addURI(String authority, String path, int code){ if (code children = node.mChildren; //获取其长度 int numChildren = children.size(); UriMatcher child; int j; for (j = 0; ... 阅读全文
posted @ 2013-10-22 10:42 冬叶's blog 阅读(1877) 评论(0) 推荐(0) 编辑
摘要: Java中的流,可以从不同的角度进行分类。按照数据流的方向不同可以分为:输入流和输出流。按照处理数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。输出流:输入流:因此输入和输出都是从程序的角度来说的。字节流:一次读入或读出是8位二进制。字符流:一次读入或读出是16位二进制。字节流和字符流的原理是相同的,只不过处理的单位不同而已。后缀是Stream是字节流,而后缀是Reader,Writer是字符流。节点流:直接与数据源相连,读入或读出。直接使用节点流,读写不方便,为了更快的读写文件,才有了处理流。处理流:与节点流一块使用,在节点流的基础上,再套接一层,套接在节点流 阅读全文
posted @ 2013-10-19 14:13 冬叶's blog 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部顶级类即类名和文件名相同的只能使用public和default)。注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。对于一个名为outer的外部类和其内部定义的名为inner的内部类。编译完成后出现outer.class和outer$inner.class两类。所以内部类的成员变量/方法名可以和外部类的相同。 阅读全文
posted @ 2013-10-13 20:10 冬叶's blog 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 内存总体一共分为了4个部分(stack segment、heap segment、code segment、data segment)当我们在程序中,申明一个局部变量的时候,此变量就存放在了 stack segment(栈)当中;当new 一个对象的时候,此对象放在了heap segment(堆)当中;而static 的变量或者字符串常量 则存在在 data segment(数据区)中;那么类中方法的话,是存在在 code segment(代码区)中了。 阅读全文
posted @ 2013-10-11 19:54 冬叶's blog 阅读(1189) 评论(0) 推荐(0) 编辑
摘要: 在Java语言中, abstract class 和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对 于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。 理解抽象类 .. 阅读全文
posted @ 2013-10-09 15:37 冬叶's blog 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1,mybatis中#{sx}会使用?进行替代 ,$(xx)会完整将字符串完成替代2,mybaits,表中字段为user_id 在Address.class中没有userId属性,有对象User user。使用#{user.id}来表示。3,当数据库中的字段信息和对象属性不一致时,需要通过resultMap来映射。4,当数据库中的字段信息和对象的属性不一致时需要通过resultMap来映射 5,NoClassDefFoundError异常java.lang.NoClassDefFoundError: Could not initialize class tk.dongyeblog.sho... 阅读全文
posted @ 2013-09-03 09:17 冬叶's blog 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 周末天气不好,只能宅在家里,于是就顺便看了一下Go语言,觉得比较有意思,所以写篇文章介绍一下。我想写一篇你可以在乘坐地铁或公交车上下班时就可以初步了解一门语言的文章。所以,下面的文章主要是以代码和注释为主。只需要你对C语言,Unix,Python有一点基础,我相信你会在30分钟左右读完并对Go语言有一些初步了解的。Hello World1 package main //声明本文件的package名2 import "fmt" //import语言的fmt库——用于输出3 func main() {4 fmt.Println("hello world")5 阅读全文
posted @ 2013-08-31 15:14 冬叶's blog 阅读(1806) 评论(0) 推荐(0) 编辑
摘要: 1,对象创建在js中并不存在类,所以可以直接通过Object来创建对象。1 var person = new Object();2 person.name = "Leon";3 person.age = 33;4 person.say = function() {5 alert(this.name+","+this.age);6 }但是使用如上方式创建,带来最大的问题是,由于没有类的约束。无法实现对象的重复利用,并且没有一种约定,在操作时会带来问题。2,json表示法json的意思就是javascript simple object notation。j 阅读全文
posted @ 2013-08-17 17:38 冬叶's blog 阅读(194) 评论(0) 推荐(0) 编辑