`
annan211
  • 浏览: 446445 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jvm 栈 基本概念

    博客分类:
  • jvm
 
阅读更多
java 程序员 通常把java程序运行时的内存 分为 堆内存和栈内存,其实这是一种非常粗糙的分类方式。

java 虚拟机 将字节码文件编译为 机器码的时候,在执行具体方法的同时,会创建一种栈帧,叫 java 虚拟机栈帧,用于存储局部变量表,操作栈,动态连接,方法出口等信息。而普通程序员所说的 栈内存 就是指本处的 帧栈里面的 局部变量表。局部变量表存放了编译期可知的8种基本数据类型(64位的double,long占用两个局部变量空间,其余占用1个)、引用类型、returnAddress类型。局部变量表占用的内存空间在编译期分配完成,进入一个方法时,这个方法需要在帧中分配多大的局部变量空间是完全确定的,在执行方法期间不会改变局部变量表的大小。

java 虚拟机规范中对java虚拟机栈 规定了两种异常状况,如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError 异常,如果虚拟机栈可以动态扩展,当扩展时无法申请到足够的内存时,将抛出 OutOfMemoryError异常。

具体可参见附件表
  • 大小: 297.6 KB
分享到:
评论

相关推荐

    深入JVM内核 - 原理、诊断与优化

    在本课程中个,将详细介绍JVM的基本原理、组成以及工作方式,并配合实际案例,介绍相关的调优技巧。 课程大纲: 第一课 初识JVM JVM分类 Java语言规范 JVM规范 介绍JVM的基本知识和发展历史,并介绍了Java语言...

    深入JVM内核—原理、诊断与优化

    第二周JVM运行机制简介堆、栈、方法区等JVM启动流程内存模型和volatile实例解释和编译运行的概念介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。第三周常用JVM参数堆的分配参数栈分 资源太大...

    葛一鸣,深入JVM内核—原理、诊断与优化

    课程大纲: 第一课 初识JVM ...介绍JVM的基本知识和发展历史,并介绍了Java语言规范和JVM规范。 第二课 JVM运行机制简介 堆、栈、方法区等 JVM启动流程 内存模型和volatile实例 解释和编译运行的概念

    2020 宋红康 JVM 09 方法区.pptx

    学习 09 方法区, 记录方法区相关知识,重绘图示和 PPT。 文章包括栈、堆和方法区交互、方法区基本概念、方法区的演进、方法区的内部结构、方法区垃圾回收等相关内容。

    阿里大佬总结的Java面试资料.pdf

    (1) 基本概念: JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接 的交互。 (2) 运行过程: ...

    突破程序员基本功的16课.part2

    11.5.1 哈夫曼树的定义和基本概念 11.5.2 创建哈夫曼树 11.5.3 哈夫曼编码 11.6 排序二叉树 11.7 红黑树 11.7.1 插入操作 11.7.2 删除操作 11.8 小结 第12课 常用的内部排序 12.1 排序的基本概念 12.1.1 ...

    Java提高篇之关键字static

     Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。在JVM加载一个类的时候,若该类存在static修饰的成员变量和成员方法,则会为这些成员变量和...

    Java常见面试问题整理.docx

    它主要包含两个部分,jvm的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库。 JDK :英文名称(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了...

    谈谈你对垃圾回收机制的了解?.docx

    一, 垃圾回收机制 在系统运行过程中会产生一些无用的对象,这些对象一直占用内存,不清理这些无用的对象可能会导致内存...jvm会把虚拟机栈和本地方法栈中正在引用的对象、静态属性引用的对象和常量,作为 GC Roots。

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    京动力节点-Java编程零基础教程-001-编程基础-基本概念-语言、程序、编程.mp4 北京动力节点-Java编程零基础教程-002-编程基础-基本概念-编译.mp4 北京动力节点-Java编程零基础教程-003-编程基础-基本DOS操作.mp4 ...

    Java并发编程论述 pdf

    进程是程序运⾏的基本单位,⼀个JAVA程序的进程对应了⼀个JVM虚拟机实例。进程启动后会 为其分配固定的内存空间,进程和进程之间的内存空间是相互独⽴的。线程是⼀个抽象的概念, 进程内部会创建多个线程去并发地执...

    java7hashmap源码-java-skill:JavaSkill,Java技能

    (1)基本概念 ​ JVM是可运行Java代码的假想计算器,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收、堆和一个存储方法域。JVM是运行在操作系统之上,它与硬件没有直接的交互。 (2)运行过程 ​ 我们都...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    180多页面试题,前前后后不间断的更新了两年,准备换工作时,总是拿来看看,有比较好的面试题,也不间断的更新,面试题目录...2、基本概念 179 3. ZooKeeper典型应用场景 183 4、ZooKeeper在大型分布式系统中的应用 189

    关于Java堆内存是线程共享的吗?

    首先,在JVM的内存结构中,比较常见的两个区域是堆内存和栈内存关于这两个概念的介绍一般如下: 1、堆是线程共享的内存区域,栈是线程独享的内存区域。 2、堆中主要存放对象实例,栈中主要存放各种基本数据类型、...

    AIC的Java课程1-6章

    本课程面向的学员应该具有基本的编程概念,能够编写简单的程序,并学习过操作系统,数据结构等计算机理论知识。课程选用最新的JDK5.0版本作为开发平台,教学的宗旨是:激发兴趣,理解知识,树立面向对象编程思维。 ...

    疯狂JAVA讲义

    6.6.1 接口的概念 192 6.6.2 接口的定义 193 6.6.3 接口的继承 195 6.6.4 使用接口 195 6.6.5 接口和抽象类 197 6.6.6 面向接口编程 198 6.7 内部类 202 6.7.1 非静态内部类 202 学生提问:非静态内部类对象...

    Java并发编程实战

    书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高...

    JAVA面试题最全集

    描述一下JVM加载class文件的原理机制? 41.试举例说明一个典型的垃圾回收算法? 42.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来. 43.请写一个java程序实现线程连接池功能? 44...

    java 面试题 总结

    面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多...

Global site tag (gtag.js) - Google Analytics