当前位置: 首页 > news >正文

【面试】Java虚拟机的生命周期

目录

          • 1. 说明
          • 2. 启动(Initialization)
          • 3. 运行(Running)
          • 4. 服务(Servicing)
          • 5. 终止(Termination)

1. 说明
  • 1.Java虚拟机(JVM)的生命周期通常指的是JVM实例从启动终止的整个过程。
  • 2.JVM的启动和终止也可以通过命令行参数或脚本进行定制和控制。可以使用-X系列的JVM参数来配置JVM的内存大小、垃圾回收策略等。
  • 3.在JVM终止时,也可以通过设置System.exit()的参数来返回一个状态码,以指示程序是正常退出还是由于某种错误而退出。
2. 启动(Initialization)
  • 1.JVM通过加载并初始化一些基本的类(如java.lang.Object)和执行JVM启动时的初始化代码来启动。
  • 2.JVM启动参数在这个阶段被解析和处理。
  • 3.如果使用JNI(Java Native Interface),还会加载和初始化本地方法库
3. 运行(Running)
  • 1.JVM加载并执行Java的.class文件或者由JIT(Just-In-Time Compiler)编译器编译后的本地代码。
  • 2.JVM管理内存,包括堆内存(Heap)、方法区(Method Area,也称为永久代或元空间)、(Stack)等。
  • 3.JVM执行垃圾回收(Garbage Collection)来自动管理内存,释放不再使用的对象占用的空间。
  • 4.如果应用程序使用了线程,JVM负责线程的调度执行
4. 服务(Servicing)
  • 1.这个阶段主要是JVM为Java应用程序提供服务,包括执行Java代码内存管理垃圾回收线程调度等。
  • 2.如果应用程序请求了外部资源(如文件、数据库连接等),JVM会协调这些资源的访问。
5. 终止(Termination)
  • 1.JVM实例的终止可以由多种原因触发。
  • 2.程序正常执行完毕调用了System.exit()方法。
  • 3.程序遇到未捕获的异常或错误,并且没有恢复机制。
  • 4.宿主操作系统终止JVM进程(如用户手动终止或系统崩溃)。
  • 5.在终止前,JVM会执行一些清理工作,如关闭打开的文件、数据库连接等。
  • 6.JVM会释放它所占用的所有资源,并结束其生命周期。
http://www.lryc.cn/news/357673.html

相关文章:

  • Nginx高可用性架构:实现负载均衡与故障转移的探索
  • 计算机网络-运输层
  • 网络通信(一)
  • Linux环境中部署docker私有仓库Registry与远程访问详细流程
  • springboot项目使用validated参数校验框架
  • Azure Chatgpt demo部署——本地CentOS Docker
  • MybatisPlus中自定义sql
  • HCIA--DHCP: 动态主机配置协议 (复习)
  • MySQL select for update 加锁
  • MongoDB CRUD操作:投影Project详解
  • redis 集群 底层原理以及实操
  • MVC架构中的servlet层重定向404小坑
  • Java-RabbitMQ
  • ABAP 在增强中COMMIT
  • 【UML用户指南】-02-UML的14种图
  • Linux驱动开发笔记(二) 基于字符设备驱动的I/O操作
  • 三品软件:打造高效安全的图文档管理体系
  • N1 one-hot编码
  • 数据库基础+增删查改初阶
  • 大模型日报2024-05-29
  • 如何摆脱打工人任人宰割的命运
  • “图片在哪”、“我是temunx”、“变成思维导图用xmindparser”gpt给出文本变字典
  • 【LeetCode】【5】最长回文子串
  • 主播们直播时的美颜是如何实现的?集成第三方美颜SDK方案详解
  • Leetcode - 131双周赛
  • 【CSharp】判断目录以及文件是否存在
  • kali基本扫描工具(自带)
  • 与MySQL的初相遇
  • 详解Spring IoCDI(一)
  • Android 14 - 绘制体系 - 概览