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 个内存空间。

虚拟机栈,本地方法栈,程序计数器是线程私有的,每个线程运行时候都会在虚拟机栈中创建独立的栈帧,所以来保证线程的安全性

posted @ 2019-04-16 16:26  菩提树下的丁春秋  阅读(217)  评论(0编辑  收藏  举报