简单认识JAVA内存划分
Java的内存划分为五个部分
那么又是哪五个部分呢?跟着我往下看!
介绍:
每个程序运行都需要内存空间,所以Java也不例外;而Java把从计算机中申请的这一块内存又进行了划分!而所在目的是为了让程序更好的运行和处理!
第一块:
第一部分
“栈” ——(stack)
1.它存放的是方法中的局部变量。
2.而这个 “局部变量” 又指的是方法的参数,或者是大括号{}内部的变量。
3.而这个 “局部变量” 有个特点 就是 “作用域” 。
4.一旦超出“作用域”(大括号),立刻从栈内存当中消失。
5.方法的执行一定要在栈当中。
第二块:
第二部分
“堆”——Heap
1.凡是 new 出来的东西,都在堆当中。
2.堆内存里面的东西都有一个地址值:16进制的一个值。
3.而且堆内存里面的数据,都有默认值,规则:
如果是整数——默认为 0;
如果是浮点数——默认为 0.0;
如果是字符型——默认为 ‘\u0000’;
如果是布尔类——默认为 false;
如果是引用类型——默认为 null;
第三块:
第三部分
“方法区”——Method Area
1.存储 .class 相关信息,包含方法的信息。
第四块
第四部分
“本地方法栈”——Native Method Stack
1.是和操作系统相关的内容。
第五块
第五部分
“寄存器”——pc Register
1.与CPU 有关
简单认识JAVA内存划分的更多相关文章
- java内存划分
运行时数据区域 Java虚拟机在执行Java的过程中会把管理的内存划分为若干个不同的数据区域.这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,而有的区域则依赖线程的启动 ...
- 最简单的 Java内存模型 讲解
前言 在网上看了很多文章,也看了好几本书中关于JMM的介绍,我发现JMM确实是Java中比较难以理解的概念.网上很多文章中关于JMM的介绍要么是照搬了一些书上的内容,要么就干脆介绍的就是错的.本文试着 ...
- Java虚拟机系列(一)---Java内存划分
Java和C++之间有一堵由内存管理和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙内的人却想出来. ------摘自<深入理解Java虚拟机> 作为一个Java程序员,因为虚拟机的好 ...
- 简单学习java内存马
看了雷石的内存马深入浅出,就心血来潮看了看,由于本人java贼菜就不介绍原理了,本文有关知识都贴链接吧 前置知识 本次主要看的是tomcat的内存马,所以前置知识有下列 1.tomcat结构,tomc ...
- 2019.12.10 定义数组及java内存划分
//数据类型[ ] 数组名 = new 数据类型[元素个数或数组长度]; int[] x = new int[100]; //类型[] 数组名 = new 类型[]{元素,元素,……}; String ...
- java 虚拟机内存划分,类加载过程以及对象的初始化
涉及关键词: 虚拟机运行时内存 java内存划分 类加载顺序 类加载时机 类加载步骤 对象初始化顺序 构造代码块顺序 构造方法 顺序 内存区域 java内存图 堆 方法区 虚拟机栈 本地 ...
- Java学习-内存划分及内存的调用关系
一.JAVA内存划分 JAVA的内存可以划分为五个部分:堆.栈.方法区.本地方法区和寄存器. 堆(Heap):凡是new出来的东西都在堆中 如: integer = new Integer(2) // ...
- JVM之--Java内存结构(第一篇)
最近在和同事朋友聊天的时候,发现一个很让人思考的问题,很多人总觉得JVM将java和操作系统隔离开来,导致很多人不用熟悉操作系统,甚至不用了解JVM本身即可完全掌握Java这一门技术,其实个人的观点是 ...
- Java内存数据模型
本篇文章带来的是对Java内存数据模型的介绍,这对于我们深入理解Jvm虚拟机工作的原理和Java内存的划分大有裨益,好了,为了让我们理解的更为深刻,我们将会加入图片辅助的方法去理解. 本篇博文的目录: ...
随机推荐
- JVM 专题九:运行时数据区(四)本地方法栈
1. 本地方法栈 2. 什么是本地方法栈? Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用 本地方法栈,也是线程私有的. 允许被实现成固定或者是可动态拓展的内存大小 ...
- CSS 三大特性 层叠 继承 优先级
css三大特性 层叠性: 如果一个属性通过两个相同选择器设置到同一个元素上,相同的属性就会出现冲突,那么这个时候一个属性就会将另一个属性层叠掉,采用的是就近原则 继承性: 子标签会继承父标签的某些样式 ...
- 016.Nginx HTTPS
一 HTTPS概述 1.1 HTTPS介绍 超文本传输安全协议HTTPS(Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯 ...
- ElementUI中 el-table-column 显示的数据为多个返回数据的拼接
遇到个问题就是其中有个要展示的数据来自接口返回的两个字段. 原用法是: 原以为prop=" "中只能放一个字段的数据,想放两个字段数据的话,要把 <el-table-colu ...
- 【mysql】- 锁篇(下)
InnoDB存储引擎中的锁 表级锁 表级别的S锁.X锁 在对某个表执行SELECT.INSERT.DELETE.UPDATE语句时,InnoDB存储引擎是不会为这个表添加表级别的S锁或者X锁的 表级别 ...
- 循序渐进nginx(二):反向代理、负载均衡、缓存服务、静态资源访问
目录 反向代理 使用 1.创建代理目标服务端: 2.配置nginx反向代理目标服务端: 3.测试使用: 负载均衡 使用 1.准备服务端 2.修改nginx配置 3.测试 负载均衡策略 负载均衡的额外参 ...
- 用windbg查看dmp文件,定位bug位置
windbg + .dmp + .pdb + 源代码,可以看到是哪个代码崩溃的 设置符号文件所在路径 File->Symbol File Path... 在输入框中填入.pdb文件所在的文件夹路 ...
- python-多任务编程02-进程(processing)
进程与程序 程序:例如xxx.py这是程序,是一个静态的 进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元. multiprocessing模块 multipro ...
- 前端学习(八):CSS
进击のpython ***** 前端学习--CSS 现在的互联网前端分为三层: HTML:超文本标记语言.从语义的角度描述页面结构 CSS:层叠样式表.从审美的角度负责页面样式 JS:Javascri ...
- sed在文本第一行和最后一行添加字符串
shell在文本第一行和最后一行添加字符串 sed -i '1 i\ApiInterfaceName ResposeTime' /tmp/apiLog/apiLogFromatSecond.logse ...