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

1.jvm基本知识

目录

  • 概述
  • jvm虚拟机三问
    • jvm是什么?
      • java 和 jvm 的关系
    • 为什么学jvm
    • 怎么学习
    • 为什么jvm调优?
      • 什么时候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等内存异常
  • 应用中有使用本地缓存、且占用了大量的内存空间

调优调什么

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

结束

http://www.lryc.cn/news/232465.html

相关文章:

  • 前端---掌握WebAPI:DOM
  • 最优化基础(一)
  • 基于JavaWeb+SpringBoot+Vue医疗器械商城微信小程序系统的设计和实现
  • java程序中为什么经常使用tomcat
  • 大带宽服务器需要选择哪些节点
  • CSS 属性学习笔记(入门)
  • [Android]使用View Binding 替代findViewById
  • Pytest UI自动化测试实战实例
  • 软件测试/测试开发丨接口自动化测试学习笔记,多环境自动切换
  • Spring-IoC与DI入门案例
  • windows虚拟内存自定义分配以及mysql错误:Row size too large (> 8126)
  • 自动备份pgsql数据库
  • networkx使用draw画图报错:TypeError: ‘_AxesStack‘ object is not callable
  • tcpdump 常用命令
  • Linux 下安装 Maven 3.8.8【详细步骤】
  • 报错资源不足,k8s使用containerd运行容器修改挂载点根目录换成/home
  • JS代码其实可以这样写
  • day14-文件系统工作流程分析
  • kubectl 常用命令搜集 —— 筑梦之路
  • 计算3D目标框的NMS
  • 【Java实现图书管理系统】
  • ROS 多机器人导航RVIZ环境的配置
  • UE4 / UE5 内存与性能优化
  • dotnet core程序部署到ubuntu
  • Antv/G2 柱状图添加自定义点击事件
  • Python---数据序列中的公共方法
  • 从0开始python学习-33.夹具@pytest.fixture(scope=““,params=““,autouse=““,ids=““,name=““)
  • vue3别名配置(vite)
  • 初学UE5 C++①
  • ElasticSearch6.8.1 常见错误