JVM
文章平均质量分 73
wegofun
这个作者很懒,什么都没留下…
展开
-
JVM07 JVM本地方法栈
07 本地方法栈本地方法接口为本地方法栈服务,本地方法栈执行时通过调用本地方法接口来实现;1. 本地方法栈Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法;本地方法栈是线程私有的;允许被实现成固定或者是可动态扩展的内存大小,会出现StackOverflowError异常和OutOfMemoryError异常;本地方法是使用C语言实现的;它的具体做法是Native Method Stack中登记native方法,在Execution Engine执行时加载本地方法库原创 2021-07-05 10:08:50 · 167 阅读 · 0 评论 -
JVM06 JVM本地方法接口
06 JVM本地方法接口上节讲过虚拟机栈后,接下来了解本地方法栈,了解本地方法栈首先要弄懂本地方法接口是什么?这一节来了解一下;1. 什么是本地方法?简单地讲,一个Native Method就是一个Java调用非Java代码的接口。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C语言。这个特性非Java所特有的,很多其它的编程函数都有这一机制,比如C++中,可以用extern "C"告知C++编译器去调用一个C的函数;作用:融合不同的编程语言为J原创 2021-07-05 09:53:34 · 114 阅读 · 0 评论 -
JVM05 JVM虚拟机栈
虚拟机栈是程序运行的逻辑控制,虚拟机栈控制着方法的入栈与出栈,代表着方法的运行,本文来了解一下JVM中的虚拟机栈结构和功能;1. Java虚拟机栈是什么?Java虚拟机栈(Java Virtual Machine Stack)是运行时的单位,栈解决程序的运行问题,其通过栈帧的入栈出栈来实现代码的运行;除此之外虚拟机栈还包括一下特点:虚拟机栈是线程私有的;生命周期和线程一致;虚拟机栈不存在垃圾回收问题,但是存在**OutOfMemoryError和StackOverflowError;**.原创 2021-06-30 15:51:46 · 77 阅读 · 0 评论 -
JVM04 JVM程序计数器(PC寄存器)
在JVM中程序执行的过程中,技术计数器起着控制程序下一步运行那一条指令,起着至关重要的作用,一切来了解了解JVM中的pc寄存器1. PC Register是什么?一张图表示PC寄存器在JVM的位置程序计数器是一块较小的内存空间,它可以看作是当前线程所执行字节码的行号指示器;JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟;每个线程拥有自己的PC寄存器,生命周期与线程生命周期相同;PC存储当前线程正在执行方法的JVM指令地址,若是native方法,则是undefined;是程序控制流.原创 2021-06-29 19:15:20 · 112 阅读 · 0 评论 -
JVM03 JVM运行时数据区及线程
在java编译后的.class文件通过类加载子系统加载进入JVM运行时的数据区,接下来对JVM运行时数据区进行一个简要的概述;一、 JVM运行时数据区1. JVM运行时数据库结构如图框出来的为运行时数据区,包括方法区、堆、程序计数器、本地方法栈、虚拟机栈;运用时数据区在不同的JVM中结构不同,TaobaoVM的运行时数据区的结构2. 内存是什么?内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行;JVM内存布局规定了Java在运行过程中内.原创 2021-06-29 18:44:18 · 64 阅读 · 0 评论 -
JVM02 JVM 类加载子系统
02 JVM 类加载子系统在Java程序编译成.class文件中,想在JVM中运行,需将.class加载到JVM中的运行时数据区(方法区)中,这是JVM的类加载子系统就发挥了自己的作用;【问题:如何判断;两个对象是否相等?】【回答】首先要判断对象所属类的类加载器是否是一样,接下来再比较两个对象的地址是否相等;一、 JVM内存结构按照JVM的结构大致将JVM分为三层,其中类加载子系统属于最上面一层,是Java程序执行的开始;类加载器子系统运行时数据区执行引擎这三层详细的结构图如下:原创 2021-06-29 10:19:07 · 62 阅读 · 0 评论 -
JVM01 JVM与Java体系结构
学习尚硅谷以及深入理解Java虚拟机后,记下如下笔记,方便后续查看;01 JVM与Java体系结构一、Java程序的运行1. 常见的Java项目运行的结构体系JVM是Java程序运行的基石;2. 计算机运行程序的流程任何高级语言必须编译汇编成机器指令才能被计算机的CPU所执行;3. Java VS C++ 内存分配区别:Java自动垃圾回收;C++需要收到进行垃圾回收;二、 Java及JVM简介1. Java:跨平台的语言Java编译一次可以在任何平台进行运行.原创 2021-06-23 08:48:28 · 78 阅读 · 0 评论