JVM内存模型 Java虚拟机所管理的内存区域,也称为运行时数据区,分为以下几个运行时数据区,如图所示 程序计数器:当前程序所执行字节码的行号指示器 程序计数器(Program Counter Register) 是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型 ...
分类:
其他好文 时间:
2019-08-02 14:35:07
阅读次数:
130
程序计数器 记录字节码指令地址,占用空间很小,基本无异常抛出 本地方法栈 native方法区 方法区 所有线程共享,主要存储类的信息,常量池,方法数据,方法代码。 堆内存 JVM所有线程共享,所有对象和数组都在堆上进行分配,这部分内存可通过GC回收,申请不到内存空间会抛出 虚拟机栈 线程私有,随线程 ...
分类:
其他好文 时间:
2019-07-23 14:58:59
阅读次数:
84
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域, 包含程序计数器、虚拟机栈、本地方法栈、Java堆、方法区(运行时常量池)、直接内存等,不同的版本会有所差异 各区域的作用: 1、程序计数器:较小的内存空间,当前线程执行的字节码的行号指示器;各线程之间独立存储,互 ...
分类:
其他好文 时间:
2019-07-21 01:37:45
阅读次数:
92
首先需要明白以下几点: 栈空间(stack),连续的存储空间,遵循后进先出的原则,用于存放局部变量。 堆空间(heap),不连续的空间,用于存放new出的对象,或者说是类的实例。 方法区(method),方法区在堆空间内,用于存放①类的代码信息;②静态变量和方法;③常量池(字符串敞亮等,具有共享机制 ...
分类:
编程语言 时间:
2019-07-20 09:40:36
阅读次数:
94
1.什么是多线程? 多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。 2.了解多线程 了解多线程之前我们先搞清楚几个重要的概念! 如上图所示:对我们的项目有一个主内存,这个主内存里面存放了我们的共享变量、方法区、堆中的对象等。 3. ...
分类:
其他好文 时间:
2019-07-18 12:02:26
阅读次数:
121
一 数据类型 1.1 8种基本数据类型 1.2 引用数据类型 1.3 java内存机制 1.3.1 寄存器 1.3.2 栈 1.3.3 堆 1.3.4. 静态区/方法区 1.3.5. 运行时常量池(Runtime Constant Pool) 1.3.6 直接内存(Direct Memory) 二: ...
分类:
编程语言 时间:
2019-07-17 20:25:05
阅读次数:
135
14-JQuery事件相关介绍-132:20 15-JQuery事件相关介绍-233:19 <strong>一、$(document).ready()和window.onload方法区别?</strong><br /> 1、 执行时机不同:<br /> ◆ window.onload方法是在网页中的 ...
分类:
Web程序 时间:
2019-07-16 22:48:33
阅读次数:
240
1.JVM内存区域 Java虚拟机在运行时,内存分为若干区域;Java虚拟机管理的内存区域有:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。 ①方法区:主要用于存储虚拟机加载的类信息、常量、静态变量、以及编译后的代码。 ②堆内存:主要用于存放对象和数组,是jvm管理的内存中最大的区域。和方法区都 ...
分类:
其他好文 时间:
2019-07-16 00:04:29
阅读次数:
86
1.虚拟机的构成 虚拟结主要由运行时数据区、执行引擎、类加载器三者构成,我们所说的JVM内存模型指的就是运行时数据区。 2.运行时数据区组成和各个区域的作用 运行时数据区可以分为线程共享和线程不共享两部分,其中堆内存和方法区线程共享,本地方法栈、虚拟机栈、程序计数器线程不共享。 2.1.程序计数器 ...
分类:
其他好文 时间:
2019-07-15 16:04:07
阅读次数:
139
static修饰的变量和方法从属于类。普通变量和方法从属于对象,即用对象不能调用static。对象里的普通变量是在堆里,而类里的静态成员变量(static)和常量是在方法区里。堆包含方法区,所以普通变量可以使用静态变量,而静态变量不能使用非静态变量static{......}static语句块内的内容在程序初始化后开始执行,即开始运行main函数就会开始执行其中的语句
分类:
编程语言 时间:
2019-07-08 23:41:24
阅读次数:
125