1)静态变量和成员变量的区别: (1):所属不同: 静态变量:属于类,也称为类变量。 成员变量:属于对象,也称为对象变量或实例变量。 (2):在内存中的位置不同: 静态变量:存储于方法区的静态区。 成员变量:存储于堆内存。 (3):生命周期不同: 静态变量:静态变量是随着类的加载而加载,随着类的消失 ...
分类:
其他好文 时间:
2018-02-13 15:44:11
阅读次数:
187
类的加载过程: 1、启动JVM,加载程序中需要使用的class文件。 2、在加载class文件的时候,所有的静态内容(静态成员变量,静态成员函数,静态代码块)都要加载到方法区的静态区中。 3、当类中的所有静态加载完成之后,开始给类中的所有静态成员变量默认初始化。 4、类中的所有静态成员变量默认初始化 ...
分类:
其他好文 时间:
2018-02-05 18:45:19
阅读次数:
151
static (静态的) 可以用来修饰属性、方法、代码块(或初始化块)、内部类 1.由类创建的所有的对象,都共用这一个属性 2.当其中一个对象对此属性进行修改,会导致其他对象对此属性的一个调用。vs实例变量(非static修饰的属性,各个对象各自拥有一套副本) 3.类变量随着类的加载而加载的,而且独 ...
分类:
编程语言 时间:
2018-02-01 20:34:48
阅读次数:
159
1.如何创建Class的实例(重点) 1.1过程:源文件经过编译(javac.exe)以后,得到一个或多个.class文件。.class文件经过运行(java.exe)这步, 就需要进行类的加载(通过JVM的类的加载器),记载到内存中的缓存。每一个放入缓存中的.class文件就是一个Class的实例 ...
分类:
其他好文 时间:
2018-01-30 12:53:13
阅读次数:
123
http://blog.csdn.net/chenjie19891104/article/details/42807959 在java中,要实现热部署,首先要明白类的加载方式。每一个应用程序的类都会被Classloader加载,所以,要实现一个支持热不是的应用,我们可以对每一个用户自定义的应用程序使 ...
分类:
编程语言 时间:
2018-01-28 20:00:51
阅读次数:
181
1.格式static{静态代码块中执行的代码}2.什么时候执行随着类的加载而加载,并且只执行一次3.作用用于给类初始化4.特点优先于主函数执行,在静态方法之前执行publicclassTest{static{System.out.println("a");}publicstaticvoidmain(String[]args){Demod1=newDemo();Demod2=ne
分类:
其他好文 时间:
2018-01-27 11:40:40
阅读次数:
181
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成jav ...
分类:
编程语言 时间:
2018-01-18 17:03:10
阅读次数:
184
static 关键字: 1、用于修饰成员(成员变量和成员函数) 被修饰的成员具备以下特点: 1)随着类的加载而加载; 2)优先于对象而存在; 3)被所有对象所共享; 4)可以直接被类名调用。 使用注意: 1)静态方法只能访问静态成员; 2)静态方法中不可以写this、super关键字; 3)主函数是 ...
分类:
其他好文 时间:
2018-01-17 23:35:20
阅读次数:
346
(1) 对于每个类,java虚拟机只加载一次,在加载时,初始化类的静态方法、静态变量、和静态初始化快; (2) 只有在新建一个对象时,才会按先父类再子类的顺序,初始化类的初始化块和构造函数,若只访问静态方法,java虚拟即不会初始化这些块; (3) System的gc方法通知java虚拟机进行垃圾回 ...
分类:
其他好文 时间:
2018-01-14 15:55:22
阅读次数:
154
定义 实现类加载阶段中的“通过一个类的全限命名来获取描述此类的二进制字节流”这个动作的代码模块称为“类加载器”。 类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段。比如判断两个类是否“相等”,只有两个类是由同一个类加载器加载的前提下才有意义。 类加载器类型 从 ...
分类:
其他好文 时间:
2018-01-13 22:23:18
阅读次数:
131