jre jdk jvm :
java中的特点之一:
所谓的跨平台,不是java跨平台而是jvm跨平台 编写一次,处处运行的道理 可以到Windows macOS 等系统上运行
为什么java是跨平台的 哪到底是到哪里跑的
其实所编写完代码然后点击运行全部都是到 jvm 中跑完的的,什么Windows ,macOS Linux 都是到 jvm中跑的
为什么java虚拟机会叫成java虚拟机呢?
顾名思义嘛,简单的说就是看不到摸不到,能执行字节码文件的幽灵吧
通途的 讲 jdk 是爷爷 jre 是爸爸 那jvm 那就是儿子了 有了jdk就拥有了全部。
jdk 是开发的应用程序的工具这不用多说。jdk 包含 jre 而jre 又包含jvm(java虚拟机)
jre 是运行class文件 不能编译文件 就只能是jvm 来编译class文件了。
正片:
上面都是废话接下来才是正片哈 !哈哈哈
JRE(JavaRuntimeEnvironment,Java运行环境) 就是一个java平台 ,用来运行class字节码文件的
JDK(Java Development Kit)
首先来说说 jdk我们都知道是 开发应用程序的核心 ,都知道jdk 是一个工具包
jdk 中包含jre 在安装jdk 中也会安装jre jdk 中的目录中有jre文件 用来存放jre的文件感兴趣的可以去看看安装的路径找找
JVM(JavaVirtualMachine,Java虚拟机) 也是jre 的一部分 是一个虚假(虚拟)的系统
它里面包含一些 内存管理 中有: 程序计数器 、寄存器、本地方法栈、栈(栈里面包含一些栈帧)这些都是私有线程、、堆 还有运行时常量池(用来存放编译的时候生成各种字面量还有符号引用)直接内存 内存管理中的方法区和堆都是 共享线程(所以线程都可以互相使用)
还有最重要的一点就是跨平台:jvm 就是跨平台可以到 macOS Windows Linux 郴州系统上运行
如果我写错了欢迎到评论区留言,也是可以共同的进步的