java的核心机制:JVM

JVM(java virtual machine,java虚拟机):是一个虚拟的计算机,是java程序的运行环境。JVM具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。

JVM功能1:实现java程序的跨平台性

编写的java程序,都运行在JVM之上。正是因为有了JVM,才使得java程序具备了跨平台性。

使用JVM前后对比:

JVM功能2:自动内存管理(内存分配、内存回收)

1、java程序在运行过程中,涉及到运算的数据分配、存储等都有JVM完成;

2、JVM消除了程序员回收无用内存空间的职责。提供了一种系统级线程跟踪存储空间的分配情况,在内存空间达到相应的阈值时,检查并释放可被释放的存储器空间;

3、GC的自动回收、提高了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而导致的内存泄漏。

问题:java程序还会出现内存溢出和内存泄漏问题吗?

回答:会出现。因为java会自动清除垃圾,但有用的数据并不是垃圾,不会被清除,所以会出现内存泄露的情况;当jvm认为一些无用数据不是无用数据时,没有对它进行清理,这时就发生了内存泄漏。(内存泄漏多了会导致内存溢出)

相关推荐
小裕哥略帅4 小时前
Spring AOP 实现通用 Token 自动刷新重试工具包
java·后端·spring
Jazz_z4 小时前
使用 Python 合并与取消合并 Excel 单元格
开发语言·python·excel
Lenyiin4 小时前
第6篇_Python高级语法与标准库精髓:从会用到达精通
java·python·html
YHHLAI4 小时前
TypeScript 面试题:type 与 interface 的区别与相同点
java·ubuntu·typescript
斑马1394 小时前
Linux软件编程学习笔记(十)——网络(二)——TCP通信
开发语言·网络·php
咖啡八杯4 小时前
PageHelper 分页封装:TableDataInfo 与 startPage() 的工作原理
java·spring boot·分页·若依·开源框架·pagehelper
多敲代码防脱发4 小时前
Alibaba Sentinel(熔断、限流)(国内下载Sentinel)
java·开发语言·sentinel
艺杯羹4 小时前
双轨大模型路由实战:从端侧Ollama边缘推理到云端大模型容灾降级架构深度拆解
开发语言·人工智能·ai·架构·php
.Hypocritical.4 小时前
【SpringBoot】配置文件加载位置与优先级详解
java·spring boot·后端