当前位置: 首页 > web >正文

【JVM 01-引言入门篇】

JVM 引言篇01 笔记记录

  • 1. 什么是JVM?
  • 2. 学习JVM有什么用?
  • 3. 常见的JVM
  • 4. 学习路线

学习资料来源-b站黑马

1. 什么是JVM?

定义:Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。【Java 二进制字节码运行环境】
好处:

  • 一次编写,到处运行
  • 自动内存管理,垃圾回收功能
  • 数组下标越界越界检查
  • 多态
    比较JDK、JRE、JVM:
    在这里插入图片描述

2. 学习JVM有什么用?

  • 功利一点的话就是,面试会问到。
  • 理解底层的实现原理。
  • 中高级程序员必备技能,除了业务代码,还要有解决线上出现问题的能力,比如内存溢出、响应时间缓慢等等,这些发生的原因可能很多都是和JVM相关的,当掌握了JVM的知识以及一些常见的工具,就能够快速的去定位和分析解决这些问题。

3. 常见的JVM

常见的JVM其实挺多的,比如著名的Oracle公司的HotSpot,还有包括Eclipse 的OpenJ9DE等等。
可以看看自己的Java虚拟机使用的是什么。
这里有些是免费的有些是收费的,商业使用的。在这里插入图片描述这里是引用

4. 学习路线

主要分为下面几块

  1. 类加载器
  2. JVM内存结构
  3. 执行引擎

简单来说就是要理解:
一般一个类从Java源代码编译成了二进制字节码以后,都必须经过类加载器才能被加载到JVM里面去运行,类一般都放在方法区中,类创建的实例对象放在中,而堆里面这些对象在调用方法时又会用到虚拟机栈、程序计数器以及本地方法栈等。方法执行时,每行代码是由于执行引擎中的解释器逐行进行执行。对于一些热点代码,被频繁调用的代码会用JIT的即时编译器编译,相当于一个优化后的执行。还有很重要的模块GC垃圾回收模块,会对堆中的一些不在引用的对象进行垃圾回收。还有一些Java代码不方便实现的功能,必须调用底层操作系统的功能,所以需要借助本地方法接口来调用操作系统提供的一些功能和方法。这里是引用

http://www.xdnf.cn/news/8379.html

相关文章:

  • 《数据结构初阶》【八大排序——巅峰决战】
  • Jenkins
  • 数字FPGA开发方向,该如何做好职业规划?
  • 无人机开启未来配送新篇章
  • AWS関連職種向け:日本語面接QA集
  • PyQt学习系列08-插件系统与模块化开发
  • 数据结构(5)线性表-栈
  • CAS详解
  • 文章记单词 | 第115篇(六级)
  • upload-labs通关笔记-第19关文件上传之条件竞争
  • EtherNet IP到modbus TCP网关完成AGV系统的安全解决方案及应用
  • 认知偏差:你的思维如何在工作中给你设置障碍以及如何克服它们
  • 基于微信小程序的高校校园微活动管理系统设计与实现(源码+定制+开发)高校微信小程序校园活动发布与互动平台开发 面向大学生群体的校园活动移动平台设计与实现
  • Servlet的继承关系和生命周期
  • 黑马点评-实现分布式锁
  • dify多实例部署,一台机器部署多个dify实例
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(28):ばかり
  • CASIA-HWDB的gnt转换为png图片
  • R语言学习--Day07--T分布与T检验
  • word设置如“第xx页 共xx页”格式的页码
  • OPC Client第5讲(wxwidgets):初始界面的事件处理;按照配置文件初始化界面的内容
  • 【Django DRF】一篇文章总结Django DRF框架
  • 鸿蒙Ability对比Android的Fragment
  • uniapp编译小程序,不支持:class语法
  • 机器学习第二十五讲:TensorFlow → 乐高式搭建深度学习模型
  • kafka吞吐量提升总结
  • halcon 连接相机
  • 消息队列RabbitMQ与AMQP协议详解
  • oracle数据库生成awr报告,排查数据库服务器CPU100%,系统卡顿,慢sql,根据sqlid查询关键信息,如会话SID,客户端机器名
  • 从零搭建SpringBoot Web单体项目3、SpringBoot 核心组件深度解析