JVM运行基本原理(一) 一般程序处理

一般程序执行

Java程序运行不同于一般程序,一般程序需要经过编译器翻译成0和1的二进制格式才能由计算机执行。具体执行过程如下:

在这里插入图片描述

例如执行一个HelloWorld.c源代码需要经过:

  • 编译为二进制可执行文件,以HelloWorld程序/可执行文件存放在磁盘/文件系统中

    gcc HelloWorld.c -o HelloWorld
  • 系统创建进程,根据采用的内存管理,HelloWorld程序应该调入内存并以进程实例运行(等待调入仍在磁盘中的进程进入输入队列)

    ./HelloWorld

    内存中的进程结构如下,
    在这里插入图片描述

多线程一般程序执行

每个线程是CPU使用的一个基本单元,包括线程ID,程序计数器,寄存器和stack。而与同一进程的其他线程共享代码段,数据段和其他操作系统资源。

多线程对于最初的单核系统而言,线程随着时间的推移交错进行(并发执行)。但是对于多核系统,并发表示线程能够并行运行,因为系统可以为每一个核分配一个单独线程。

在这里插入图片描述

JVM内存模型和内存结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值