java
文章平均质量分 86
SpeedMe
这个作者很懒,什么都没留下…
展开
-
java内部类引用外部类的变量时必须是final变量
每次android的触发事件时总是遇到内部类中不能调用外部类的非final变量。。但不知道什么原因,然后今天看到一个帖子上的跟们说的不错。知道原来是关于类的生命周期的问题。我的解决方法是将方法内的方法定义到方法外部来。。 今天编写一个多线程程序,发现在方法内定义内部类时,如果内部类调用了方法中的变量,那么该变量必须申明为final类型,百思不得其解,后来想到应该是生命周原创 2012-10-05 16:15:43 · 2612 阅读 · 1 评论 -
Java编程规范
1.If for while等语句的执行语句不管有多少都要加上{}2.相对独立的程序块之间,必须要有空行。public void fun(int i) { System.out.println(i);}int index;3.对齐只使用空格键不使用TAB键(因为不同编辑器tab键空格数可能不同)4.在两个以上的关键字、变量、常量进行对等操作时,他们之间的操作符之前、之后度需要加空格。5.将原创 2015-07-02 10:29:36 · 2133 阅读 · 0 评论 -
不要创建非必要对象
原文地址:http://leihuang.org/2014/11/10/avoid-creating-unnecessary-objects/首先我们来看下面两个语句的区别:String s = new String("hello world!") ;String s = "hello world!" ;当你循环调用上面两个语句的时候,你会发现:第一条语原创 2014-11-14 16:20:07 · 1114 阅读 · 0 评论 -
java对象循环依赖问题
原文地址:http://leihuang.net/2014/11/13/Cycular-Dependency/假设我们有一个类A,它包含了一个B的对象,同时类B也包含了一个A对象。那么此时不管你实例化哪一个类,都会出现StackOverflowError错误,这就是java对象循环依赖问题。类似于鸡和蛋的问题。首先我们看下面这段错误的代码,分析其错误的地方。pu原创 2014-11-15 13:26:02 · 8000 阅读 · 1 评论 -
super.getClass()与this.getClass()
原文地址:http://leihuang.org/2014/11/14/getClass-method/首先看一段代码:import java.util.Date;public class Test extends Date{ public static void main(String[] args) { new Test().test()原创 2014-11-15 13:29:11 · 4191 阅读 · 0 评论 -
详解java中clone方法
原文地址:http://leihuang.org/2014/11/14/java-clone/In java, it essentially means the ability to create an object with similar state as the original object.什么是clone字典中的意思就是复制(强调跟原来的一模原创 2014-11-15 13:31:24 · 5397 阅读 · 0 评论 -
Comparable和Comparator的区别
Comparable和Comparator都是用来实现集合中元素的比较、排序的,只是Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包 jav原创 2014-11-16 17:39:52 · 1898 阅读 · 0 评论 -
最小化类和成员的访问能力
原文地址:http://leihuang.org/2014/11/17/minmize-accessibility/信息隐藏要想区别一个设计良好的模块与一个设计不好的模块,最重要的因素是,这个模块对于外部的其它模块而言,是否隐藏了内部的数据和其他的实现细节。换句话说,就是模块的设计者是否对其进行了良好的封装。对于顶层的(非嵌套的)类和接口,它们只有2种访问级原创 2014-11-17 00:58:05 · 1686 阅读 · 0 评论 -
java内存泄露
原文地址:什么是内存泄露当某些对象不再被应用程序所使用,但是由于仍然被引用而导致垃圾收集器不能释放它们。下图中就是内存泄露的情形。 图中的中间部分就是内存泄露的发生地。为什么会内存泄露让我们来分析一下下图中的例子,看看为什么会发生内存泄露。对象A时B的引用。A的生命周期时t1-t4,而B的生命周期时t2-t3.所以当B原创 2014-11-14 16:21:34 · 1602 阅读 · 0 评论 -
java对象的生命周期
原文地址:http://leihuang.net/2014/11/13/Object-Lifecycle/什么是对象对象是数据和行为的集合对象是类的一个实例对象有状态和行为创建对象使用new关键字创建对象是java中最常见的一种方法。对象生命周期CreatedIn useInvisibleUnreachableCollectedFin原创 2014-11-15 13:27:03 · 1576 阅读 · 0 评论 -
禁止使用finalize方法
原文地址:http://leihuang.net/2014/11/13/Avoid-Finalizers/Don´t use Finalizers, mainly because are unpredictable and we don´t know when will be executed, "don't try to be smarter than the JVM"原创 2014-11-14 16:23:41 · 2838 阅读 · 0 评论 -
java中的static和final
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改原创 2014-03-20 00:02:00 · 5981 阅读 · 856 评论 -
java集合类TreeMap和TreeSet
看这篇博客前,我觉得很有必要先看下我之前的几篇博客Red-Black Trees(红黑树) (TreeMap底层的实现就是用的红黑树数据结构)探索equals()和hashCode()方法 (TreeMap/TreeSet实现使用到的核心方法)原创 2014-03-31 15:29:24 · 31240 阅读 · 3 评论 -
ArrayList与LinkedList的区别
List ADT有两种流行的实现方式。1.ArrayList类提供了List ADT的一种可增长数组的实现。使用ArrayList的有点在于,对get和set的调用花费常数时间。其缺点是新项的插入和现有项的删除代价昂贵,除非变动是在ArrayList的末端是在ArrayList的末端运行。2.LinkedList类则提供了List ADT的双链表实现。使用LinkedList的优点在于,新原创 2012-11-19 15:37:57 · 13180 阅读 · 3 评论 -
《Thinking In Algorithm》01.Array与ArrayList的区别(java)
1)一句话概括: ArrayList想象成一种“会自动扩增容量的Array”,Array大小不能变。2)Array([]):最高效;但是其容量固定且无法动态改变; ArrayList: 容量可动态增长;但牺牲效率;3)建议:基于效率和类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!不过当你试着解决更一般化的问题时,Array的功能原创 2014-01-07 20:48:13 · 3984 阅读 · 1 评论 -
java中的HashTable,HashMap和HashSet
上篇博客中我们详细的分析了java集合《java中Map,List与Set的区别》。同时我们也对HashSet和HashMap的核心方法hashcode进行了详解,见《探索equals()和hashCode()方法》。万事俱备,那么下面我们就对基于hash算法的三个集合HashTable,HashSet和HashMap详解。本文目录:1. HashTable和Has原创 2014-03-30 21:16:27 · 22495 阅读 · 6 评论 -
java中Map,List与Set的区别
Set,List,Map的区别java集合的主要分为三种类型:Set(集)List(列表)Map(映射)要深入理解集合首先要了解下我们熟悉的数组:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存原创 2014-03-28 15:51:58 · 250563 阅读 · 51 评论 -
探索equals()和hashCode()方法
如果你现在还对hashcode了解甚少的话,建议你先看看下面两篇博客,绝对有用,面试中经常问这些。《java中Map,List与Set的区别》《05.Hash Tables(哈希表)》equals()和hashCode()区别?-------------------------------------------------equals():反映原创 2014-03-30 03:30:07 · 7945 阅读 · 1 评论 -
这些年收藏的程序员必备网站
学习中我们需要不少,高质量的面向程序员的网站,比如一些工具的,形式学习形式的,论坛形式的,教育形式的网站。这篇文章中我主要介绍一些我平时用的非常多的网站,希望能帮到大家,也希望大家也一起来补充,我会长期更新,谢谢了。原创 2016-08-20 20:38:25 · 5281 阅读 · 0 评论