一、背景: 在面试中,在java基础方面,类的加载顺序经常被问及,很多时候我们是搞不清楚到底类的加载顺序是怎么样的,那么今天我们就来看看带有继承的类的加载顺序到底是怎么一回事?在此记下也方便以后复习巩固! 二、测试步骤: 1.父类代码 2.子类代码 最后运行结果为: 下面让我们修改一下两个类中静态代 ...
分类:
编程语言 时间:
2016-05-13 14:07:56
阅读次数:
168
静态:static
用法:是一个修饰符,用于修饰成员(成员变量和成员函数)
当成员被静态修饰后,就多了一个调用方法,即除了可以被对象调用以外,还可以直接被类名调用。
调用形式:类名.静态成员
类名.静态函数
static的特点:
1,随着类的加载而加载。
也就是说:静态会随着类的消失而消失。说明它的生命周期最长。
2,优先于对象的存在
明确一点:静态是...
分类:
编程语言 时间:
2016-05-13 02:33:50
阅读次数:
163
多线程编程
硬盘加载到内存:类加载:一个类一个类的加载。
为了达到多任务的效果,多线程只是其中一种
进程:是指一种“自包容”的运行程序,有自己的地址空间;
线程:是进程内部共享内存地址空间,单一的一个顺序控制流。
多任务的实现有两种方式:
一种是【基于进程】:每个进程就是一个可执行程序。
一种是【基于线程(thread)】:进程内部多任务。
子线程由...
分类:
编程语言 时间:
2016-05-13 02:28:04
阅读次数:
213
类的加载过程Java类从加载到卸载大致如下
其中的部分工作内容:一、加载使用类的全名获取二进制流,在内存中生成class对象。
二、验证保证class文件中内容不会危害虚拟机自身的安全等。三、准备为类变量分配初始值。final等修饰的固定变量分配具体值,其他分配零值。
四、解析虚拟机将常量池中的符号引用替换为直接引用的过程
类加载器(1)Bootstrap ClassLoader
这个...
分类:
编程语言 时间:
2016-05-13 01:28:55
阅读次数:
162
1.类的加载过程
JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:
1) 装载:查找并加载类的二进制数据;
2)链接:
验证:确保被加载类的正确性;
准备:为类的静态变量分配内存,并将其初始化为默认值;
解析:把类中的符号引用转换为直接引用;
3)初始...
分类:
其他好文 时间:
2016-05-12 12:20:15
阅读次数:
135
文件类加载器,该加载器重载了loadClass方法,逻辑是只读取文件来加载类,不委托给父类加载器进行加载 测试代码 从下面的输出,可以看出: 1、在加载TestClass类时就已经引起其他类的加载了。 2、不要轻易重载loadClass(),双亲制很重要,否则会引起一个类存在多个Class对象。 3 ...
分类:
其他好文 时间:
2016-05-12 01:23:54
阅读次数:
285
jvm堆栈参数设置:-Xmx:设置最大堆大小;-Xms:设置最小堆大小;-Xss:设置栈大校栈最小默认1m静态代码块:随类的加载(且初始化,否则不执行)而执行且只执行一次。用来初始化静态变量静态代码块只能作为类的成员存在,Class.forName("java.lang.String");手动加载类Class.forNa..
分类:
其他好文 时间:
2016-05-09 22:21:49
阅读次数:
191
编译:即javac的过程,即把.java文件编译成.class文件,即编译成字节码文件,同时做一些类型以及格式的检查。
类只有在要运行的时候才会被加载进JVM,即编译后只有需要到这个类的时候才会把他加载进JVM运行,这种动态加载是依靠反射来实现的,一般来说一个class只会被加载一次,下一次就会从jvm的class缓存中获取,不会再去文件系统中去获取class文件了。
...
分类:
编程语言 时间:
2016-05-07 09:08:30
阅读次数:
206
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成jav ...
分类:
编程语言 时间:
2016-05-03 23:33:23
阅读次数:
132
day27 1.类的加载概述和加载时机 2.类加载器的概述和分类 类加载器 负责将.class文件加载到内存中,并为之生成对应的Class对象。 虽然我们不需要关心类加载机制,但是了解这个机制我们就能更好的理解程序的运行。 类加载器的组成 Bootstrap ClassLoader根类加载器 Ext ...
分类:
编程语言 时间:
2016-05-01 13:30:07
阅读次数:
745