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

Java 虚拟机

Virtural Machine 简称VM,也就是我们常说的虚拟机,分为系统虚拟机和软件虚拟机,虚拟机实质上是一个软件,是对物理计算机整个系统的模拟或某一个软件运行环境的模拟,例如VMWare就是系统虚拟机,JVM就是软件虚拟机

Java Virtural Machine 简称JVM,是Java程序运行的容器,是java一次编译,随处运行的基础,目前java默认的虚拟机是hotspot,JVM大致由三部分构成,Classloader类加载器,JVM memory虚拟机内存,执行引擎

Java采用自动内存管理,即程序员只需申请使用,不用手动释放,java虚拟机内存,主要分为方法区,堆,虚拟机栈,程序计数器,本地方法栈五个部分,其中程序计数器,虚拟机栈,本地方法栈为线程私有,方法区(运行时常量池),堆为线程共享,程序计数器存储的是当前线程所执行的方法的指令地址,Java虚拟机栈的存储的是方法执行的局部变量,方法执行到结束出入栈地址等,本地方法栈储存的是native方法执行信息,堆在虚拟机启动时就会创建,为所有线程共享,是占用内存最大的一片区域,也是垃圾回收的主要区域,对象实例及数组都是在对内存上分配的,方法区也是JVM启动时创建的,逻辑上是堆的一部分,主要存储的是运行时常量池,静态变量,类信息等,很少做垃圾回收

Java垃圾回收器,是通过判定对象是否有引用,来进行垃圾回收的,Java对象存活在离自己最近一个大括号内,java在进行垃圾回收时会调用对象的finalize方法进行垃圾回收,该方法是object类的方法,为各个类所继承,也可以通过System的gc方法进行主动垃圾回收,java的引用分为4类,强引用,例如new出来的,就是强引用,软引用:描述有需要但非必需的对象,可用SoftReference类来进行声明。弱引用:描述的是非必须的对象,可用WeakReference类来进行声明,虚引用:最弱的引用关系,可用

PhantomReferece类来进行声明,软引用和弱引用适合来保存可有可无的缓存数据,虚引用可用于对象回收跟踪

java垃圾回收算法,引用计数法,每个对象都有一个引用计数器,有引用加一,引用失效减一,当计数器为零,被垃圾回收,缺点是无法识别对象之间的相互引用,分代算法:根据对象存活周期,将堆内存划为新生代和老年代,新建的对象的对象都会放在新生代,经过几次gc后,未清除的对象会放到老年代,新生代又被划为eden区和Survivor区,根据gc的次数,对象进行转移

http://www.hskmm.com/?act=detail&tid=39314

相关文章:

  • Java 反射
  • Java 语法糖
  • Java 代理
  • 纸笔群群友命题乱做
  • 本人对KMP如何匹配到所有结果的算法存在一些疑惑...
  • 字符与Java国际化编程
  • 进程与线程
  • 解决 Windows 下 Claude 通过 cmd/powershell 运行出错失去响应的问题
  • # Ubuntu 根目录空间扩展操作手册(基于 RAID 关联磁盘 /dev/sdb2)
  • 25.10.25随笔NOIP模拟赛总结
  • 013的加密世界权威指南_第二部分
  • Perplexity Comet AI浏览器「等待网络链接」解决方案
  • Redis 持久化 内存模型 - 指南
  • 新地球
  • 2025 年 10 月商用厨房设备,酒店厨房设备,大型厨房设备厂家最新推荐,聚焦高端定制需求与全案交付能力
  • zr模拟赛day8T2
  • 251026
  • 2025 年 10 月食堂厨房设备厂家最新推荐,聚焦资质、案例、售后的食堂场景深度解读
  • embedding
  • 2025 年 10 月不锈钢厨房设备厂家最新推荐,产能、专利、环保三维数据透视
  • 2025 年 10 月餐饮厨房设备厂家最新推荐,实力品牌深度解析采购无忧之选!
  • DINO版本进化
  • 基于深度学习神经网络协同过滤模型(NCF)的视频推荐体系
  • sometime some time sometimes
  • 关于容斥原理
  • 可变字符串
  • 欧拉定理
  • 给安卓设置背景色的时候保持默认按钮样式(关于使用setBackgroundColor导致丢失默认按钮样式的问题)
  • 分片上传与断点续传实现详解
  • 2025 年 10 月展示柜厂家最新推荐,技术实力与市场口碑深度解析!