缓冲区溢出是一类特殊的数组及数字边界错误。大多数缓冲区溢出的发生是由于输入超出了所分配的空间大小,然而数据还是被写入了,并且覆盖了分配空间以外的内存。 堆栈溢出:堆栈溢出是一种写入的数据超出了给堆栈分配的缓冲区大小而发生的溢出。 整型溢出:用来保存某个确定数值范围的特定数据类型或CPU寄存器,当分配 ...
分类:
其他好文 时间:
2019-03-25 14:41:19
阅读次数:
167
V8 实现了准确式 GC,GC 算法采用了分代式垃圾回收机制。因此,V8 将内存(堆)分为新生代和老生代两部分。 1、新生代算法 新生代中的对象一般存活时间较短,使用 Scavenge GC 算法。 在新生代空间中,内存空间分为两部分,分别为 From 空间和 To 空间。在这两个空间中,必定有一个 ...
分类:
其他好文 时间:
2019-03-09 21:47:28
阅读次数:
170
转: http://www.hollischuang.com/archives/489 阿里大牛珍藏架构资料,点击链接免费获取 针对本文,博主最近在写《成神之路系列文章》 ,分章分节介绍所有知识点。欢迎关注。 一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 ...
分类:
编程语言 时间:
2019-02-21 12:53:09
阅读次数:
176
一:JVM中内存 JVM中内存通常划分为两个部分,分别为堆内存与栈内存,栈内存主要用运行线程方法 存放本地暂时变量与线程中方法运行时候须要的引用对象地址。 JVM全部的对象信息都 存放在堆内存中。相比栈内存,堆内存能够所大的多,所以JVM一直通过对堆内存划分 不同的功能区块实现对堆内存中对象管理。 ...
分类:
其他好文 时间:
2019-01-16 13:17:48
阅读次数:
159
一、基础篇JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 ...
分类:
编程语言 时间:
2019-01-08 10:48:52
阅读次数:
254
在讲解String之前,我们先了解一下Java的内存结构。一、Java内存模型按照官方的说法:Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。JVM主要管理两种类型内存:堆和非堆,堆内存(HeapMemory)是在Java虚拟机启动时创建,非堆内存(Non-heapMemory)是在JVM堆之外的内存。简单来说,非堆包含方法区、JVM内部处理或优化所需的内存(如J
分类:
编程语言 时间:
2019-01-06 12:46:19
阅读次数:
218
基于openjdk:8u171-alpine构建的java镜像,使用jstack命令打印线程的时候会提示以下错误: 使用jmap命令尝试了一下,也是一样的错误。换了一种启动方式,使用/bin/sh启动docker,然后进入docker手动启动java进程,然后再用jstack命令,就能正常打印。换了 ...
分类:
编程语言 时间:
2019-01-04 12:45:24
阅读次数:
331
深拷贝就是一份一模一样数据,且该数据和之前的数据断开连接,互不影响: 那么为什么会出现数据相互影响呢?这就涉及到JavaScript中的内存概念:栈 stack”和“堆 heap”,stack一般是静态分配内存,heap上一般是动态分配内存;堆是通过地址的指针传值,即传址;栈是直接传值。 了解了堆栈 ...
分类:
编程语言 时间:
2018-12-17 02:20:48
阅读次数:
231
内存堆和栈的区别 原文: http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html 在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆 ...
分类:
其他好文 时间:
2018-12-09 16:37:54
阅读次数:
121
this的含义: 1.区分成员变量和局部变量; 2.谁调用这个this就指向谁; this的内存分析: 1.说明: 普通方法和main要入栈内存,堆中存放new的对象。 2.说明:首先main方法是程序入口,并且它在栈内存中,此时 Person p就在栈中,而new Person()在堆中,且初始状 ...
分类:
其他好文 时间:
2018-12-02 12:14:10
阅读次数:
160