java内存模型与生命周期,JVM简析

1.操作系统

操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序

  • 进程:
    • 进程是程序的一次执行过程
    • 进程是一个程序及数据在处理机上顺序执行时所发生的活动
    • 进程是一个独立的运行单位,也是操作系统进行资源分配和调度的基本单位
    • 进程可以拥有自己的资源,是资源分配的基本单位
  • 线程:
    • 对线程最直接的理解就是“轻量级进程”,或者是对进程的一个切分
    • 传统的进程时是程序执行流的最小单位,引入线程之后,线程就变成了执行流的最小单位
    • 线程不能有自己的资源,而是与进程下的其他线程共享进程的资源
    • 线程可以对进程的数据进行修改,同时也可以撤销同属于一个进程的其他线程

2.硬件系统

硬件系统是指构成计算机的物理设备

3. JVM的基本概念

百度百科:虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。这就意味着java虚拟机的实现,有一部分是模拟操作系统来实现的

Java虚拟机(JVM)是一个虚构出来的计算机

重要的特点就是与平台的无关性,一次编译,可以在不同的不同系统上的虚拟机上运行,Java语言在不同平台上运行时不需要重新编译。

4. JVM的内存结构

栈:用来存储方法,栈中存放方法中的局部变量,方法的运行一定要在栈中,要先把方法给压入栈。等到超出作用域之后就消失(用完就丢)

堆:里面存储对象,为所有创建的对象和数组分配内存空间

5. Java内存模型

概念:内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节,对象最终是存储在内存里面的

  • Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式在JVM内部,Java内存模型把内存分成了两部分:线程栈区和堆区

        java内存模型与cpu缓存模型类似,是基于CPU缓存模型来建立的

        线程之间的通信在这里便是以这个java堆(也就是逻辑上的主内存)为媒介的,多个线程之间可以共享Java堆

6. JMM的原理(浅略了解)

???????        Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式,JMM的实际作用是在JVM工作过程中对内存的一系列操作,包括共享对象可能出现的问题是怎么解决的,这些都需要依赖JMM来实现

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91480 人正在系统学习中

来源:皇上吉样

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月16日
下一篇 2021年6月16日

相关推荐