最近在整理东西时,刚好碰到以前看的一道有关java类、对象初始化相关题目,觉得答案并不是非常好(记忆点比较差,不是很连贯)。加上刚好复习完类加载全过程的五个阶段(加载-验证-准备-解析-初始化),所以如果周志明大大诚不我欺的话,无论是类加载过程、还是实例化过程的顺序我都已经了然于心了才对。 一道面试 ...
分类:
编程语言 时间:
2018-10-06 19:19:06
阅读次数:
202
ArrayList底层采用数组实现,访问特别快,它可以根据索引下标快速找到元素。但添加插入删除等写操作效率低,因为涉及到内存数据复制转移。 ArrayList对象初始化时,无参数构造器默认容量为10,当空间不足时会扩容,扩容后的容量是老容量的1.5倍。Java8的ArrayList源代码第259行, ...
分类:
其他好文 时间:
2018-09-29 19:21:12
阅读次数:
170
1、静态构造函数 在引入本文的主题之前,我们先来铺垫一下吧,看看静态构造函数的概念及用途。 C#中允许创建无参数构造函数,该函数仅执行一次。它一般被用来初始化静态字段。CLR不能保证在某个特定时刻执行静态构造函数,同时也不保证不同类的静态构造函数按照什么顺序执行,但保证它仅执行一次,即在应用程序创建 ...
####python的设计模式### 设计模式: 设计模式是前人的总结和经验的提炼,通常被人们广为流传 的设计模式,都是针对某一特定问题的成熟解决方案 单例设计模式: 一: 创建对象的时候: 1.为对象分配空间:__new__ 最先被调用 2.对象初始化:__init__ 创建对象的时候,pytho ...
分类:
编程语言 时间:
2018-09-20 23:28:01
阅读次数:
196
Filter简介 filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理。 步骤: 举个🌰子: web.xml: Filter的API详解 Filter对象的接口方法 init(Filterconfig):代表filter对象初始化方法,fil ...
分类:
其他好文 时间:
2018-09-10 17:55:40
阅读次数:
178
1.父类静态代码块 ( java虚拟机加载类时,就会执行该块代码,故只执行一次) 2 .子类静态代码块 ( java虚拟机加载类时,就会执行该块代码,故只执行一次) 3. 父类属性对象初始化 4.父类普通代码块(每次new,每次执行 ) 5.&n ...
分类:
编程语言 时间:
2018-08-30 16:43:51
阅读次数:
135
一、简介 getter函数,获取object对象的属性值。 setter函数,对object对象的属性进行赋值。 通常,有两种手段可以对object对象存、取值; 1. 在对象初始化时 2. 在对象初始化后 二、定义属性 2.1 在对象初始化时 在getter函数前用“get”关键字定义,在sett ...
分类:
Web程序 时间:
2018-08-29 14:18:05
阅读次数:
195
static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。《java编程思想》 静态变量 static修饰的变量称作静态成员变量,也称作类变量,类 ...
分类:
编程语言 时间:
2018-08-15 19:36:01
阅读次数:
133
双重检查锁定与延迟初始化 在java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题。比如,下面是非线程安全的延迟初始化对象的示例代码: 在UnsafeLazy ...
分类:
其他好文 时间:
2018-08-05 16:55:04
阅读次数:
184
构造和析构的次序 构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成 员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编 译器将无法自动执行析构过程。 一个有趣的现象是,成员对象初始化的次序完全不受它们在初始化表中次序的影响 , 只由成员对象在类中声明 ...
分类:
其他好文 时间:
2018-08-02 13:56:51
阅读次数:
115