很多人应该都和我有一样的想法,每天CRUD就完了,学习JVM 堆、栈、方法区、程序计数器、执行引擎、标记清除算法、复制算法、标记整理算法、分代回收算法等等等等,这些东西在实际开发中又有什么用呢?

学之前,百思不得其解,但因为面试需要,又不得不学,随着课程的深入,我渐渐有些明白了,先总结如下:

1、学习JVM能更深入的理解Java这门语言,能理解Java语言底层的执行过程,很多时候要解决一个问题必须深入到字节码层次去分析,才能得到准确的结论,而字节码就是JVM的一部分。

2、学习JVM,为了项目上线后去排查一些程序log日志中无法呈现的问题,比如内存溢出、GC太过频繁导致的高延迟问题,这时候就需要去看GC日志了,如果你连GC日志是什么都不知道的话,又怎么去排查呢?看GC日志,就得知道什么是年轻代、老年代、伊甸园区、survivor区、元数据区等等内存模型的概念及其特点。懂了这些还得知道GC的时候为什么会导致高延迟呢,这时候让我想到了各种回收算法的优劣势,高延迟时,是不是调整一些参数就可以了呢?

3、能够利用一些工具,jmap, jvisualvm, jstat, jconsole等工具可以辅助你观察Java应用在运行时堆的布局情况,由此你可以通过调整JVM相关参数提高Java应用的性能。

4、比如用JMeter测试程序高并发时的性能问题,需要了解 请求响应时间,吞吐量,CPU占用率,内存使用率,这些东西是不是也和JVM有关呢,比如是不是少声明一些全局变量,少声明一些存在时间长的大变量(比如全局缓存的hashmap),内存占用率就能低很多了呢?

以上的种种都与JVM息息相关,现在用不上,不代表以后用不上,不代表面试官不会问,虽然你没用过,但是面试官的问题你都能答的面面俱到,岂不美哉。

一句话,学,就完了。

伟大的牛逼之前总是傻逼式的坚持。

往期精彩内容:

Java知识体系总结(2021版)

Java多线程基础知识总结(绝对经典)

【全栈最全Java框架总结】SSH、SSM、Springboot

超详细的springBoot学习笔记

常见数据结构与算法整理总结

Java设计模式:23种设计模式全面解析(超级详细)

Java面试题总结(附答案)

学习JVM有什么实际意义呢?相关推荐

  1. gateway 内存溢出问题_带你学习jvm java虚拟机 arthas/性能调优/故障排除/gc回收/内存溢出等...

    学完本课程,您将掌握: 内存溢出问题实战 CPU飙升问题实战 阿里巴巴Arthas在线诊断 Class字节详细拆解 手写类加载器.四种类加载器.双亲委托模型 对象创建.存储.访问.加载解析 性能调优. ...

  2. java虚拟机学习-JVM调优总结-新一代的垃圾回收算法(11)

    java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深 ...

  3. Redis运维和开发学习笔记(4) Redis参数意义

    Redis运维和开发学习笔记(4) Redis参数意义 文章目录 Redis运维和开发学习笔记(4) Redis参数意义 参数意义 参数意义 Client连接 问题 id=567800790 addr ...

  4. 看狂神视频学习JVM笔记

    我们的口号是:十年生死两茫茫,写代码,到天亮!!! 狂神说java视频:[狂神说Java]JVM快速入门篇_哔哩哔哩_bilibili 狂神笔记交流:首页-KuangStudy 面试常见: 请你谈谈你 ...

  5. java面试jvm调优的意义

    压力测试的理解,xxx的性能10w/s,对你有意义么? 没有那家卖瓜的会说自己家的不甜,同样,没有哪个开源项目愿意告诉你在对它条件最苛刻的时候压力情况是多少,一般官网号称给你看的性能指标都是在最理想环 ...

  6. java 面试 jvm 调优的意义 _java 培训

    1. 压力测试的理解,xxx 的性能 10w/s,对你有意义么? 没有那家卖瓜的会说自己家的不甜,同样,没有哪个开源项目愿意告诉你在对它条件最苛刻的时候压力情况是多少,一般官网号称给你看的性能指标都是 ...

  7. 学习jvm(一)--java内存区域

    前言 通过学习深入理解java虚拟机的教程,以及自己在网上的查询的资料,做一个对jvm学习过程中的小总结. 本文章内容首先讲解java的内存分布区域,之后讲内存的分配原则以及内存的监控工具.再下来会着 ...

  8. 从表到里学习JVM实现

    在社会化分工.软件行业细分专业化的趋势下,会真的参与到底层系统实现的人肯定是越来越少(比例上说).真的会参与到JVM实现的人肯定是少数.  但如果您对JVM是如何实现的有兴趣.充满好奇,却苦于没有足够 ...

  9. jvm对于java的意义_谈谈对JVM的理解

    JVM可谓是学习JAVA基础中的基础了,但仍有不少同学对JVM概念还是比较模糊,甚至没有听说过,对java的理解也只是在基础语法 层面,本文就将对JVM进行初步介绍,因篇幅所限,只能介绍JVM基础,如 ...

最新文章

  1. epoll 入门例子 tcp server/client
  2. 微信公众号接入图灵机器人实现自动回复消息
  3. 计算机网络|传输控制协议TCP概述
  4. 一个虚拟服务器装多个网站,一台虚拟主机 如何放多个网站
  5. 直方图均衡 视觉显著_计算机视觉一些项目实战技术(续)
  6. .Net中的并行编程-6.常用优化策略
  7. 所有B2B从业者都会遇到的9个问题(詹仕波)
  8. CSS 实现鼠标移动到图片上图片变大
  9. diagram怎么记忆_怎样记英语单词本子单词记忆法原则让每个学生真正的
  10. 注册gmail邮箱手机号无法验证
  11. 医药产品经理ims数据分析
  12. 星星之火-9:详解信道特性与奈奎斯特定理和香农定理
  13. 前端工程化配置-husky + eslint + lint-staged
  14. 火焰纹章16进制是怎么算_火焰是值得你的时间
  15. 关于演化策略NES和协方差ES
  16. 【扫盲贴】浅谈38K红外发射接受编码(非常好)
  17. 易基因技术推介|简化基因组甲基化测序研究解决方案
  18. Android:访问存储失败.FileNotFoundException open failed: XXXXXXX EPERM (Operation not permitted)
  19. Emoj cheat sheet
  20. (开源)arduino和ESP8266-01制作数据监测系统+手机App实时显示

热门文章

  1. java接口设计规范_关于团队API接口规范设计
  2. mysql 除数为0显示100,保留两位小数,显示百分号的相关操作
  3. centons7安装docker私有库harbor
  4. 【科技与狠货】云盘变硬盘
  5. jsencrypt.js加密java后端解密
  6. 2019胡润全球富豪榜:北京成为世界10亿美元富豪之都
  7. 使用命令查看数据库SQLite以及数据库SQLite无法获取root权限
  8. PMI-ACP敏捷认证练习题(六)英文版
  9. python dataframe索引筛选_python-Pandas DataFrame:查找两列相等/相同的特定长度序列的索引值...
  10. argue的一个用法