1.jvm基本知识

目录

概述

相关文章在此总结如下:

文章 地址
jvm类加载系统 地址
双亲委派模型与打破双亲委派 地址
运行时数据区 地址
运行时数据区-字符串常量池、程序计数器、直接内存 地址
jvm中对象创建流程与内存分配 地址
jvm对象内存布局 地址
GC基本原理 地址

jvm虚拟机三问

jvm是什么?

广义上指的是一种规范,狭义上是 jdk 中的 jvm 虚拟机(实际上是各厂商实现的虚拟机,如:Hotspot、zing、j9等)

java 和 jvm 的关系

由上图,JVM是宿主,java通过编译成 class文件格式在 jvm上运行。

为什么学jvm

  • 为了面试
  • 研发中难点问题会与jvm有关系。如:线程死锁、内存溢出、项目性能优化等。
  • 想要深入java语言,必需要学习jvm

怎么学习

  1. jvm基础知识
  2. 类加载系统
  3. 运行时数据区
  4. 一个对象的一生
  5. GC收集器
  6. 实战

为什么jvm调优?

  • 调优的最终目的都是为了应用程序使用最小的硬件来承载更大的吞吐量。
  • 更少的内存、更低的延迟、更大的吞吐量、减少应用的GC暂停时间
  • GC暂停会在高并发场景下,P99百分位的响应时间会产生影响

什么时候jvm调优

  • 系统吞吐量与响应性能不高或下降
  • Heap内存(老年代)持续上涨达到设置的最大内存值
  • Full GC 次数频繁
  • GC停顿时间过长(超过1s)
  • 应用出现OutOfMemory等内存异常
  • 应用中有使用本地缓存、且占用了大量的内存空间

调优调什么

  • 内存分配
  • 垃圾回收器选配

结束

相关推荐
程序员卷卷狗2 天前
JVM 调优实战:从线上问题复盘到精细化内存治理
java·开发语言·jvm
Sincerelyplz2 天前
【JDK新特性】分代ZGC到底做了哪些优化?
java·jvm·后端
初学小白...3 天前
线程同步机制及三大不安全案例
java·开发语言·jvm
凤山老林3 天前
还在用JDK8?JDK8升级JDK11:一次价值千万的升级指南
java·开发语言·jvm·spring boot·后端·jdk
2501_938790073 天前
详解 JVM 中的对象创建过程:类加载检查、内存分配、初始化的完整流程
jvm
宸津-代码粉碎机3 天前
Java内部类内存泄露深度解析:原理、场景与根治方案(附GC引用链分析)
java·开发语言·jvm·人工智能·python
杨筱毅3 天前
【底层机制】Android GC -- 为什么要有GC?GC的核心原理?理解GC的意义
android·jvm·gc
東雪木3 天前
Java基础语言进阶学习——1,JVM内存模型(堆、栈、方法区)
java·jvm·学习
小满、4 天前
JVM 执行引擎:字节码是如何被执行的
jvm·字节码·jvm执行引擎
无敌最俊朗@4 天前
SQLite 约束 (Constraints) 面试核心知识点
java·开发语言·jvm