如:public class InnerClassDemo{int x;class A{static int a = 0;//这样写是不合法的.static final int b=0;//这样写是合法的}} java类加载顺序,首先加载类,执行static变量初始化,接下来执行对象的创建,如果我们 ...
分类:
编程语言 时间:
2017-01-03 07:15:30
阅读次数:
224
单例模式 1.基本概念 2.单例模式的定义 3.单例模式中的角色 4.单例模式延迟加载 5.单例模式中使用静态内部类解决"懒汉式"和"饿汉式"带来的问题 6.什么是类级内部类 1.基本概念: 单例模式是设计模式中使用最普遍的模式了,它是一种对象创建模式,用于产生一个对象的具体实例,它可以确保系统中一 ...
分类:
其他好文 时间:
2016-12-31 19:58:08
阅读次数:
141
单例模式 单例模式是一种比较常见的模式,看起来很简单,但是要做到高效安全的使用,其中还是有很多要点的。参考了Head First及众多网友的文章,稍微总结一下,以备查看。 单例模式的定义:确保一个类只有一个实例,并且提供一个全局访问点。 1. 最简单的单例(饿汉模式),程序一加载就对 instanc ...
分类:
其他好文 时间:
2016-12-30 02:27:28
阅读次数:
184
1.大概去哪里看 ThreadLocal 其根本实现方法,是在Thread里面,有一个ThreadLocal.ThreadLocalMap属性 ThreadLocalMap 静态内部类维护了一个Entry 数组 查看Entry 源码,它维护了两个属性,ThreadLocal 对象 与一个Object ...
分类:
其他好文 时间:
2016-12-28 18:35:35
阅读次数:
260
概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自 ...
分类:
其他好文 时间:
2016-12-25 23:33:33
阅读次数:
210
1、什么是内部类? 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类主要有以下几类:成员内部类、静态内部类、局部内部类、匿名内部类 2、内部类的共性 (1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以 ...
分类:
其他好文 时间:
2016-12-15 20:32:36
阅读次数:
286
静态内部类是 static 修饰的内部类,这种内部类的特点是: 1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相 ...
分类:
其他好文 时间:
2016-11-30 16:56:51
阅读次数:
178
第一种(懒汉,线程不安全): 第二种(懒汉,线程安全): 第三种(饿汉): 第四种(饿汉,变种): 第五种(静态内部类): 第六种(枚举): 第七种(双重校验锁): ...
分类:
其他好文 时间:
2016-11-29 22:23:29
阅读次数:
167
什么是静态内部类? 有static关键字修饰的内部类。 注意: 静态内部类访问外部类的静态成员变量或方法必须是静态的。 代码: 调用: 打印: 分析: 反编译后自动生成文件:Outer$Inner.class Outer 反编译代码1: Outer 反编译代码2: Outer$Inner 反编译代码 ...
分类:
其他好文 时间:
2016-11-28 20:34:03
阅读次数:
206
匿名内部类 匿名内部类就是没有名字的内部类; 注意: 匿名内部类不能定义任何静态成员、方法。 匿名内部类中的方法不能是抽象的; 匿名内部类必须实现接口或抽象父类的所有抽象方法。 匿名内部类访问的外部类成员变量或成员方法必须用static修饰; 代码: 接口 抽象类 普通类 外部类 打印: 分析: 编 ...
分类:
其他好文 时间:
2016-11-28 19:52:46
阅读次数:
193