一、Java类加载机制 一、Java类加载机制 1.概述 Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。 虚拟 ...
分类:
编程语言 时间:
2018-08-22 14:04:11
阅读次数:
146
JAVA类装载方式,有两种: 1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。 2.显式装载, 通过class.forname()等方法,显式加载需要的类 类加载的动态性体现: 一个应用程序总是由n多个类组成,Java程序启动时,并不是一次 ...
分类:
其他好文 时间:
2018-08-20 14:35:12
阅读次数:
176
方法区 线程共享。 当JVM使用类装载器装载某个类时,首先获取class文件,提取该文件的内容信息,将这些信息存储到方法区,最后返回一个class实例。方法区用于存储已经被虚拟机加载的类信息(class)(版本,字段,方法,接口等描述信息),常量,静态变量(static),即时编译期编译后的代码数据等。称为“永久代”。GC在这区域较少出现,内存回收的主要目标是针对常量池的回收和对类的卸载(某个类不
分类:
其他好文 时间:
2018-07-21 17:18:26
阅读次数:
186
JVM 系列()ClassLoader 在前面一节中,主要介绍了 Class 的装载过程,Class 的装载大体上可以分为加载类、连接类和初始化 3 个阶段。本小节将主要介绍绍 Java 语言中的 ClassLoader,类装载器。它主要工作在 Class 装载的加载阶段从系统外部获得 Class ...
分类:
其他好文 时间:
2018-07-03 11:50:33
阅读次数:
112
方法区:类信息、类变量(静态变量和常量)、方法 堆:对象、成员变量 栈:局部变量 (1)当程序运行时,首先通过类装载器加载字节码文件,经过解析后装入方法区!在方法区中存了类的各种信息,包括类变量、类常量及方法。对于同一个方法的调用,同一个类的不同实例调用的都是存在方法区的同一个方法。类变量的生命周期 ...
分类:
编程语言 时间:
2018-06-23 17:13:00
阅读次数:
154
Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中,JVM在加载类的时候,都是通过ClassLoader的loadClass()方法来加载class的,loadClass使用双亲委派模式。 ...
分类:
编程语言 时间:
2018-06-13 00:18:04
阅读次数:
171
一、JVM简介 java语言是跨平台的,兼容各种操作系统。实现跨平台的基石就是虚拟机(JVM),虚拟机不是跨平台的,所以不同的操作系统需要安装不同的jdk版本(jre=jvm+类库;jdk=jre+开发工具)。 1.1、JVM体系结构 主要分为:类装载器(ClassLoader)子系统、运行时数据区 ...
分类:
编程语言 时间:
2018-05-29 20:37:42
阅读次数:
219
Java类的初始化 我们知道一个类(class)要被使用必须经过装载,连接。初始化这种过程。以下先对这三阶段做一个简单的描写叙述。之后会结合一个简单的样例来说明java中类的初始化过程。 在装载阶段,类装载器(Bootstrap ClassLoader 或者用户自己定义的ClassLoader) 把 ...
分类:
编程语言 时间:
2018-03-23 16:24:00
阅读次数:
250
一、加载 装载类的第一阶段, 取得类的二进制流,并将它转换为方法区数据结构。 在Java堆中生成对应的java.lang.Class对象 二、链接 1、验证 目的:保证Class流的格式是正确的。 a) 文件格式的验证 是否以0xCAFEBABE开头 版本号是否合理 b) 元数... ...
分类:
其他好文 时间:
2018-03-02 18:46:06
阅读次数:
153
JVM是根据运行时数据的存储结构来划分内存结构的,运行时数据包括java程序本身的数据信息和jvm运行java程序需要的额外数据信息。JVM运行时数据区:程序计数器:每条线程有一个独立的程序计数器,用于保存当前正常执行的程序的内存地址。堆动态内存分配。所有线程共享,在虚拟机启动时创建,可以处于物理上不连续的存储空间。此区域的唯一目的就是存放对象实例。方法区线程共享。当JVM使用类装载器装载某个类时
分类:
其他好文 时间:
2018-02-06 23:07:43
阅读次数:
203