JVM简介—3.JVM的执行子系统】的更多相关文章

一. 案例分析 1. Tomcat:正统的类加载器架构 主流的Java Web服务器,如Tomcat.Jetty.WebLogic.WebSphere或其他服务器,都实现了自己定义的类加载器(一般都不止一个).因为一个功能健全的Web服务器,要解决如下问题: 部署在同一个服务器上的两个Web应用程序所使用的Java类库可以实现相互隔离.服务器应当保证两个应用程序的类库可以互相独立使用. 部署在同一个服务器上的两个Web应用程序所使用的Java类库可以互相共享.如果部分类库不能共享,虚拟机的方法区…
虚拟机和物理机的区别.两种都有代码执行能力.物理机的执行引擎是建立在处理器.硬件.指令集和操作系统上.而虚拟机的执行引擎是有自己实现的.因此可以自行的制定指令集和执行引擎的结构关系. 个人理解:分为三个部分.分别是介绍运行时分的各个内存区域[程序计数器.java虚拟机栈[局部变量表.操作数栈.动态链接.方法返回地址].本地方法栈.方法区.堆].方法的调用[解析.分派].方法的执行[解析执行.编译执行] 1. 运行时栈帧结构 栈帧是用于虚拟机进行方法调用和方法执行的数据结构.是虚拟机栈的栈元素.这…
3. 虚拟机执行子系统 3.1 Java跨平台的基础 Java刚诞生的宣传口号:一次编写,到处运行(Write Once, Run Anywhere),其中字节码是构成平台无关的基石,也是语言无关性的基础. Java虚拟机不和包括Java在内的任何语言绑定,它只与Class文件这种特定的二进制文件格式所关联,这使得任何语言的都可以使用特定的编译器将其源码编译成Class文件,从而在虚拟机上运行. 3.2 Class类的文件结构 任何一个Class文件都对应着唯一一个类或接口的定义信息,但反过来说…
虽然这几天 很忙,但是学习是不能落下的,也不能推迟,因为如果推迟了一次,那么就会有无数次;加油,come on! Java跨平台的基础: 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础.Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息. Class类文件结构 Class类的本质 任何一个C…
JVM 的执行子系统. 一.Class类文件结构 1. JVM的平台无关性 与平台无关性是建立在操作系统上,虚拟机厂商提供了许多可以运行在各种不同平台的虚拟机,它们都可以载入和执行字节码,从而实现程序的一次编写,到处运行. 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式--字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础.Java 虚拟机不和包括 Java 在内的任何语言绑定,它只与"Class 文件"这种特定的二进制文件格式所关联,Class 文件中包含…
JVM简介 Java虚拟机(JVM)是由Java虚拟机规范定义的,其上运行的是字节码指令集.这种字节码指令集包含一个字节的操作码(opcode),零至多个操作数(oprand),虚拟机规范明确定义了每种字节码指令完成的功能是什么以及需要多少个操作数.Java虚拟机上运行的class文件,这个文件中包含字节码指令流以及类定义的信息,所以Java虚拟机规范还定义了class文件的格式(精确到每个字节).所以实现Java虚拟机的两个要素是字节码指令集和class文件格式,Java虚拟机的实现者只要以正…
JVM性能优化这些列文章共分为5章,是ImportNew上面翻译自Javaworld: 第1章:JVM技术概览 第2章:编译器 第3章:垃圾回收 第4章:并发垃圾回收 第5章:可伸缩性 众所周知,Java应用程序是运行在JVM上的,但是你对JVM有所了解么?作为这个系列文章的第一篇,本文将对经典Java虚拟机的运行机制做简单介绍,内容包括“一次编写,到处运行”的利弊.垃圾回收的基本原理.常用垃圾回收算法的示例和编译器优化等.后续的系列文章将会JVM性能优化的内容进行介绍,包括新一代JVM的设计思…
声明:本博客仅仅是一个初学者的学习记录.心得总结,其中肯定有许多错误,不具有参考价值,欢迎大佬指正,谢谢!想和我交流.一起学习.一起进步的朋友可以加我微信Liu__66666666 这是简单学习一遍之后的记录,后期还会修改. 一.什么是JVM Java虚拟机(英语:Java Virtual Machine,缩写为JVM),一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由Sun所研发并实现第一个实现版本,是Java平台的一部分,能够运行以Java语言写作的软件程序.…
本文源码:GitHub·点这里 || GitEE·点这里 一.虚拟机简介 1.虚拟机概念 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统.在实体计算机中能够完成的工作在虚拟机中都能够实现.在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量.每个虚拟机都有独立的CMOS.硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作. 2.JVM虚拟机 JVM是Java-Virtual-Machine的…
写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 执行引擎是Java虚拟机中的核心组成部分. 执行引擎的作用就是解析虚拟机字节码指令,即执行一条条的代码流程,并得到执行结果. 我们可以先来看一下执行引擎在Java虚拟机中的位置, 可以看出,一个Java线程就是一个执行引擎的实例.则在一个JVM实例中就会有很多个执行引擎在工作,可能有的在执行我们编写的应用程序,有的在执行JVM内部程序,如垃圾收集器等. 1.执行引擎的工作过程 "虚…