For investors

股价:

5.36 美元 %

认识达内从这里开始

认真做教育 专心促就业

太原达内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虚拟机主要分为哪些区  >
相关推荐
最新资讯
免费试听课程
  • 全部课程
  • IT课程
  • 设计课程
  • 运营课程
Free courses
最新开班时间
  • 北京
  • 上海
  • 广州
  • 深圳
  • 南京
  • 成都
  • 武汉
  • 西安
  • 青岛
  • 天津
  • 杭州
  • 重庆
  • 厦门
  • 哈尔滨
  • 济南
  • 福州
  • 沈阳
  • 合肥
  • 郑州
  • 长春
  • 苏州
  • 大连
  • 长沙
  • 昆明
  • 温州
  • 太原
  • 南昌
  • 无锡
  • 石家庄
  • 南宁
  • 中山
  • 兰州
  • 佛山
  • 珠海
  • 宁波
  • 贵阳
  • 保定
  • 呼和浩特
  • 东莞
  • 洛阳
  • 潍坊
  • 烟台
  • 运城
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
预约申请试听课
收起