太原达内IT培训
美国上市IT培训机构

4001118989

太原达内IT培训Java虚拟机入门需要掌握哪些知识点


Java编程开发语言是目前大多数程序员都在学习的一种编程开发语言,而本文我们就通过案例分析来简单了解一下,Java虚拟机入门需要掌握哪些知识点。

太原达内IT培训Java虚拟机入门需要掌握哪些知识点

JVM是运行在操作系统之上的,它与硬件没有直接的交互。先说一下JVM的内存区域,当函数开始运行时,JVM拿到自己的内存将自己的内存区域进行了分割,分为五块区域:线程共享的有堆、方法区,线程私有的有java栈、本地方法栈、程序计数器。

方法区是用来加载class文件的区域,静态变量、常量、类元信息、运行时的常量池存放在在方法区中,方法区在jdk1.7之前它又叫做永久代,但是jdk1.8之后改成元数据空间了;

new的对象都存放在堆中;

栈也叫栈内存,8种类型的基本变量、对象的引用变量、实例方法都是在函数的栈内存中分配,栈中的数据都是以栈帧的格式存在,每执行一个方法都会产生一个栈帧,保存到栈(后进先出)的顶部,顶部栈就是当前的方法,该方法执行完毕后会自动将此栈帧出栈。java栈随着线程创建而产生,随着线程的终结而销毁,每个线程在开辟、运行的过程中会单独创建这样的一份内存,有多少个线程就可能有多少个栈区;

本地方法栈是存储C++的native方法运行时候的栈区;程序计数器是指向当前程序运行的位置。

内存模型、类加载机制、GC是重点,性能调优部分更偏向应用,重点突出实践能力,编译器优化和执行模式部分偏向于理论基础,重点掌握知识点。

1、JMM如何保证原子性、一致性、可见性

在java中提供了两个高级的字节码指令monitorenter和monitorexit,使用对应的关键字Synchronized来保证代码块内的操作是原子的。

2、环境变量理解

classpath是javac编译器的一个环境变量。它的作用与import、package关键字有关。

package的所在位置,就是设置CLASSPATH当编译器面对importpackag这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java/util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!

分区和内存模型

内存模型叫做内存结构。所谓模型是行为+数据也就是JVM的内存结构布局,加上内存的执行行为,栈中数据如何分配,堆中数据如何分配,堆栈数据运行时如何同步,加锁状态数据如何同步,也就是happenbefore那一套。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。

预约申请免费试听课程

         

上一篇:太原达内计算机培训http网络安全加密算法应用分析
下一篇:太原达内Java培训机构Java虚拟机主要分为哪些区

太原达内Java培训机构Java虚拟机主要分为哪些区

太原达内IT培训Java虚拟机入门需要掌握哪些知识点

太原达内计算机培训http网络安全加密算法应用分析

太原达内电脑培训DNS技术对计算机网络的重要性分析

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
江西省

贵州省

广西省

海南省