一 简介: 今天咱们聊聊 jvm内存调优二 基础理论: 1 jvm 堆(heap)基本概念: 1 对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有 ...
分类:
数据库 时间:
2017-11-16 11:25:03
阅读次数:
154
撤销永久代,引入元空间: 在 JDK 1.8 中,HotSpot 已经没有 “PermGen space”这个空间了,取而代之是一个叫做 Metaspace(元空间) 的东西。 Java7中已经将字符串常量池从永久代移除,在Java 堆(Heap)中开辟了一块区域存放字符串常量池。而在Java8中, ...
分类:
编程语言 时间:
2017-11-11 19:49:44
阅读次数:
156
1.在 ECMAScript 中,变量可以存在两种类型的值,即原始值和引用值 原始值:存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。 引用值:存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处 2.为变量赋值时, ...
分类:
其他好文 时间:
2017-11-09 14:30:56
阅读次数:
181
一、数据类型分类 基本数据类型: 只有一块存储空间, 在栈中,存放的是具体的值 引用数据类型: 引用数据类型有两块存储空间 一个在栈(Stack)中,一个在堆(heap)中。 栈中存放的是堆中的地址 栈中的存取速度要快于存储在堆中的对应包装类的实例对象。 二、值传递: 传递的是具体的值 上面的方法执 ...
分类:
编程语言 时间:
2017-10-31 14:19:06
阅读次数:
189
jvm体系结构 1.类装载子系统:装载具有合适名称的类或者接口 2.执行引擎:负责执行包含在已装载类或接口中的指令。 内存模型 每个jvm中都会包含: 方法区(持久代),java堆(heap),java栈(stack),指令计数器(寄存器),本地方法栈。 java堆:保存对象实例。 java栈:保存 ...
分类:
编程语言 时间:
2017-10-22 11:05:48
阅读次数:
174
Java中内存分析: 栈(Stack) :存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中)。 堆(heap):存放所有new出来的对象。 常量池(constant pool):在堆中分配出来的一块存储区域,存放 ...
分类:
其他好文 时间:
2017-10-17 00:19:44
阅读次数:
185
基础数据类型直接在栈空间分配, 方法的形式参数,直接在栈空间分配,当方法调用完成后从栈空间回收。 引用数据类型,需要用new来创建,既在栈空间分配一个地址空间,又在堆空间分配对象的类变量 。 方法的引用参数,在栈空间分配一个地址空间,并指向堆空间的对象区,当方法调用完成后从栈空间回收。局部变量 ne ...
分类:
编程语言 时间:
2017-10-15 17:39:08
阅读次数:
165
简单记录JVM存储空间的几大模块的常用名称;使用哪些参数对各个模块进行尺寸设置及垃圾回收;最后举例子说明下参数配置后的GC的效果。 第一步,首先对于存储的几大模块进行一下简单描述: 1)JVM的内存分为两块:A.堆heap B.非堆non-heap:即堆以外的栈、方法区、常量池、寄存器空间(称为Pe ...
分类:
其他好文 时间:
2017-10-13 20:10:18
阅读次数:
107
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。 可以。 程序员可以手动执行 ...
分类:
其他好文 时间:
2017-10-06 10:32:48
阅读次数:
242
一.java内存模型图 二.直观分类图 三.各区简单描述 1.堆(heap):主要存放对象的实例也包括数组,是垃圾管理的主要作用区,是线程共享的 2.栈(stack):①虚拟机栈:描述的是 Java 方法执行的内存模型,每个方法在执行的同时会创建一个 Stack Frame (方法运行时的基础数据结 ...
分类:
编程语言 时间:
2017-10-03 10:42:49
阅读次数:
187