美文网首页
JAVA程序运行原理

JAVA程序运行原理

作者: 任性一把 | 来源:发表于2019-12-30 14:50 被阅读0次

JAVA程序运行原理

  • 编写 .java 源文件
  • 编译成 .class 文件
  • 运行分配 JVM 数据区

JVM 运行时的数据区

线程独占:每个线程独有的空间,跟随线程的生命周期创建销毁

线程共享:所有线程共享的内存数据,跟随虚拟机和GC创建销毁

方法区

JVM 用来存储加载的类信息,常量,静态变量,编译后的代码。
虚拟机规范的逻辑区域,具体实现根据不同虚拟机控制。

堆内存

JVM启动时创建,用来存储对象实例。垃圾回收器主要管理的区域,内存超出会报错。

虚拟机栈

由多个栈帧组成,线程独占,一个方法对应一个栈帧。
栈帧包含:局部变量表,操作数栈,动态链接,方法返回地址,附加信息等,默认内存1M,超出报错

本地方法栈

类似虚拟机栈,主要为执行Native方法,区别与虚拟机栈是执行JAVA方法。

程序计数器

记录当前线程字节码的位置,存储字节码指令地址。Native方法时,计数器值为空。多线程切换由程序计数器控制执行到哪里了。

查看 class 文件内容

  • 源代码由 javac 命令编译成 class 文件
  • 通过 javap 查看 class 文件内容
    javac Demo.java        // 编译

    javap -v Demo.class > demo.txt  // 输出内容到demo.txt 文件

相关文章

  • JAVA程序运行原理

    JAVA程序运行原理 编写 .java 源文件 编译成 .class 文件 运行分配 JVM 数据区 JVM 运行...

  • JAVA开发:开发属于你的第一个Java程序

    01_开发属于你的第一个Java程序 Java程序的运行原理 Java程序追求的目标是一次编译到处运行,那他是如何...

  • Java程序运行原理

    编译生成.class字节码文件 class文件内容版本号访问控制标志常量池构造方法自定义方法指令(参照指令表) J...

  • Java程序运行原理

    java与jvm 一个语言为何这么写是由于它的语言规范决定的。而jvm规定了字节码如何运行的规范。而字节码的来源可...

  • Java程序的调试原理及调试体系JDPA

    基本原理 Java 程序都是运行在 Java 虚拟机上的,我们要调试 Java 程序,事实上就需要向 Java 虚...

  • [Android-Java]1.基本概念-2第一个Java程序

    二、第一个Java程序 在制作第一个Java程序之前,我们需要先来了解一下Java程序的运行原理。Java程序被称...

  • 探究java程序运行原理

    我以前是多C++程序开发的,2018年6月份进入平安寿险总部后才刚刚接触java,和很多初学java的萌新们一...

  • Java程序运行原理分析

    一. JVM原理 class文件内容 JVM运行时数据区 线程独占: 每个线程都会有它独立的空间,随线程的生命周而...

  • java程序运行原理分析

    什么是class文件 是jvm编译java代码后生成的字节码文件,包含java程序执行的字节码;数据严格按照格式紧...

  • Java 程序运行原理分析

    1. class 文件内容 class 文件包含JAVA程序执行的字节码;数据严格按照格式紧凑排列在class文件...

网友评论

      本文标题:JAVA程序运行原理

      本文链接:https://www.haomeiwen.com/subject/cafmoctx.html