1. JVM运行时划分哪几个区域?哪些区域是线程共享的?哪些区域是线程独占的? JVM运行时一共划分:程序计数器、虚拟机栈、堆、本地方法栈、方法区。 线程共享的数据区域:堆、方法区。 线程独享的数据区域区域:程序计数器、虚拟机栈、本地方法栈。 2. 这几个内存区域分别存放什么数据? 程序计数器记录当 ...
分类:
其他好文 时间:
2019-08-17 09:16:00
阅读次数:
74
栈区 栈区描述的是方法执行的内存模型。每个方法在执行时都会创建一个栈帧(存储局部变量、操作数栈、动态链接、方法出口等) JVM为每个线程创建一个栈,栈属于线程私有,不能实现线程间的共享,用于存放该线程执行方法的信息(实际参数、局部变量等) 基本类型变量去,执行环境上下文,操作指令区(存放操作指令) ...
分类:
其他好文 时间:
2019-08-05 20:33:25
阅读次数:
128
https://www.cnblogs.com/xiangtingshen/p/11014514.html C++函数调用约定_cdecl约定:参数:从右向左依次入栈堆栈平衡:调用方平衡 函数内部 push 参数一 //参数入栈顺序:从右向左依次入栈push 参数二push 。。。push 参数Nc ...
分类:
编程语言 时间:
2019-08-04 19:33:59
阅读次数:
80
堆栈模型: 函数调用: EBP:ESP EBP当前调用函数的栈底; ESP当前调用函数的栈顶; 参考及图: https://blog.csdn.net/hoi0714/article/details/7658100 ...
分类:
系统相关 时间:
2019-08-03 13:05:56
阅读次数:
86
一、数据结构与算法基础知识 从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。 从狭义上讲,就是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。 数据结构和算法是相辅相成的,数据结构为算法服务,算法要作用在特定的数据结构之上。 "数据结构思维导图" 基础数 ...
分类:
编程语言 时间:
2019-08-01 18:52:02
阅读次数:
166
一 数据类型 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
题目链接:http://poj.org/problem?id=1988 题意:有n个元素,开始每个元素各自在一个栈中,有两种操作,将含有元素x的栈放在含有y的栈的顶端,合并为一个栈。 第二种操作是询问含有x元素下面有多少个元素。 思路: 并查集,把每一堆看作一个栈,堆的下方看作栈顶。因为当我们知道栈 ...
分类:
其他好文 时间:
2019-07-06 00:32:31
阅读次数:
99
JVM的内存结构根据JVM规范,JVM内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1.Java虚拟机栈:线程私有;每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈,动态连接,方法返回地址等;每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈。2.堆:线程共享;被所有线程共享的一块内存区域,在虚拟机启动时创建,用于存放对象实例。3.方法区:线程共享;被所
分类:
数据库 时间:
2019-07-04 17:18:32
阅读次数:
144
JVM 的内存划分 JVM 将内存主要划分为:方法区、栈、本地方法栈、堆、程序计数器。 方法区存:又叫静态区,存放所有的class和static变量;方法区中包含的都是在程序中永远的唯一的元素。 虚拟机栈:执行引擎每调用一个函数时,就为这个函数创建一个栈帧,并加入虚拟机栈。换个角度理解,每个函数从调 ...
分类:
其他好文 时间:
2019-07-01 18:38:07
阅读次数:
127
转自:https://www.cnblogs.com/paddix/p/5309550.html 一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧 ...
分类:
其他好文 时间:
2019-06-18 19:49:11
阅读次数:
103