- 博客(11)
- 资源 (33)
- 收藏
- 关注
原创 23种设计模式之单例模式
我们也经常遇到类似的情况,为了节约系统资源,有时需要确保系统中某个类只有唯一一个实例,当这个唯一实例创建成功之后,我们无法再创建一个同类型的其他对象,所有的操作都只能基于这个唯一实例。为了确保对象的唯一性,我们可以通过单例模式来实现,这就是单例模式的动机所在。定义:单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称
2014-12-27 16:36:06 952
原创 各种问题的理解
// 用静态变量,它是依赖类存在而存在的,在方法区的静态区,而成员变量则是依赖对象存在而存在,是对象变量,存储在堆内存。还有就是static方法中不能用非static变量//静态方法在类加载时就会加载到栈内存,为其分配固定的内存空间,当调用它时调用,直到程序结束时销毁。非静态方法则是调用完就销毁//用static修饰的变量是全局变量,且static变量不能在方法中定义。//静态
2014-12-27 15:10:15 634
原创 static,this,private关键字用法
1:成员变量和局部变量的区别(理解)(1)在类中的位置不同成员变量:类中方法外局部变量:方法定义中或者方法声明上(2)在内存中的位置不同成员变量:在堆中局部变量:在栈中(3)生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用而存在,随着方法的调用完毕而消失(4)初始化值不同成员变量:有默认值局部变量:没有默认值,
2014-12-26 14:41:05 928
原创 Java学习之参数传递详解
Java中的参数传递问题:基本类型:形式参数的改变对实际参数没有影响。在参数传递过程中,形参和实参占用了两个完全不同的内存空间。引用类型:形式参数的改变直接影响实际参数。在参数传递的过程中,形参和实参指向的是同一块内存空间。public class bb { public static void main(String[] args) { int a = 10;
2014-12-23 16:42:43 997
原创 Java学习之二维数组定义与内存分配详解
二维数组:就是元素为一维数组的一个数组。格式1:数据类型[][] 数组名 = new 数据类型[m][n];m:表示这个二维数组有多少个一维数组。n:表示每一个一维数组的元素有多少个。注意:A:以下格式也可以表示二维数组a:数据类型 数组名[][] = new 数据类型[m][n];b:数据类型[] 数组名[] = new 数据类型[m][n];B:
2014-12-23 15:55:41 2091
原创 Java学习之栈和堆的区别
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。在堆中产生了一个数组或对象后,还可以在栈中定义
2014-12-20 17:20:00 670
原创 Java学习之位运算符
位运算符/*^位异或的特点:一个数据对另一个数据位异或两次,该数本身不变。*/class OperatorDemo2 { public static void main(String[] args) { int a = 10; int b = 20; System.out.println(a ^ b ^ b); //10 System.out.pri
2014-12-19 15:04:58 757
原创 Java学习之运算符使用注意的问题
运算符使用注意的问题运算符(1)算术运算符A:+,-,*,/,%,++,--B:+的用法a:加法b:正号c:字符串连接符C:/和%的区别数据做除法操作的时候,/取得是商,%取得是余数D:++和--的用法a:他们的作用是自增或者自减b:使用**单独使用放在操作数据的前面和后面效果一样。a++或者++a效果
2014-12-18 20:57:19 944
原创 Java学习之控制跳转语句
控制跳转语句控制跳转语句:(1)break:中断的意思A:用在循环和switch语句中,离开此应用场景无意义。B:作用a:跳出单层循环b:跳出多层循环,需要标签语句的配合(2)continue:继续A:用在循环中,离开此应用场景无意义。B:作用a:跳出单层循环的一次,执行下一次的循环(3)return:返回A:用于结束一个方法。B:一旦遇
2014-12-18 18:18:59 1077
原创 Java提升篇之反射的原理(二)
Java提升篇之通过反射越过泛型检查/**问题:在一个ArrayList对象中,在这个集合中添加一个字符串。*/在我们还没有学反射前,遇到这个问题都是无法实现的,而可以通过反射来实现,因为Java中的泛型检查只是在编译时检查,所以,我们可以通过反射,来获得它的字节码对象,进而获取相应方法来实现。import java.lang.reflect.Method;import ja
2014-12-16 22:36:52 861 1
原创 Java提升篇之反射的原理
Java提升篇之反射的原理1、构造方法的反射import java.lang.reflect.Constructor;public class ReflectConstructor { public static void main(String[] args) throws Exception { Constructor constructor = Class.forName
2014-12-14 18:07:53 892
DiskLruCache
2015-07-23
CollapsingToolbarLayout使用 源码下载
2015-07-16
ViewFlipper详解demo
2015-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人