千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  行业资讯  >  郑州Java培训课程之JVM相关知识汇总

郑州Java培训课程之JVM相关知识汇总

来源:千锋教育
发布人:Yolanda
时间: 2019-07-11 10:29:00

  很多同学在学到Java虚拟机(JVM)时表示学习难度太大,不知道如何下手。事实上,你之所以觉得难学是因为你没有找对方法,今天千锋小编分享的郑州Java培训课程就给大家讲解一下JVM相关的知识点。

  虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统,是物理机的软件实现。常用的虚拟机有VMWare、Visual Box、Java Virtual Machine(Java虚拟机,简称JVM)。

图片4

  JVM由三个主要的子系统构成:1)类加载器子系统;2)运行时数据区(内存);3)执行引擎。按照数据区域分类,JVM可划分为方法区(Method Area)、虚拟机栈(VM Stack)、本地方法栈(Native Method Stack)、堆(Heap)、程序计数器(Program Counter Register)以及直接内存(Direct Memory)。

  方法区:属于线程共享的内存区域,用于存储虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码(动态加载OSGI)等数据。理论上属于Java虚拟机的一部分,为了区分开来叫做 Non-Heap非堆。

  虚拟机栈:是线程私有的,声明周期与线程相同。虚拟机栈是Java方法执行的内存模型,每个方法被执行时都会创建一个栈帧,即方法运行期间的基础数据结构。栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等,每个方法执行中都对应虚拟机栈帧从入栈到处栈的过程。

  本地方法栈:与虚拟机栈类似,虚拟机栈为Java程序服务,本地方法栈支持虚拟机的运行服务,具体实现由虚拟机厂商决定,也会抛出 stackOverFlowError、OutOfMemory异常。

  堆:是虚拟机管理内存中最大的一部分,被所有线程共享,用于存放对象实例(对象、数组),物理上不连续的内存空间,由于GC收集器,分代收集,所以划分为:新生代 Eden、From SurVivor空间、To SurVivor空间,allot buffer(分配空间),可能会划分出多个线程私有的缓冲区、老年代。

  程序计数器:行号指示器,字节码指令的分支、循环、跳转、异常处理、线程恢复(CPU切换),每条线程都需要一个独立的计数器,线程私有内存互不影响,该区域不会发生内存溢出异常。

  直接内存:不属于虚拟内存区域,是一种基于通道与缓冲区的IO方式,可以使用本地函数直接分配堆外内存,在堆中存储引用的外部内存地址。通过引用完成对直接引用内存的操作,1.4之后提供的NIO显著提高效率,避免了堆内存与Native内存的来回复制操作,不受虚拟机内存控制,会抛出OUtOfMemory异常。

图片5

  垃圾收集(GC:Garbage Collection)

  如何判断一个对象该被回收?1)引用计数器。缺点是无法解决对象之间相互引用的问题;2)GCRoot搜索。从GCRoots开始向下搜索,搜索过的路径称为引用链,当一个对象跟 GCRoots没有任何引用链时,也就是说该对象不可达,九二一被回收了。

  可以作为GCRoots的对象包括:虚拟机栈(本地变量表中)的对象、方法区中类静态属性引用的对象、方法区中常量引用的对象、本地方法栈中引用的对象。

  如果你想了解更多郑州Java培训课程所包含的知识点,可以来千锋郑州Java培训班。千锋坚持以就业为导向制定课程大纲,大牛讲师通过四大课程阶段带领学员把Java语言学到不可思议的高度,并在毕业前夕为学员安排模拟面试环节,让学员在真正的面试过程中可以充分的发挥自身的优势,成为一名上岗即用的Java开发工程师。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

大数据培训要花多少钱

2023-04-12

计算机前端怎么学

2023-04-12

大数据都需要学什么?难不难

2023-03-30

最新文章NEW

javaee是前端还是后端,都学什么

2023-03-24

it前端是做什么的

2023-03-24

大数据培训要多久?你了解多少

2023-03-09

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>