首页 > 编程语言 >Java程序的main主线程的运行过程

Java程序的main主线程的运行过程

时间:2023-10-14 13:03:05浏览次数:32  
标签:Java 主线 Sample 线程 main CPU 程序代码

在Java虚拟机进程中,执行程序代码的任务是由线程来完成的。

每当用java命令启动一个Java虚拟机进程,Java虚拟机就会创建并启动一个main主线程,该线程从程序入口main()方法开始执行。

Java程序的main主线程的运行过程_Java

main主线程执行main()方法

下面以例程1的Sample为例,介绍线程的运行过程。

例程1 Sample.java

public class Sample{
  private int a;     //实例变量

  public static void main(String args[]){
    Sample s=new Sample();
    System.out.println(s.a);
  }
}

运行以上Sample类,main主线程执行的程序代码为:

Sample s=new Sample();
System.out.println(s.a);

从以上程序代码可以看出,main主线程操纵的数据为内存中的Sample对象以及它的实例变量a。另外,计算机中机器指令的真正执行者是CPU,线程必须获得CPU的使用权,才能执行一条指令。因此,线程的运行涉及三个要素:占用计算机CPU、执行程序代码、访问内存中的数据。

Java程序的main主线程的运行过程_Java_02

线程运行的三个要素

线程的运行过程为:占用CPU,执行特定的程序代码,该程序代码会访问内存中的特定数据。

上文参考孙卫琴的经典Java书籍《Java面向对象编程》

Java程序的main主线程的运行过程_程序代码_03

标签:Java,主线,Sample,线程,main,CPU,程序代码
From: https://blog.51cto.com/sunweiqin/7860051

相关文章

  • Java零基础入门-基本类型转换、包装类、自动装箱、自动拆箱
    前言在Java编程中,经常需要进行基本类型之间的转换以及包装类与基本类型之间的转换。本文将介绍Java中基本类型转换、包装类、自动装箱与自动拆箱的概念和用法。摘要本文将介绍Java中的基本类型转换、包装类、自动装箱与自动拆箱的概念和应用。首先,我们将讨论基本类型转换的概念......
  • java实现朴素rpc
    五层协议中,RPC在第几层?五层协议应用层传输层网络层链路层物理层我不知道,我要去大气层!远程过程调用(RPC),比较朴素的说法就是,从某台机器调用另一台机器的一段代码,并获取返回结果。这之前的一个基层问题就是进程间通信方式(IPC),从是否设计网络通信分为:......
  • 【华为OD统一考试B卷 | 100分】 报数问题 (1到3报数)(C++ Java Python javaScript)
    华为OD在线刷题平台平台涵盖了华为OD机试A卷+B卷的真题。平台的题库不断更新,确保能够涵盖华为OD机试的所有真题。点击链接注册并开始你的刷题之旅:点击立即刷题华为OD统一考试A卷+B卷新题库说明2023年5月份,华为官方已经将的2022/0223Q(1/2/3/4)统一修改为OD统一考试(A卷)和OD统......
  • On Java 8
    OnJava8OO在“问题空间”(问题实际存在的地方)的元素与“方案空间”(对实际问题进行建模的地方,如计算机)的元素之间建立理想的“一对一”的映射关系。Java不需要sizeof()方法获取数据项被分配的字节大小,因为所有类型的大小在不同平台上是相同的。——Java本身就是一种“与......
  • 建造者模式--Java实现
    画类图具体代码实现//Computer.javapackageorg.example.design003;publicclassComputer{publicComputer(StringCPU,StringRAM,Stringhard,Stringhost){this.CPU=CPU;this.RAM=RAM;Hard=hard;Host=host;......
  • 抽象工厂模式--Java实现
    画类图用人的肤色和性别进行抽象工厂方法模式的实现,肤色和性别组成产品等级结构和产品族;具体代码实现项目结构://AbstractFactory.javapackageorg.example.design002;publicinterfaceAbstractFactory{publicMancreateMan();publicWomancreateWoman();}......
  • 深入了解基数排序:原理、性能分析与 Java 实现
    基数排序(RadixSort)是一种非比较性排序算法,它根据元素的每个位上的值来进行排序。基数排序适用于整数或字符串等数据类型的排序。本文将详细介绍基数排序的原理、性能分析及java实现。基数排序原理基数排序的基本原理是按照低位先排序,然后收集;再按照高位排序,再收集;以此类推,直到最高......
  • elasticsearch通过Java class类的@Setting和@Mapping来定义索引index
    今天就来和大家讲讲如何将es索引中的mapping和setting在索引index和class联系起来,其实在这个问题也困扰我好久了,一直没有解决,在elasticsearch7.x版本的时候貌似好像可以用request在程序中来建立索引,像Stringindex=“{“mapping”:...}”之类的操作,干起来比较复杂,在elasticsear......
  • 工厂方法模式--Java代码实现
    1、画类图2、Java代码实现其中可知,PWFactory、PW类均为接口类;并且,DESFactory、IDEAFactory类均要实现PWFactory接口;DES、IDEA类均要实现PW接口;具体代码如下://PWFactory.javapackageorg.example;publicinterfacePWFactory{publicPWcreateProduce();}//DE......
  • 恒生电子面试(java)
    感觉和学校学的很像,but做不出来具体的语法忘记了,毕竟是两年前学的。。。 第一次面,没事,加油 ......