小仙女讲JVM(1)—综述
大家好,自从上次讲了软考课程之后,本仙女受到了社会各界的一致好评。本仙女怀着用毕生所学回报社会的热忱,打算花大手笔进行JVM的讲解。
首先,对以上的四部分进行解释。
(1)自动内存管理讲的是java运行时数据区里的部分,分为内存划分和垃圾收集器。
(2)执行子系统讲的是画红圈的三部分:类文件结构、类加载机制、字节码执行引擎。
(3)优化分别为编译期优化和运行期优化。
(4)并发讲的是虚拟机是如何实现多线程的。
具体可结合下面的JVM结构图来看。这张图是基于JDK7的。JDK7以前,常量池是存放在方法区的。从JDK7以后,常量池放到了堆中。
其次,我们来看一下本系列博客的目录。
小仙女讲JVM(1)—综述
小仙女讲JVM(2)—内存的划分
小仙女讲JVM(3)—垃圾收集机制
小仙女讲JVM(4)—类文件结构
小仙女讲JVM(5)—类加载机制
小仙女讲JVM(6)—执行引擎
小仙女讲JVM(7)—JVM优化
小仙女讲JVM(8)—高效并发
再次,我们温习一下JVM的概念。
我们来看看JVM是什么,为什么有JVM。
JVM是java虚拟机(Java Virtual Machine),其实现了“一次编译,处处运行”的功能。如果没有JVM,我们编写java代码时,如果想在Windows平台上运行,那就需要编写一套适用于Windows平台的。如果想在linux平台上运行,则编写一套linux的。
如果类比到现实,.java就是面粉,.class就是和好的面团,jvm就是一个个的模子,把同样的面团刻画出不同样子的小馒头。
最后,来个文末备注。
- 本仙女乃一介女子,所讲皆是自己的理解,有啥不妥之处还请看客指出来,咱们一起成长。
- 感谢这本书的作者的极力相助。【好吧,这句话的意思是我主要是参考的这本书】
小仙女讲JVM(1)—综述相关推荐
- 小仙女讲InnoDB(6)——综述
时光匆匆呀,一晃,竟然到了8月中旬ღ( ´・ᴗ・` ).<小仙女讲InnoDB>也更新完了,欢迎大家的参观~ MySQL的概念 数据库是物理操作系统文件或其它形式文件类型的集合,mysql ...
- 经典面试题 | 讲一讲JVM的组成
来源:王磊的博客 JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一个问题就是:讲一讲 JVM 的组成?那本文就注重讲一下 JVM 的组成. 首先来说 JVM 的组成分 ...
- 经典面试题|讲一讲JVM的组成
JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一个问题就是:讲一讲 JVM 的组成?那本文就注重讲一下 JVM 的组成. 首先来说 JVM 的组成分为,整体组成部分和 ...
- java direct memory_第一讲 JVM内存四大类型:Heap,Stack,Contant,DirectMemory等
第一讲JVM内存四大类型:Heap,Stack,Contant,DirectMemory等 Stack属于栈的区域,属于每条线程私有的. 方法区和本地方法栈有很大的不同,方法区是用Java级别角度做的 ...
- java面试题jvm_经典面试题|讲一讲JVM的组成
经典面试题|讲一讲JVM的组成 发布时间:2019-04-10 09:01, 浏览次数:1456 , 标签: JVM JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一 ...
- 欧尼酱讲JVM(01)——整体概览(导航)
从业这么久了,输入了很多东西,趁我还算不老,趁我还有精力,我觉得把我的知识和经验整理一番,输出出来. 那么首先就从JVM开始吧.我将从以下几个方面讲解JVM: 欧尼酱讲JVM(02)--类的加载过程 ...
- 欧尼酱讲JVM(22)——分代收集算法
目录 分代收集算法 HotSpot中的分代收集 年轻代 老年代 没有一种最好的算法吗?没有,没有最好只有最适合.具体问题具体分析! 上一篇文章<欧尼酱讲JVM(21)--垃圾回收相关算法> ...
- java的标量和聚合量_欧尼酱讲JVM(16)——如何基于逃逸分析进行代码优化
代码优化是一个涉及面很广的"工程",但是今天呢,本姑娘主要给大家分享基于逃逸分析,如何给代码做优化.那么逃逸分析是什么呢?我前面的文章也仔细的讲解过了,这里就不过多的赘述了.有不明 ...
- 欧尼酱讲JVM(17)——方法区详解有图有真相
目录 位置图解 方法区的理解 方法区在哪里 方法区的基本理解 HotSpot中方法区的理解(演进过程) 方法区的内部结构 图解方法区内部结构 运行时常量池 class文件中常量池的理解 为什么需要常量 ...
最新文章
- 动态规划4--最佳加法表达式
- eclipse运行时不自动保存的解决方法
- 润乾报表与DERBY数据库的创建连接详解
- 1028 人口普查 (20 分)(c语言)
- HDU - 4280 Island Transport(最大流)
- MyBatis的association示例
- VMware虚拟机克隆CentOS后网卡修改方法
- 让我们的标签语义化成为一种习惯好处多多
- 前端学习(2034)vue之电商管理系统电商系统之绘制图表
- kali linux查看网卡_CentOS7.6安装无线网卡驱动|Linux如何安装网卡驱动|Linux如何让配置网卡...
- python气象_Python 在气象上的应用
- linux 下测速时间分析
- Spring boot常见标签、注解解释
- CSDN《程序员》杂志创始人蒋涛-推荐《程序员职场第一课》
- AX2012:导出指定的数据到Excel
- magicbook java开发,买前必看,荣耀MagicBook和华为MateBook D(2018版)哪个更适合你?
- SSH2.0编程 ssh协议过程实现(转)
- 鼠标经过文字显示隐藏图片css样式
- 编解码(1)之基本像素格式转换
- 海驾学车过程全揭秘——第六篇:辛苦的学车全过程
热门文章
- Vue-5 路由参数的传递和获取(query 和 params),导航守卫和路由元信息,History模式
- 无线上外网,有线上内网的方式
- C#事件中sender的小用法
- 《OpenSSL3.0学习之七 OpenSSL FIPS 提供程序|CSDN创作打卡》
- 用css伪元素制作箭头图标
- 怎样识别app网站服务器在国外,APP服务器你了解多少?什么是海外app服务器
- python多个if_Python之条件判断/if嵌套/如何写嵌套代码
- 检测报告上CNAS、CMA资质含义及联系
- 微搭低代码小程序模板体验
- 利用ajax实现excel报表导出(解决乱码问题)