
JVM虚拟机运行机制
JVM的基础知识、图解内存结构、优化等等
乡下小哥编程
全栈开发工程师、前端、后端、测试与运维等职业均可上手 主后端java开发。全网10W万+粉丝、优快云2022博客之星后端领域top1、专家博主、阿里云专家博主、51CTO专家博主等。已指导毕业生60+顺利毕业、关注职场干货知识分享、毕设答辩指导、毕设系统指导开发。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类加载器以及类的加载过程
原创 2021-09-19 14:45:25 · 153 阅读 · 0 评论 -
程序计数器和虚拟机栈
原创 2021-09-19 16:02:21 · 152 阅读 · 1 评论 -
JVM内存结构
JVM内存结构1、整体结构原创 2021-08-11 16:02:23 · 437 阅读 · 2 评论 -
JVM中的方法区
JVM中的方法区方法区存储什么?用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存1、类型信息对每个加载的类型(类class、接口interface、枚举、注解)jvm必须在方法区中存储下边类型信息这个类型的完整有效名这个类型直接父类的完整有效名这个类型的修饰符(public、abstract、final的某个子集)这个类型直接接口的一个有序列表2、方法信息JVM必须保存所有方法的以下信息方法名称方法参数的数量和类型方法的修饰符方法的字节码、操原创 2021-08-12 15:56:48 · 670 阅读 · 1 评论 -
JVM中的堆
堆堆的核心概念《java虚拟机规范》中对java堆的描述是:所有的对象实例以及数组都应当在运行时分配在堆上。一个JVM实例只存在一个堆内存(就是new 出来一个对象),java内存管理的核心区域java堆区在jvm启动的时候就被创建,空间大小确定。是jvm管理的最大一块内存空间《java虚拟机规范》规定,堆可以处于物理上不连续的内存空间,但是在逻辑上应该被视为连续的所有的线程共享java堆,在这里还可以划分线程私有的缓冲区(Thread Local Allocation Buffer, TLA原创 2021-08-12 11:24:45 · 403 阅读 · 1 评论 -
虚拟机栈的五道面试题
虚拟机栈的五道面试题1、举例栈溢出的情况?(StackOverFlowError)通过-Xss设置栈的大小如果采用固定大小的java虚拟机栈,每一个线程的java虚拟机栈容量在线程创建的时候选定,如果线程请求分配的栈容量超过java虚拟机栈允许的最大容量,抛出StackOverFlowError异常2、调整栈大小,就能保证不出现溢出吗?不能,出现溢出的情况晚一点出现,不是不出现。如果java虚拟机栈可以动态扩展,并且在尝试扩展的时候无法申请到足够的内存,或者在创建新的线程时没有足够的内存去创建对原创 2021-08-11 23:31:32 · 251 阅读 · 1 评论