利用闲余时间,看视频,搜资料,参考+总结绘制出了下面的数据流图,流图内容包括:


(1)如何针对亿级流量的电商网站做JVM性能调优?

(2)什么是MinorGC,什么是FullGC,什么又是STW?

(3)新生代包括哪些空间,且如何写程序,借助jvisualvm工具查看程序的gc情况?

(4)什么样的对象会进入老年代?

(5)对象在内存中的结构是什么,Mark Word存储了哪些信息?

(6)如何描述JVM运行时数据区各部分空间与Java线程之间的关系和联系?

(7)Java程序是如何通过JVM虚拟机,一步步执行,最终得到用户想要的结果的?

(8)商用虚拟机除了Oracle的HotSpot外,还有哪些?

(9)程序计数器是否是线程私有的,它是用来干什么的,以及什么是JVM虚拟机栈的栈帧?

(10)什么是JMM?它的作用是什么?以及JMM模型如何描述主内存、工作内存和线程之间的关系?

(11)什么是CPU缓存? 缓存分哪几级,缓存的读写性能与缓存的大小是什么关系?

(12)什么是缓存行?如何解决缓存行对齐或伪共享问题?

(13)CPU是如何执行线程指令对数据进行读写的?

(14)Java如何保证多线程数据的可见性? volatile关键是否保证i++操作的原子性?

(15) .... .... .... .... .......

分享链接:https://processon.com/view/5eee24c51e085326373836da


图中内容有待整理和完善,一些说的不清楚或画的不对的地方,后续会进行确认和修订,总之内容会不断扩充!

流程图内容只是Java技术架构体系中的冰山一角,要想翻越大山,不经历重重自我摧残和折磨,是看不到任何登顶的希望的!


话不多说,上几张图:





JVM虚拟机,也就那么回事!(总结+绘图+流程+代码)相关推荐

  1. JVM虚拟机知识问答总结(简单复习,快速回忆!)

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  2. java visualvm远程监控_深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战

    本文转自互联网,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutori ...

  3. 深入理解JVM虚拟机(二):垃圾回收机制

    谈起GC,应该是让Java程序员最激动的一项技术,我相信每个Java程序员都有探究GC本质的冲动!JVM垃圾回收机制对于了解对象的创建和对象的回收极为重要,是每个Java程序员必须掌握的技能. 本博客 ...

  4. msm(CentOS 6)及jvm虚拟机性能监控(04)_recv

    为什么80%的码农都做不了架构师?>>>    JVM JVM内存管理--运行时数据区 JVM大体由五个部分组成,分别为JVM Stack.Native Stack.Program ...

  5. JVM——虚拟机的简介【摘录】

    一.虚拟机是什么? 什么是Java虚拟机?[摘录] 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的.但是如果要问什么是虚拟机,恐怕很多人就会 ...

  6. jvm虚拟机_一文入门jvm虚拟机

    点击上方「10分钟编程」关注我呦 让我们每天「博学」一点点 一文带你理解JVM 1.jdk.jre.jvm的区别与联系 jdk的全称是Java Development kit(java开发工具包),我 ...

  7. jvm虚拟机_JVM虚拟机五连问,能过并不是只靠运气

    对于Java程序员来说,在众多Java知识点当中JVM是很重要的一块,每个Java程序都离不开Java虚拟机,Java程序的运行依靠具体的Java虚拟机实例. 在Java虚拟机规范中,分别用子系统.内 ...

  8. BATJ面试必会|Jvm 虚拟机篇

    转载自  BATJ面试必会|Jvm 虚拟机篇 目录 一.运行时数据区域 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 运行时常量池 直接内存 二.垃圾收集 判断一个对象是否可被回收 引用类型 ...

  9. 深入JVM虚拟机(四) Java GC收集器

    转载自  深入JVM虚拟机(四) Java GC收集器 1 GC收集器 1.1 Serial串行收集器 串行收集器主要有两个特点:第一,它仅仅使用单线程进行垃圾回收:第二,它独占式的垃圾回收. 在串行 ...

最新文章

  1. Windows 8 Metro App学习笔记(九)—磁砖
  2. android 判断手机计步_干货:电脑控制手机 一定不能错过的神器
  3. 打开Delphi 10.1 berlin提示脚本错误的解决方法
  4. php+mysql留言板小案例
  5. JavaScript的一些常用方法
  6. 【linux 开发】定时器使用setitimer
  7. 模型的搜索和优化方法综述:
  8. Hadoop环境的配置搭建和基本概念
  9. Hive:添加、删除分区
  10. 飘刃 v0.0.10 首次发布,超快执行速度的 Vue 项目构建工具
  11. 基于微信小程序的奶茶外卖商城系统设计与实现毕业设计毕设开题报告
  12. C++ | (struct)结构体变量作为函数参数调用的方法小结
  13. 计算机视觉 – Computer Vision | CV
  14. 外包的水有多深?华为15k+的外包测试岗能去吗?
  15. php opc数据,OPC连接获取数据
  16. 怎样实现iMessage群发
  17. 程序实现汉字转换为拼音
  18. 车载网络测试 - 车载以太网 - 传统配置方法(Channel Base)
  19. android最佳开发实现_在android开发中使用可访问性最佳做法
  20. 清华快速充电_什么是快速充电?

热门文章

  1. apollo scenario
  2. Web3的应用及发展
  3. Unity3D中的布娃娃(ragdoll)系统
  4. Android实现类似360,QQ管家那样的悬浮窗
  5. 10.21黄金原油价格走势如何?黄金行情分析预测及操作建议
  6. 协同多种SAR数据及多光谱数据的星载激光雷达GEDI森林生物量估测
  7. 2BizBox V3.2新版大剧透之十:中国财务
  8. cd-hit linux,使用cd-hit对蛋白质或核酸序列进行聚类
  9. 平衡车之速度环分析及调试
  10. [附源码]SSM计算机毕业设计校园二手交易平台的设计JAVA