一文带你从不同的视角认识 JVM

本文适合已经了解JVM基础的读者,旨在从不同视角全面重新认识JVM。内容包括从官网了解JVM、源码到类文件的转变、字节码解析以及使用javap反汇编。通过深入理解JVM的设计原理和工作方式,提升Java程序的优化和调优能力。
摘要由CSDN通过智能技术生成

概述

一说到 JVM 三个字母,你脑子里首先蹦出来的是什么?我分析一般有以下三种人:

  • 第一种:JVM 三个字母,分开我是认识的,一组合,我不知道是啥
  • 第二种:他不就是 Java 虚拟机么,跑 Java 程序的
  • 第三种:分为堆内存,方法区,老年代,新生代.....巴拉巴拉...,可以跟你说几个小时的

经过我的日常观察,一般第一种人是程序猿的家属,第二种人是程序猿的同事(非 Java 工作的同事),第三种人就是程序猿本猿了,而本文的适合读者是第三种人,我试图从不同的视角出发,带领程序猿们站在另外一个高度点重新全面的重新认识一次 JVM,从浅到深的逐步深入,再一次对我们认知的 JVM 做一个全面的梳理,不仅知道它有堆内存、方法区、老年代、新生代...更要知道其原理,也要知道其使用的方法。在深入理解其设计原理的基础上,再对它进行使用和调优,就会更加的得心应手。

接下来,让我逐步带领大家进入 JVM 的世界!后续我将以 JVM 系列文章的形式,逐步带大家从浅到深的认识 JVM。

声明:以下内容篇幅较长,请耐心看完,你一定会有不一样的收获!

一切从官网开始

那么认识 JVM 的第一步该是什么呢?有很多人第一次认识 JVM 是在百度或者 google 上的,其实第一步你就错了,我认为一切应该还是从官网开始,从它出生的地方先做一个全面的了解。

Java Platform Standard Edition 8 Documentation

官网地址:docs.oracle.com/javase/8/do…

Reference -> Developer Guides -> 定位到:docs.oracle.com/javase/8/do…

Tips:花点时间,耐心的读完这段话,你会有新的心得的!

Oracle has two products that implement Java Platform Standard Edition (Java SE) 8: Java SE Development Kit (JDK) 8 and Java SE Runtime Environment (JRE) 8.

JDK 8 is a superset of JRE 8, and contains everything that is in JRE 8, plus tools such as the compilers and debuggers necessary for developing applets and applications. JRE 8 provides the libraries, the Java Virtual Machine (JVM), and other components to run applets and applications written in the Java programming language. Note that the JRE includes components not required by the Java SE specification, including both standard and non-standard Java components.

The following conceptual diagram illustrates the components of Oracle's Java SE products:

Description of Java Conceptual Diagram

Getting Started with the G1 Garbage Collector

官网地址:www.oracle.com/technetwork…

Exploring the JVM Architecture

Hotspot Architecture

The HotSpot JVM possesses an architecture that supports a strong foundation of features and capabilities and supports the ability to realize high performance and massive scalability. For example, the HotSpot JVM JIT compilers generate dynamic optimizations. In other words, they make optimization decisions while the Java application is running and generate high-performing native machine instructions targeted for the underlying system architecture.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值