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认为一些无用数据不是无用数据时,没有对它进行清理,这时就发生了内存泄漏。(内存泄漏多了会导致内存溢出)

相关推荐
likuolei23 分钟前
XQuery 完整语法速查表(2025 最新版,XQuery 3.1)
xml·java·数据库
雨中飘荡的记忆28 分钟前
LangChain4j 实战指南
java·langchain
okseekw31 分钟前
Java 中的方法:从定义到重载的完整指南
java
雨中飘荡的记忆31 分钟前
深入理解设计模式之适配器模式
java·设计模式
用户849137175471632 分钟前
生产级故障排查实战:从制造 OOM 到 IDEA Profiler 深度破案
java·jvm
雨中飘荡的记忆36 分钟前
深入理解设计模式之装饰者模式
java·设计模式
雨中飘荡的记忆40 分钟前
秒杀系统设计与实现
java·redis·lua
CryptoPP1 小时前
使用 KLineChart 这个轻量级的前端图表库
服务器·开发语言·前端·windows·后端·golang
18你磊哥1 小时前
chromedriver.exe的使用和python基本处理
开发语言·python
小坏讲微服务1 小时前
Spring Cloud Alibaba 整合 Scala 教程完整使用
java·开发语言·分布式·spring cloud·sentinel·scala·后端开发