浅谈JVM - 引言

什么是JVM

  • 定义java

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

  • 好处面试

    • 一次编写,处处运行数组

      当咱们编写Java代码时,JVM为咱们屏蔽了二进制字节码与底层操做系统的差别,采用解释的方式来运行二进制字节码,使得这份java代码能够在不一样的操做系统运行,实现代码的平台无关性。工具

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

    • 数组下标越界检查开发工具

      若是不进行数组下标越界检查,向数组写入数据时,就会致使数据写入不属于数组的地方,而读取数据时,就会读取到别的地方的数据。优化

    • 多态操作系统

      编译时多态(方法重载)code

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

      运行时多态(方法重写)

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

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

  • 比较

    JVM、JRE、JDK比较

    • JVM java虚拟机,为屏蔽java二进制字节码与底层操做系统的差别
    • JRE java运行时环境,JVM + 基础类库,基础类库为咱们提供一些经常使用的类,如IO类等。
    • JDK java开发工具包, JVM + 基础类库 + 编译工具

学习JVM有什么用

  • 面试

  • 理解底层的实现原理

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

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

常见JVM

学习路线

  • JVM内存结构
  • GC垃圾回收
  • 类的字节码结构,编译器优化
  • 类加载器ClassLoader
  • 执行引擎运行讲解及优化

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

公众号二维码

相关文章
相关标签/搜索