Java语言支持四种类型:接口、类、数组、基本类型 类的成员由它的域field、方法、成员类、成员接口组成。 方法的签名signature由它的名称和所有参数类型组成,签名不包括它的返回类型。 API元素:类、接口、构造器、成员、序列化形式。 第二章 创建和销毁对象 7条 第1条 用静态工厂方法替代 ...
分类:
编程语言 时间:
2016-04-25 17:58:24
阅读次数:
211
1.何为ARC ARC是automatic reference counting自动引用计数,在程序编译时自动加入retain/release。在对象被创建时retain count+1,在对象被release时count-1,当count=0时,销毁对象。程序中加入autoreleasepool对 ...
分类:
移动开发 时间:
2016-04-08 19:53:21
阅读次数:
195
线程池的技术背景
在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务(不止一个不同的任务)就是一个需要解决的关键问题,其实这就是一些"池...
分类:
编程语言 时间:
2016-03-09 16:10:42
阅读次数:
252
第7条:避免使用终结方法 这一条讲的简直是不知所云。先简单记下来其中说出的几条: ①显式终止方法的典型例子有InputStream、OutputStream和java.sql.Connection上的close方法,以及java.util.Timer上的cancel方法。这些方法一般与try-cat
分类:
编程语言 时间:
2016-03-06 06:37:28
阅读次数:
184
第5条:避免创建不必要的对象 本条主要讲的是一些反面教材,希望大家引以为鉴。 ①无意中使用自动装箱导致多创建对象。 public class Sum { public static void main(String[] args) { Long sum = 0L; for (long i = 0;
分类:
编程语言 时间:
2016-03-06 01:20:21
阅读次数:
200
第3条:用私有构造器或者枚举类型强化Singleton属性 这一条,总体来说,就是讲了一个小技巧,将构造器声明为private,可以实现单例。具体有以下几种实现的方式。 ①最传统的单例实现模式,可能有很多变种,核心思想是私有化构造器。 public class Singleton { private
分类:
编程语言 时间:
2016-03-06 00:55:58
阅读次数:
181
第1条:考虑用静态工厂方法代替构造器 通常情况下,我们创建一个对象采取new的形式,但是还有一种方法也是经常使用到的,它的名称叫做静态工厂方法。 例如,java中基本类型boolean的包装类Boolean就采用了这种方式,源代码如下: public static Boolean valueOf(b
分类:
编程语言 时间:
2016-03-02 00:23:59
阅读次数:
207
1.句柄是什么?在windows中,句柄是和对象一一对应的32位无符号整数值。对象可以映射到唯一的句柄,句柄也可以映射到唯一的对象。 2.为什么我们需要句柄?更准确地说,是windows需要句柄。windows需要向程序员提供必要地编程接口 ,在这些接口中,允许程序员访问、创建和销毁对象。但是,出于
分类:
其他好文 时间:
2016-02-21 15:34:44
阅读次数:
162
类通常提供一个公有的构造器方法,以此来让客户端可以获取自己(类)的一个实例。但是在创建对象时,应该首先考虑利用静态工厂方法代替构造器来返回一个实例。利用静态工厂方法而不是公有的构造器有几个优势: 静态工厂方法有(不同的)名字 构造器方法都有相同的名字,就是类的名字。区分不同构造器的方法是通过观察方法
分类:
编程语言 时间:
2016-02-19 21:49:09
阅读次数:
209
线程生命周期: 线程池:是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中,然后对这些资源进行复用。减少频繁的创建和销毁对象。 java里面线程池的顶级接口是Executor,是一个执行线程的工具。 线程池接口是ExecutorService。 java.uti
分类:
编程语言 时间:
2016-02-02 16:14:03
阅读次数:
167