程序最终都将在内存中执行,变量只有在内存中占有一席之地时才能被访问。类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。在一个类的静态成员...
分类:
其他好文 时间:
2015-03-04 16:19:49
阅读次数:
97
一.block的内存分析如上图:定义了一个weak的block,那么它在内存中的表现形式如右下角,1.没有对block进行copy操作,而是weak,block就存储在栈空间中.2.如果block存储于栈空间,不会对block内部所用到的对象产生强引用.如上图:对block进行了一次copy操作,如...
分类:
其他好文 时间:
2015-02-11 18:01:46
阅读次数:
530
一、基本概念1、Collecction:一个独立元素的序列,这些元素服从一条或多条规则。list必须按照插入的顺序保存元素;set不能有重复的元素;Queue按照排队规则来确定对象产生的顺序2、Map:映射表,一组由成对的键值对对象,允许使用键来查找值 1 package holding; 2 im...
分类:
编程语言 时间:
2015-02-01 17:38:41
阅读次数:
264
1.单例设计模式 所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生。具体实现步骤如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。 (2) 在其内部产生该类的实例化对象,并将其封装成private s...
分类:
其他好文 时间:
2015-01-26 19:13:04
阅读次数:
255
一、容器
很多时候,程序总是根据运行时才知道的某些条件去创建新对象,在此之前不知道所需对象的数量,甚至对象的类型,这时就需要容器来保存对象。Java容器类可以自动地调整自己的尺寸。容器类类库可以划分为两个不同的概念:
Collection。一个独立元素的序列,如List(按照插入顺序保存元素),Set(不能有重复元素),Queue(按排队规则确定对象产生的顺序);Map。一组成对的“键...
分类:
编程语言 时间:
2015-01-25 18:19:12
阅读次数:
151
什么叫做对象的序列化? 一个对象产生之后实际上就在内存中开辟了一个存储空间,方便存储信息。 对象的序列化就是将一个对象变成二进制的数据流的一种方法,通过对象的序列化可以方便的实现对象的存储和传输。如果一个类的对象需要被序列化,则该类必须实现Serializable接口,该接口的定义如下:1 pu.....
分类:
其他好文 时间:
2015-01-17 16:20:58
阅读次数:
102
代码复用模式1)使用原型继承 函数对象中自身声明的方法和属性与prototype声名的对象有什么不同: 自身声明的方法和属性是静态的, 也就是说你在声明后,试图再去增加新的方法或者修改已有的方法, 并不会由其创建的对象产生影响,也即继承失败。而prototype可以动态地增加新的方法或者修改已有.....
分类:
编程语言 时间:
2014-12-20 15:31:45
阅读次数:
140
1. 概论在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。那么,接下来,就让我们回顾这个古老又现代的编程模型,让我们看看究竟是什么魔力将这个概念...
分类:
其他好文 时间:
2014-12-16 20:42:47
阅读次数:
320
1.block循环引用(retain)1》如果没有对block进行copy操作,block就存储于栈空间2》如果对block进行copy操作,block就存储于堆空间3》如果block存储于栈空间,不会对block内部所用到的对象产生强引用4》如果block存储于堆空间,就会对block内部所用到的...
分类:
其他好文 时间:
2014-11-18 23:32:35
阅读次数:
220
一、代理的概念 动态代理技术是整个java技术中最重要的一个技术,它是学习java框架的基础,不会动态代理技术,那么在学习Spring这些框架时是学不明白的。 动态代理技术就是用来产生一个对象的代理对象的。在开发中为什么需要为一个对象产生代理对象呢? 举一个现实生活中的例子:歌星或者明星都有一...
分类:
编程语言 时间:
2014-11-11 22:23:13
阅读次数:
270