1.1.1 JAVA程序运行机制

[TOC]

class文件

  • 对.java文件执行 javac命令后,得到.class文件,里面包含了java程序执行的字节码,想看懂字节码可以用字节码表来查找

一个JVM包含了什么

一个java程序就是一个jvm,里面包含了

  • 各个线程共享的
    • 方法区:存放类信息、常亮、静态变量、编译后的代码
    • 堆内存:存放对象的实例,GC要对堆内存管理
  • 各个线程独占的
    • 程序计数器:记录当前线程执行的字节码的位置,cpu在多线程间轮流切换执行,切换了线程之后,就是通过程序计数器来找到上一次执行到的位置的
    • 虚拟机栈:都是给执行方法使用的,占内存默认最大1M,超出抛StackOverflowError
      本地方法栈:都是给执行方法使用的,占内存默认最大1M,超出抛StackOverflowError

我觉得理解到这里就够了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容