一分钟了解虚拟机

Java基础理论

一、JDk,JRE,JVM三者的区别

  • JDK:Java开发工具包,用来开发Java程序的,主要针对java开发者。
  • JER:java运行时环境,针对java的用户
  • jvm:java虚拟机 用来解释执行字节码文件(class文件)的。
1.Jvm是什么

jvm是JRE的一部分,它是一个虚拟出来的计算机,是用过在实际的计算机上仿真模拟各种计算机功能来实现的。Jvm有着自己完善的硬件架构,如处理器、堆栈等,

JVM(java虚拟机)是java实现跨平台最核心得到部分,所有的java程序会首先编译为.clss的类文件,JVM的主要工作是解释自己的指令集(字节码)并映射本地的CPU的指令集或OS的系统调用,java面对不同操作系统使用不同的虚拟机,从而也证明了Java的狂平台性。

2.JRE是什么

JER就是Java的运行环境。在Java平台下,所有Java程序都需要在JRE下才能运行的。只有JVM还不能进行class的执行,因为解释class的时候,JVM需要调用解释所需要的类库lib。JRE里面有两个文件夹分别是bin和lib,这里可以讲bin当作就是JVM,lib就是JVM所需要的类库,而JVM和lib合起来就称为JRE

JRE包括JVM和Java核心类库与支持文件。与JDK不同,它不包含开发工具-编译器、调试器和其他工具

3.JDK是什么

JDk是Java的开发工具包,它包含着上面所说的JRE和JVM,还有一些java工具。

4.总结

在实际开发中,我们利用JDK开发属于自己的JAVA程序后,通过JDK中javac进行编译代码,在JRE上运行这些JAVA字节码,JVM解释这些字节码,映射到CPU指令或OS的系统调用

二、Java内存的分析

Java内存划分

1.栈空间,连续得到存储空间,遵循后进先出的原则,用于存放局部变量。

2.堆空间,不连续的空间,用于存放new出的对象,或者说是类的实例。

3.方法区,方法区在堆空间内,用于存放用于存放①类的代码信息;②静态变量和方法;③常量池

三、JAVA垃圾回收机制

为什么要垃圾回收呢

垃圾回收机制回收也是java语言的的一个特点,它使得java程序员在编写程序的时候不再需要考虑内存的管理。由于有了这个垃圾回收机制,java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效得到防止内存泄露,有效的使用空闲的内存。

内存泄露是指该内存空间使用完毕之后未回收,不涉及复杂数据结构的一般情况下,java的内存泄露表现为一个内存对象的生命周期超出了程序需要它的时间长度,我们有时也将其称为“对象游离”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值