类的加载顺序 类和类一个缩进内的代码在py文件从上到下解释的时候就已经被执行了 类中的代码永远是从上到下依次执行的 类和对象的命名空间 类和对象是存储在两块命名空间里 变量 = 一个类的内存地址 对象去找在类的空间中的名字的前提 : 自己的空间里没有这个名字 在操作静态变量的时候应尽量使用类名来操作 ...
分类:
其他好文 时间:
2019-03-26 22:44:00
阅读次数:
178
1.类的加载、连接和初始化 当程序使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三个步骤来对类进行初始化。如果没有意外,jvm将会连续完成这三个步骤,有时也把这三个步骤统称为类的加载和类初始化。 1.1 类的加载 类加载指的是将类的class文件读入内存,并且为之创建一个j ...
分类:
编程语言 时间:
2019-02-27 22:08:49
阅读次数:
241
一、JVM结构 根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从java源文件到JVM的整个过程,可配合理解。 关于类的加载机制 ...
分类:
编程语言 时间:
2019-02-23 11:04:07
阅读次数:
221
一、类的加载、连接和初始化 这是jvm那块的知识,复习一下,这其实是和反射有关系的。 ① 类加载 指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象(类是种定义,但在java里,万物都是对象,即类这种定义也是对象的一种),也就是说,当程序中使用任何类时,系统都会为之 ...
分类:
其他好文 时间:
2019-02-20 13:21:35
阅读次数:
145
静态代码块: 初始化类,随着类的加载而执行,只执行一次,只执行一次,只执行一次。执行顺序优先于main函数。 构造代码块:给对象进行初始化, 对象一建立就运行,而且优先于构造函数运行。 构造代码块和构造函数的区别 构造代码块是给所有对象进行统一的初始化,是所以对象的共性功能或特征。 构造代码块中定义 ...
分类:
其他好文 时间:
2019-02-20 09:57:11
阅读次数:
217
1.类的组合关系 当一个类中的字段是一个类时,就称类依赖于字段这个类,也称这两个类为组合关系 2.快捷键:ctrl+shift+c,多行的// ctrl+shift+/,多行的/ / 3.类的加载:随着对象的创建而使用 3.static{ }静态代码块会随着对象的创建而使用,而且在编译时会首先调用p ...
分类:
编程语言 时间:
2019-02-15 01:18:50
阅读次数:
216
前言 一个Java文件从编码完成到最终执行,一般主要包括两个过程: 编译 运行 编译,即把我们写好的java文件,通过javac命令编译成字节码,也就是我们常说的.class文件。 运行,则是把编译声称的.class文件交给Java虚拟机(JVM)执行。 而我们所说的类加载过程即是指JVM虚拟机把. ...
分类:
编程语言 时间:
2019-02-10 20:19:48
阅读次数:
184
静态的特点: A:随着类的加载而加载 B:优先于对象而存在 C:静态是被所有对象共享的数据 这也是我们来判断是否使用静态的标准 D:静态的出现,让我们的调用方式多了一种 类名.静态的内容 非静态的内容只能通过对象调用 静态的内容可以通过对象调用,也可以通过类名调用,推荐使用:类名调用 静态修饰的成员 ...
分类:
编程语言 时间:
2019-02-01 23:52:25
阅读次数:
323
首先我们知道JVM是什么以及类加载器的作用 不清楚的可以看看JAVA-大白话探索JVM-类加载器(一) 现在我们来摸索下类的加载过程 首先,我们将类加载过程分为三步走 其中 链接 分为三步骤 1.装载 通过一个类的全限定名获取其定义的二进制字节流 将这个字节流所代表的静态存储结构转化为方法区的运行时 ...
分类:
编程语言 时间:
2019-01-22 21:55:02
阅读次数:
165
反射和类加载器 1.类的加载 (1).当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 A:加载 就是指将class文件读入内存,并为之创建一个Class对象。 任何类被使用时系统都会建立一个Class对象。 B:连接 验证 是否有正确的 ...
分类:
编程语言 时间:
2019-01-22 21:43:25
阅读次数:
199