浅谈JVM - 引言

什么是JVM

  • 定义

    Java Virtual Machine - java程序的运行容器(java二进制字节码的运行容器)

  • 好处

    • 一次编写,到处运行

      当我们编写Java代码时,JVM为我们屏蔽了二进制字节码与底层操作系统的差异,采用解释的方式来运行二进制字节码,使得这份java代码可以在不同的操作系统运行,实现代码的平台无关性。

    • 自动内存管理,垃圾回收功能

    • 数组下标越界检查

      如果不进行数组下标越界检查,向数组写入数据时,就会导致数据写入不属于数组的地方,而读取数据时,就会读取到别的地方的数据。

    • 多态

      编译时多态(方法重载)

      相同方法名,具体调用方法在编译时由参数列表确定

      运行时多态(方法重写)

      动态多态性是一个在运行时解析对重写方法的调用的过程,编译时是父类类型,运行时是子类类型。

      当运行时调用引用变量的方法时,其方法行为总是表现出子类方法的行为特征,而不是父类方法的行为特征,这就表现出:相同类型的变量调用同一个方法时表现出不同的行为特征,这就是多态。

  • 比较

    JVM、JRE、JDK比较

    • JVM java虚拟机,为屏蔽java二进制字节码与底层操作系统的差异

    • JRE java运行时环境,JVM + 基础类库,基础类库为我们提供一些常用的类,如IO类等。

    • JDK java开发工具包, JVM + 基础类库 + 编译工具

学习JVM有什么用

  • 面试

  • 理解底层的实现原理

  • 中高级程序员的必备技能

    项目上线后出现内存溢出或者运行缓慢,掌握JVM后就能更好的排查解决问题

常见JVM

学习路线

  • JVM内存结构

  • GC垃圾回收

  • 类的字节码结构,编译器优化

  • 类加载器ClassLoader

  • 执行引擎运行讲解及优化

欢迎关注公众号,后续文章更新通知,一起讨论技术问题 。

公众号二维码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值