内存与垃圾回收

JVM与Java体系结构

JVM详解 - 图1
Java程序生成字节码文件,字节码文件本身具有跨平台性。
image.png
JVM:跨语言的平台。不同语言只要生成的字节码文件符合JVM规范,就可以在JVM上运行。它不关心运行在内部的程序是使用何种语言编写的,只关心字节码文件,具有语言无关性。
Java平台上多语言混合编程正成为主流,通过特定领域的语言去解决特定领域的问题是当前软件开发日趋复杂的方向,各语言交互不存在困难,因为都运行在一个虚拟机上。
《自己动手写Java虚拟机》
JVM特点:一次编译,到处运行,自动内存管理,自动垃圾回收功能。
JVM的位置:JVM是运行在操作系统上的,与硬件没有直接的交互。

类加载子系统

运行时数据区概述及线程

程序计数器

虚拟机栈

本地方法接口

本地方法栈

方法区

直接内存

执行引擎

StringTable

垃圾回收概述

垃圾回收相关算法

垃圾回收相关概念

垃圾回收器

字节码与类的加载

性能监控与调优