随笔分类 -  jvm

【JVM系列 上篇 】7.本地方法栈
摘要:本地方法栈 Java虚拟机栈于管理Java方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小。(在内存溢出方面是相同的) 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java虚拟机将会抛出一个 StackOverflo 阅读全文
posted @ 2021-11-18 19:52 幂次方 阅读(29) 评论(0) 推荐(0)
【JVM系列 上篇 】6.本地方法接口
摘要:本地方法接口 什么是本地方法 简单地讲,一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如 C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用exte 阅读全文
posted @ 2021-11-18 19:45 幂次方 阅读(19) 评论(0) 推荐(0)
【JVM系列 上篇 】5.虚拟机栈
摘要:虚拟机栈 虚拟机栈概述 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。 有不少Java开发人员一提到Java内存结构,就会非常粗粒度地将JVM中的内存区 阅读全文
posted @ 2021-11-14 17:46 幂次方 阅读(28) 评论(0) 推荐(0)
【JVM系列 上篇 】4.程序计数器
摘要:程序计数器 介绍 JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也 阅读全文
posted @ 2021-11-14 17:44 幂次方 阅读(32) 评论(0) 推荐(0)
【JVM系列 上篇 】3.运行时数据区概述及线程
摘要:运行时数据区概述及线程 前言 本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段 当我们通过前面的:类的加载-> 验证 -> 准备 -> 解析 -> 初始化 这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区 也就是大厨做饭,我们把大厨后 阅读全文
posted @ 2021-11-14 17:23 幂次方 阅读(13) 评论(0) 推荐(0)
【JVM系列 上篇 】2.类加载子系统
摘要:【JVM】类加载子系统 版权 本文为蘑菇博客原创文章,转载无需和我联系,但请注明来自蘑菇博客 http://www.moguit.cn 类加载子系统 概述 完整图如下 如果自己想手写一个Java虚拟机的话,主要考虑哪些结构呢? 类加载器 执行引擎 类加载器子系统作用 类加载器子系统负责从文件系统或者 阅读全文
posted @ 2021-11-13 11:01 幂次方 阅读(35) 评论(0) 推荐(0)
【JVM系列 上篇 】1.JVM与Java体系结构
摘要:【JVM】JVM与Java体系结构 JVM与Java体系结构 前言 作为Java工程师的你曾被伤害过吗?你是否也遇到过这些问题? 运行着的线上系统突然卡死,系统无法访问,甚至直接OOMM! 想解决线上JVM GC问题,但却无从下手。 新项目上线,对各种JVM参数设置一脸茫然,直接默认吧然后就JJ了 阅读全文
posted @ 2021-11-12 20:56 幂次方 阅读(46) 评论(0) 推荐(0)