1.因为new Studen()用到了Student类,所以会把它从硬盘上加载进入内存 2.如果有static静态代码块就会随着类的加载而执行,还有静态成员方法和普通方法也会随着类的加载而被加载 3.在堆中开辟空间,分配内存地址 4.在堆中建立对象特有属性(非静态成员),并同时对特有属性进行默认初始 ...
分类:
编程语言 时间:
2017-04-25 23:22:41
阅读次数:
158
/* 主函数(主方法) * 1.public (访问修饰符,公共的)代表该类或者该函数访问权限是最大的 * 2.static 代表主函数随着类的加载就已经粗在了 * 3.void 代表主函数没有具体的返回值 * 4.main main不是一个java关键字,他是一个特殊的单词,他能够被jvm(jav... ...
分类:
编程语言 时间:
2017-04-25 00:45:00
阅读次数:
190
1.类加载器定义
1.1类加载器概述:
java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的j...
分类:
编程语言 时间:
2017-04-23 22:32:17
阅读次数:
276
概述虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。
类的加载指的是将类的.class文件中...
分类:
其他好文 时间:
2017-04-21 10:07:22
阅读次数:
176
1、io/nio2、多线程3、集合、线程安全的集合(vector,statck,hashTable,concurrentHashMap)4、类的加载顺序,静态块 构造函数 静态方法的加载顺序5、jvm6、gc,g1(新生代老生代的判断依据,实现原理 http://www.360doc.com/con ...
分类:
编程语言 时间:
2017-04-11 13:15:54
阅读次数:
135
最近学习了设计模式之单例模式,现在进行总结一下吧。 (1)饿汉模式:饿汉模式利用类的加载机制 好处:只在类的加载时候创建一次实例,不会存在多线程创建多个实例的问题,避免了多线程同步的问题。 缺点:即使这个实例没有被程序用到,也会被创建,内存就浪费了。 (2)懒汉模式:懒汉模式是需要的时候才去创建对象 ...
分类:
其他好文 时间:
2017-04-08 18:47:35
阅读次数:
203
1.类的加载过程 JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示: 1) 装载:查找并加载类的二进制数据; 2)链接: 验证:确保被加载类的正确性; 准备:为类的静态变量分配内存,并将其初始化为默认值; 解析:把类中的 ...
分类:
编程语言 时间:
2017-04-01 01:02:26
阅读次数:
252
【类的加载器】 类的加载器就是寻找类的字节码文件并构造出类在JVM内部表示对象的组件。在Java中类装载器把一个类装入JVM,需要经过以下几个步骤: 1. 装载:查找和导入Class文件。 2. 链接:执行校验,准备和解析 a. 校验:检查载入的Class文件数据的准确性。 b. 准备:给类的静态变 ...
分类:
编程语言 时间:
2017-03-31 13:02:04
阅读次数:
589
篇幅较长预警 为了方便解释java内存机制,先从类的加载开始谈起 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 ...
分类:
编程语言 时间:
2017-03-28 21:28:14
阅读次数:
222
类的加载:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三步来实现对这个类进行初始化。 加载:就是将class文件读入内存,并为之创建一个Class对象 任何类被使用时系统都会建立一个Class对象 连接 验证:是否有正确的内部结构,并和其他类协调一致 准备:负责为 ...
分类:
其他好文 时间:
2017-03-19 17:17:35
阅读次数:
123