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

相关推荐
王元_SmallA9 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
froginwe119 小时前
HTML5 测验
开发语言
LiuYaoheng9 小时前
【Android】Drawable 基础
android·java
AlianNiew9 小时前
从源码到实战:用 Java 打造“限时+防重放”的文件安全预览链接
java·后端
null or notnull10 小时前
java服务器空间不够时:将多个服务器的文件存放至同一个服务器上(使用映射器的办法)
java·运维·服务器·java-ee
代码栈上的思考10 小时前
JVM中内存管理的策略
java·jvm
YoungP10 小时前
【Effective Java 条目二】-- 当构造器参数较多时考虑使用生成器
java
野生技术架构师11 小时前
牛客网Java 高频面试题总结(2025最新版)
java·开发语言·面试
一只鹿鹿鹿11 小时前
系统安全设计方案书(Word)
开发语言·人工智能·web安全·需求分析·软件系统
纪莫11 小时前
技术面:SpringBoot(springboot的类加载和传统的双亲委派有什么区别、如何按顺序实例化Bean)
java·spring·java面试⑧股