zoukankan      html  css  js  c++  java
  • JVM生命周期与运行过程

    1. Java虚拟机的生命周期

    Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有 三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这 个包换main()方法的类名。 Main()方法是程序的起点,他被执行的线程初始化为程序的初始线程。程序中其他的线程都由他来启动。Java中的线程分为两种:守护线程 (daemon)和普通线程(non-daemon)。守护线程是Java虚拟机自己使用的线程,比如负责垃圾收集的线程就是一个守护线程。当然,你也可 以把自己的程序设置为守护线程。包含Main()方法的初始线程不是守护线程。 只要Java虚拟机中还有普通的线程在执行,Java虚拟机就不会停止。如果有足够的权限,你可以调用exit()方法终止程序。

    2. Java语言运行的过程

    Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是01二进制程序),然后在OS之上的Java解释器中解释执行。

    TIM截图20180226112620.jpg

    TIM截图20180226112620.jpg

    3. Java虚拟机的体系结构

    ·每个JVM都有两种机制:

    ①类装载子系统:装载具有适合名称的类或接口

    ②执行引擎:负责执行包含在已装载的类或接口中的指令

    ·每个JVM都包含:

    方法区、Java堆、Java栈、本地方法栈、指令计数器及其他隐含寄存器

     TIM截图20180226112620.jpg

    内存相关内容请阅读《java内存详解




    查看原文:http://www.coder306.cn/?p=126
  • 相关阅读:
    从docker容器拷贝文件出来
    R csv数据集资源下载
    使用docker镜像搭建Python3 jupyter notebook环境
    用Python合并多个Excel文件
    vscode保存文件时自动删除行尾空格
    js判断数组是否包含某元素
    数据库锁问题
    协程
    进程间的八种通信方式
    进程与线程的区别
  • 原文地址:https://www.cnblogs.com/coder306/p/13087709.html
Copyright © 2011-2022 走看看