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

相关推荐
靠沿1 小时前
MySQL数据库基础——索引的使用&alter、explain关键字
java·数据库·mysql
9624561 小时前
餐饮 SaaS 优惠券系统架构演进(七)营销定价引擎设计:活动、会员价、优惠券、买赠如何在同一 PriceQuote 中可解释地组合
java·运维·算法
码匠许师傅1 小时前
【C++三方组件】redis-plus-plus:现代 Redis C++ 客户端
java·c++·redis
LMT_Lanmantech1 小时前
MATLAB合规管理:如何避免侵权赔偿和审计风险
开发语言·matlab·信息可视化
ab1237681 小时前
MQTT笔记
java·笔记·mqtt·学习
二宝哥2 小时前
【问题】代理转发到后端使用request.getRequestURL()地址没有端口
java
言乐62 小时前
PythonLOLM自动生成复盘报告模型
开发语言·前端·数据库·人工智能·python
霸道流氓气质2 小时前
HashiCorp Vault 与云 KMS 入门实战:动态密钥、SecretLeaseContainer 与 Java 集成完整指南
java·开发语言
wuminyu2 小时前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
论文复现现场2 小时前
DeepSeek V4.1 Flash 各平台价格怎么比?缓存、峰谷计费与 Python 成本计算
开发语言·python·缓存·大模型·成本优化·deepseek