Java架构师必备技术JVM系列:不识JVM真面目,只缘身在增删查改中

前语

JVM是Java的中心和根底,在Java编译器和os渠道之间的虚拟处理器。它是一种根据下标签19层的操作体系和硬件渠道并使用软件办法来完成的笼统的计算机,能够在上面履行Java的字节码程序。

java编译器只需面向JVM,生成JVM能了解的代码或字节码文件。Java源文件经编译器,编译成字节码Java架构师必备技能JVM系列:不识JVM真面目,只缘身在增删查改中程序,经过JVM将每一条指令翻译成不同渠道机器码,经过特定渠道运转。

这儿就给我们讲一下JVM。Java全套架构材料获取办法:转发文章+重视私信【Java】

JVM虚拟机Java架构师必备技能JVM系列:不识JVM真面目,只缘身在增删查改中底层眼里分析与功能优化

  • 深化分析Java虚拟机内存模型
  • Java虚拟机废物搜集机制解密
  • 亿级流量电商网站JVM参数调优实战
  • 日均百万等级沟通体系JVM调优实战
  • Java虚拟机常见面试题分析

JVM是什么?

JDK: java development kit (JJava架构师必备技能JVM系列:不识JVM真面目,只缘身在增删查改中ava开发工具包) 编译、反编译、调试等。

JRE: java 标签17runtime enviroment (Java运转环境)

JVM: java Virtual Mechinal (Java虚拟机) 一次编标签3写,处处运转!

学JVM的目便是:

提高代码质量、处理项目问题。

面试!面试!仍是面试!

JVM是怎样玩的

类加载器:Class字节码文件加载到内存

履行引擎:解析字节码指令,得到履行成果

运转时数据区

JVM运转时数据区

线程私有

  • 程序计数器
  • 虚拟机栈
  • 本地办法栈

线程同享

  • 办法区

BAT的JVM面试题Java架构师必备技能JVM系列:不识JVM真面目,只缘身在增删查改中

JJava架构师必备技能JVM系列:不识JVM真面目,只缘身在增删查改中VM什么状况下会发作栈内存溢出?

JVM中一次完好的GC流程是怎样的?

  • GC——废物收回
  • 完好意味着标签14有多种状况

程序计数器

指向当时线程正在履行的字节码指令的地址(行号)

栈是什么?

栈(Stack)

  • 进口和出口只要一个
  • 入栈
  • 出栈

FILO

  • 先进后出

虚拟机栈

虚拟机栈

创Java架构师必备技能JVM系列:不识JVM真面目,只缘身在增删查改中建一个线程就为线程分配一个虚拟机栈,它又会包括多个栈帧,由于每运转一个办法就创立一个栈帧。

  • 运转时才有数据

栈帧

运转一个线程中的一个办法

  • 局部变量表
  • 操作数栈
  • 动态衔接
  • 回来地址

深化了解虚拟机栈

演示一段代码的办法的履行进程

代码:

public int calc(){
int a=标签14100;
int b=200;
int c=30Java架构师必备技能JVM系列:不识JVM真面目,只缘身在增删查改中0;
return(a+b)*c;
}

虚拟机栈的反常

StackOverFlowError反常

  • 原因:履行的虚拟机栈深度大于虚拟机栈答应的最大深度(办法的递归调用)。
  • 处理办法:添加默许栈的容量。

栈容量 -Xss 默许1M

OutOfMemeoryError反常

  • 原因:多线程环境下虚拟机在扩展栈时无法申请到满足的内存空间。
  • 处理办法:削减默许栈的容量来交换更多的线程支撑。

JVM中线程共有的内存区域

Java堆

  • Java堆是被一切线程同享的一块内存区域
  • 一切的目标实例以及数组要在堆上分配

元数据区

  • 老版本称号:办法区(永标签11久代)
  • 类信息、常量、编译后的代码信息

直接内存

以上源于一个视频解说的概述总结,后续将共享后半部分的内容:

深化了解Java内容模型JMM与volatile关键字(第标签17二节)

  • CPU多核并发缓存架构分析
  • Java线程内存模型底层完成原理
  • CPU缓存一致性协议详解
  • 深化汇编语言底层了解volatile关键字
  • 并发编程的可见性,原子性与有序性详解

如果有爱好想了解视频具体内容的能够重视我,点赞支撑一下 私信【Java】可获取原视频。

还有一些Java架构视频解说,需求获取Dubbo、Redis、规划形式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技能视频教程材料,架构思想导图,和BATJ面试题及答案的

Java学习笔记,面试,文档以及视频收取

标签:

Write a Comment

电子邮件地址不会被公开。 必填项已用 *标注