美文网首页
01.JMM与JVM

01.JMM与JVM

作者: 零星恋雪 | 来源:发表于2020-04-16 15:23 被阅读0次

一、程序、进程、线程

任何一门编程语言都需要的知识,区分出程序、进程、线程对整个代码执行流程的理解有一定提升,面试中也经常问到

1. 程序

计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。--摘自百度百科
程序通俗来讲就是我们给计算机下发的任务,由许多计算机指令组成,属于一个静态概念。

2. 进程

进程是程序的运行单元,程序在运行时必定会有一个或多个进程,同事进程是资源分配的最小单位
进程之间的资源是独立的;同一进程内的线程共享本进程的资源。

3. 线程

线程是程序执行的最小单位,进程中必定会有一个或多个线程,线程与进程一样也有自己独立资源空间

内核线程

指cpu的线程,通常情况下,一个cpu内核一个内核线程
某些特定的cpu具备超线程

3.1 超线程

在一个cpu里面封装两个逻辑运算单元,模拟可以同时处理两个线程,但并不是真正意义上的同时处理两个线程,所以性能提升只有30%左右

3.2 java线程

java 本身有线程对象Thread,java多线程也是java编程语言优势之一

二、java 内存模型

java内存模型有线程,工作空间,内存(主存)

1. 线程

运行java程序需要有由java线程来执行,java线程具备独立的工作空间,即线程栈

2. 工作空间

内存模型中的工作空间为线程独有,每次线程读取数据先去工作空间中的数据,没有再去主存中取,取到主存数据先工作空间运算,完成之后再更新回内存

3. 内存

属于程序的独立内存空间

三、java 虚拟机内存模型

java 虚拟机模型中包含 方法区、java堆、vmStack 、PC、native method stack
其中方法区在JDK1.8中被移除到内存中去了,减少了一种内存溢出的情况

1. 方法区

主要存放 class、 method、 static修饰的成员变量、 常量、JIT即时编译,线程共享

2. java堆

主要是存放对象值 ,线程共享

3. VM stack

存放局部变量,对象引用地址 ,线程独有

4. PC

存放线程的下一条指令 线程独有

5. native method stack

本地方法栈,调用一些native方法时会用到,线程独有

四、CPU工作模型

1. 寄存器

指令寄存器,存放指令等 寄存器除指令寄存器还有很多种

2. 逻辑运算单元

主要运算逻辑,依靠逻辑运算单元来实现,超线程就是封装连个逻辑运算单元,可以模拟cpu处理两个线程

3. L1 L2 L3三级缓存

一级缓存在cpu内部封装,一般不会特别大,同时读取数据时以缓存行读取
二级缓存与三级缓存都是在cpu外部,速度差异不大
cpu读取数据时先从一级缓存中读取,没有就读二级缓存,再是三级缓存,最后是内存

相关文章

  • 01.JMM与JVM

    一、程序、进程、线程 任何一门编程语言都需要的知识,区分出程序、进程、线程对整个代码执行流程的理解有一定提升,面试...

  • JVM

    JVM之内存模型JVM之对象定位与访问JVM之Java垃圾回收机制JVM之类加载

  • JVM介绍系列文章

    知晓JVM系列(一):对JVM总览知晓JVM系列(二):JVM内存管理机制与优化初探知晓JVM系列(三) :常用的...

  • 02. 基于JDK命令行工具的监控

    JVM与调优 imooc JVM Markdown JVM参数类型 标准参数 -help-server -cli...

  • JVM内存管理(一)

    JVM与操作系统的关系 1.JVM 基础 1.1 Java Virtual Machine是什么 ​ JVM ...

  • JVM与Dalvik

    一、JVM与Dalvik 二、JVM JVM 全称 Java Virtual Machine,也就是我们耳熟能详的...

  • JVM

    简介 Jvm 系列一:Java类的加载机制Jvm系列二:JVM内存结构 --内存泄漏与内存溢出Jvm系列三:GC算...

  • JVM+JDK+JRE笔记

    一、java程序的生命周期 二、JVM JVM是实现java语音与平台无关性的关键 JVM负责与操作系统的交互,用...

  • JVM内存管理

    1.JVM与操作系统的关系   JVM全称Java Virtual Machine(Java虚拟机)。JVM屏蔽了...

  • 高效并发

    从JVM的角度看一下Java与线程,内存模型,线程安全以及JVM对于锁的优化 硬件内存模型与JVM内存模型 硬件的...

网友评论

      本文标题:01.JMM与JVM

      本文链接:https://www.haomeiwen.com/subject/hndqvhtx.html