jvm内存分部
首先我们必须要知道的是 Java 是跨平台的。java常用的名词有jdk,jre,jvm
jdk包括后两者,是开发者工具集,
jre表示java运行环境,
jvm是java虚拟机,是java夸平台的保证,
而它之所以跨平台就是因为 JVM 不是跨平台的。
JVM 建立了 Java 程序和操作系统之间的桥梁,JVM 是用 C 语言编写,而 C 语言不具备跨平台的特性。
所以对于 Windows 平台,Java 有基于 Windows 平台的 JVM;对于 Linux 平台,Java 也有基于 Linux 平台的 JVM等等。
不同的操作系统有不同的 JVM,所以我们编写的 Java 代码能在各个平台上运行,是因为有各个平台的 JVM。
而 Java 的内存分配也是在 JVM 中进行的。JVM 是 Java 内存分配的原理和前提。
而像orcal数据库也是一样的,拥有自己的虚拟机,可以在不同平台上运行,所以jvm虚拟机不同的,不是每个人虚拟机都一样,就像我们平时开发一样,一个平台可以是验证码
和微信或者密码登录,不是我们自带功能,而是我们自己做了适配,所以可以在不同平台上运行.
Java 程序为了提高程序的效率,对数据进行了不同空间的分配,具体划分为如下 5 个内存空间。
虚拟机栈,本地方法栈,程序计数器是线程私有的,每个线程运行时候都会在虚拟机栈中创建独立的栈帧,所以来保证线程的安全性
笔记转移,由于在有道云的笔记转移,写的时间可能有点久,如果有错误的地方,请指正