`
zhhphappy
  • 浏览: 121407 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java虚拟机生命周期

    博客分类:
  • java
阅读更多

    一个运行时的Java虚拟机负责运行一个Java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当程序关闭退出,这个虚拟机实例也就随之消亡。如果在同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中。
    Java虚拟机实例通过调用某个初始类的main()方法来运行一个Java程序。而这个main()方法必须是public static的,返回值为void,并且接受一个String[]数组作为参数。任何拥有这样一个main()方法的类都可以作为Java程序运行的起点。告诉Java虚拟机要运行的Java程序中初始类的名字,整个程序将从它的main()方法开始运行。
    Java程序初始类中的main()方法,将作为该程序初始线程的起点,任何其他的线程都是由这个初始线程启动的。
  Java虚拟机内部有两种线程:守护线程和非守护线程。守护线程通常是由虚拟机自己使用的,比如执行垃圾收集任务的线程。 但是,Java程序也可以把它创建的任何线程标记为守护线程。而Java程序中的初始线程-就是开始于main()的那个是非守护线程。
   只要还有任何非守护线程在运行,那么这个Java程序也在继续运行(虚拟机仍然存活)。当程序中的所有的非守护线程都终止时,虚拟机实例自动退出。假如安全管理器允许,程序本身也能够通过调用Runtime类或者System类的exit()方法退出。

分享到:
评论

相关推荐

    Java虚拟机和Java程序的生命周期?

    ### Java虚拟机与Java程序的生命周期 #### 一、Java虚拟机(JVM)概述 Java虚拟机(JVM)是一种可以执行Java字节码的虚拟机。它为Java应用程序提供了一个独立于硬件平台的运行环境,使得Java程序可以在任何安装了JVM...

    深入java虚拟机.pdf

    一个运行中的 Java 虚拟机的生命周期是从程序开始执行到程序结束。Java 虚拟机总是从 main() 方法开始执行,main() 方法是程序的起点。Java 虚拟机中有两种类型的线程:守护线程(daemon)和普通线程(non-daemon)...

    Java中类的生命周期

    这个进程从启动到终止的过程被称为Java虚拟机生命周期。在这个周期内,JVM负责管理所有类和对象的生命周期。 **2. Java程序与JVM生命周期的一致性** 程序生命周期与Java虚拟机生命周期是一致的。这意味着Java...

    javajvm虚拟机原理PPT课件.pptx

    Java虚拟机生命周期 Java虚拟机的生命周期可分为三个主要阶段:装载、连接和初始化。每次启动一个Java程序,都会创建一个Java虚拟机实例,该实例将管理Java程序的生命周期。Java虚拟机实例的生命周期结束时,该程序...

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

    5.2 java虚拟机的生命周期 5.3 java虚拟机的体系结构 5.3.1 数据类型 5.3.2 字长的考量 5.3.3 类装载器子系统 5.3.4 方法区 5.3.5 堆 5.3.6 程序计数器 5.3.7 java栈 5.3.8 栈帧 ...

    java虚拟机

    4. **类加载过程**:类的生命周期包括加载、验证、准备、解析和初始化。其中,验证确保字节码的安全性,准备阶段分配静态变量的内存并初始化为默认值,解析将符号引用转换为直接引用。 5. **JVM性能调优**:通过...

    java虚拟机的详细原理

    Java虚拟机的生命周期包括启动、执行和终止三个主要阶段: 1. **启动**:当一个包含`public static void main(String[] args)`方法的类被加载时,Java虚拟机就会启动。`main()`方法是程序的入口点,Java虚拟机通过...

    深入java虚拟机 高清pdf 高清高清高清

    书中讲解了类加载器的工作流程,包括加载、验证、准备、解析和初始化等阶段,以及双亲委托模型,有助于理解类的生命周期和类加载异常。 5. **字节码与指令集**:Java源代码经过编译后生成字节码,这些字节码在JVM...

    java虚拟机(jvm)介绍以及相关参数设置与调优

    在本文中,我们将深入探讨Java虚拟机的体系结构、垃圾回收机制、Java对象的生命周期和分代,以及相关的参数设置与调优。 Java虚拟机体系结构 Java虚拟机由三个主要组件组成:类加载器、运行时数据区和执行引擎。类...

    Java 虚拟机面试题全面解析(干货)

    垃圾收集主要是为了回收不再使用的对象,释放内存空间,其中分代收集算法是通过将对象按照生命周期的不同进行分区来提高垃圾回收效率。 Java虚拟机的平台无关性是通过Java的Class文件实现的。Class文件由魔数、版本...

    java虚拟机的两本书

    这有助于理解对象生命周期,以及为何某些内存泄漏问题会发生。通过理解垃圾收集的工作原理,开发者能够优化程序的内存使用,减少停顿时间,提高应用性能。 此外,书中还会涉及JVM调优技术,包括如何设置JVM参数以...

    Java中类的生命周期.doc

    这个进程从启动到终止的整个过程被称为Java虚拟机生命周期。程序的生命周期与Java虚拟机的生命周期是一致的,因为Java虚拟机的主要任务就是执行Java程序。 #### 三、类的加载、连接与初始化 ##### 3.1 加载 当...

    Java虚拟机规范PDF

    由于无法查看实际的图片和OCR扫描文字内容,我将基于标题和描述提供关于Java虚拟机(JVM)规范的详细知识点。 ### Java虚拟机规范知识点 #### 1. JVM概述 Java虚拟机是运行所有Java程序的抽象计算机,它遵循一定的...

    Java虚拟机规范 深入java虚拟机

    Java内存分为新生代、老年代和持久代,不同的对象根据其生命周期被分配到不同的区域。理解内存划分有助于优化内存使用,减少Full GC的发生。 7. **异常处理** JVM支持异常处理机制,通过try-catch-finally语句块...

    深入java虚拟机笔记

    - **Java虚拟机的生命周期**:JVM的生命周期从启动到关闭的过程,涉及到类的装载、初始化等多个阶段。 - **Java虚拟机的体系结构**:JVM的体系结构主要包括内存区域划分、执行引擎等方面。 - **数据类型**:JVM支持...

    java 虚拟机的研究

    垃圾收集机制自动管理对象的生命周期,释放不再使用的内存空间。Java虚拟机中的垃圾收集器通常包括以下几个方面: - **标记-清除算法**:标记所有可达的对象,然后清除未被标记的对象。 - **复制算法**:将内存空间...

    Java虚拟机并发编程.pdf

    8. 线程池ExecutorService:允许管理线程的生命周期,重用线程池中的线程,简化多线程编程。 9. 并发工具类:如CountDownLatch、CyclicBarrier、Semaphore等,它们提供了高级的并发控制结构。 10. Future和Callable...

    什么是Java虚拟机

    2. **Java虚拟机的生命周期** - JVM的启动始于`main()`方法,它是程序的入口点,由字符串数组参数传递给JVM。 - 程序的执行线程由`main()`方法初始化,初始线程是非守护线程。守护线程用于后台任务,如垃圾收集,...

Global site tag (gtag.js) - Google Analytics