Day08_SHJavaTraing_4-13-2017 单例设计模式1.饿汉式单例设计模式 2.懒汉式单例设计模式 3.饿汉式单例设计模式和懒汉式单例设计模式对比 3.1饿汉式:在加载类的同时就创建了这个类的唯一实例 ①好处:可保证这个类的实例的唯一性 ②弊端:如果只是使用这个类,但是暂时不需要它 ...
分类:
其他好文 时间:
2017-04-13 22:52:27
阅读次数:
248
初始化是类加载过程的最后一步,但由于比较重要,故放在前面先讲。 在前面的连接(准确来说是准备)阶段,类的变量已经被赋予默认值(如int类型为0,布尔类型为false,引用类型为null等)。而在初始化阶段,则根据程序员通过程序制定的主观计划去初始化类变量和其他资源。或者可以从另一个角度来表达:初始化 ...
分类:
其他好文 时间:
2017-04-12 02:11:52
阅读次数:
180
1. 类的生命周期 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading),验证(Verification ...
分类:
其他好文 时间:
2017-04-11 00:45:53
阅读次数:
243
// 1加载驱动 Class.forName("com.mysql.jdbc.Driver");// mysql数据库对应的加载类 // 2获得连接 Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ ...
分类:
数据库 时间:
2017-04-05 23:06:41
阅读次数:
251
1.类的加载过程 JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示: 1) 装载:查找并加载类的二进制数据; 2)链接: 验证:确保被加载类的正确性; 准备:为类的静态变量分配内存,并将其初始化为默认值; 解析:把类中的 ...
分类:
编程语言 时间:
2017-04-01 01:02:26
阅读次数:
252
Java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的static,都是最先初始化好的。结构如下: static { 静态语句代码块 } { 非静态语句代码块 } 相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,一般在代码块中对一些st ...
分类:
其他好文 时间:
2017-03-30 15:23:35
阅读次数:
325
篇幅较长预警 为了方便解释java内存机制,先从类的加载开始谈起 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 ...
分类:
编程语言 时间:
2017-03-28 21:28:14
阅读次数:
222
use只是使用了命名空间,但是要想调用类,必须要加载类文件,或者自动加载。 即便是引入了其中一个类,如果没有自动加载机制,还是会报错 use的几种用法 1.第一种引入方式(前提是有了自动加载机制) 使用的时候, 或者这样 都可以! 2.第二种引入方式(前提是有了自动加载机制) 使用的时候,只能 th ...
分类:
Web程序 时间:
2017-03-26 15:35:44
阅读次数:
301
类的加载:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三步来实现对这个类进行初始化。 加载:就是将class文件读入内存,并为之创建一个Class对象 任何类被使用时系统都会建立一个Class对象 连接 验证:是否有正确的内部结构,并和其他类协调一致 准备:负责为 ...
分类:
其他好文 时间:
2017-03-19 17:17:35
阅读次数:
123
类的加载过程 1. 装载:查找并加载类的二进制数据 2. 链接: (1) 验证:确保被加载类的正确性 (2) 准备:为类的静态变量分配内存,并将其初始化为默认值 (3) 解析:把类中的符号引用转换为直接引用 3. 初始化:为类的静态变量赋予正确的初始值 类什么时候被初始化 类的初始化步骤 ...
分类:
其他好文 时间:
2017-03-18 19:56:06
阅读次数:
153