Java虚拟机
文章平均质量分 94
zh328271057
java菜鸟
展开
-
Java虚拟机(2)-----内存的回收与分配
Java虚拟机的运行时数据区共有5快区域,其中本地方法栈,虚拟机栈,程序计数器随线程生而生,随线程灭而灭。用虚拟机栈举例,一个线程的虚拟机栈所占用的内存在编译期已经大致确定(由类的结构决定),所以内存的回收并不关注这三个区域。 而堆和方法区由于只能在运行时才能确定有多少对象会被创建和回收,所以,内存的回收和分配主要集中在这两个区域。一.内存的回收 1.1方法区如...原创 2018-06-03 10:46:01 · 180 阅读 · 0 评论 -
Java虚拟机(1)-----内存区域和内存溢出异常
一.运行时数据区域 Java虚拟机将其管理的内存划分为不同的数据区域,他们各自有不同的用途,创建及销毁时间。总体情况如下: 1.1程序计数器 每当我们创建一个线程时,便会相对应的使其拥有一个程序计数器。程序计数器的主要功能是作为当前线程的行号指示器。字节码指示器会因为程序计数器的值的不同而执行不同的代码。各个线程的程序计数器互不影响,独立储存。 ...原创 2018-05-30 11:35:04 · 169 阅读 · 0 评论 -
Java虚拟机(3)-----虚拟机性能监控与故障处理工具
别人的链接-----点击打开链接转载 2018-06-04 09:28:55 · 155 阅读 · 0 评论 -
Java虚拟机(4)-----类文件结构
一.概述 类文件即是java文件编译后所形成的.class文件。他是Java无关性的基石,Java语言通过class文件实现了平台无关性和语言无关性。Java虚拟机只和class文件沟通而与操作系统无关实现了平台无关性。而Java虚拟机支持越来越多的编程语言都可以编译成class文件则体现了其语言无关性。当然,不同的语言会使用不同的编译器。二.Class类文件的结构 一个cla...原创 2018-06-06 15:44:24 · 302 阅读 · 0 评论 -
Java虚拟机(5)-----类加载机制
虚拟机将描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,就是虚拟机类加载机制。在Java语言中,类型的加载,连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为Java应用程序提供高度的灵活性。 虚拟机的加载过程分为下图这几个步骤: 在具体...原创 2018-07-11 22:12:04 · 167 阅读 · 0 评论 -
Java虚拟机(6)-----虚拟机字节码执行引擎
在 Java 虚拟机规范中制定了虚拟机字节码执行引擎的概念模型,这个概念模型称为各种虚拟机执行引擎的统一外观(Facade)。在不同的虚拟机实现里面,执行引擎在执行 Java 代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择,也可能两者兼备,甚至还可能会包含几个不同级别的编译器执行引擎。但从外观上看起来,所有的 Java 虚拟机的执...原创 2018-07-12 21:15:02 · 236 阅读 · 0 评论