美文网首页
java 字节码

java 字节码

作者: 虾米咬小米 | 来源:发表于2021-03-30 17:28 被阅读0次

一:简单的命令

我们先从javac(编译器)命令开始,javac命令是将源代码编程成class字节码文件,因为我们的JVM虚拟机是执行class字节码文件的,不是执行源代码,JVM虚拟机是不认识源代码的。

public class Helloworld{
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

上面是一段简单的java源代码,我们需要使用javac命令将其编程成字节码文件,才能运行,如下图:

image

执行之后,当前目录下会多出一个Helloworld.class文件,这就是字节码文件,如下图:

image

如果想运行,那么可以使用java命令来执行class字节码文件:

image

执行结束后,在控制台,输出hello world字符串。另外,需要注意,并不是每个字节码都能得到执行,只有含有main方法的class文件才能执行,因为,main方法是java程序的入口。

二: 怎样理解字节码

计算机只认识0和1。这意味着任何语言编写的程序最终都需要经过编译器编译成机器码才能被计算机执行。所以,我们所编写的程序在不同的平台上运行前都要经过重新编译才能被执行。 而Java刚诞生的时候曾经提过一个非常著名的宣传口号: "一次编写,到处运行"

Write Once, Run Anywhere.

为了实现该目的,Sun公司以及其他虚拟机提供商发布了许多可以运行在不同平台上的JVM虚拟机,而这些虚拟机都拥有一个共同的功能,那就是可以载入和执行同一种与平台无关的字节码(ByteCode)。 于是,我们的源代码不再必须根据不同平台翻译成0和1,而是间接翻译成字节码,储存字节码的文件再交由运行于不同平台上的JVM虚拟机去读取执行,从而实现一次编写,到处运行的目的。 如今,JVM也不再只支持Java,由此衍生出了许多基于JVM的编程语言,如Groovy, Scala, Koltin等等。

image.png

参考:
轻松看懂Java字节码
javac和java命令详解教程

相关文章

  • 字节码引用检测原理与实战

    一、字节码与引用检测 1.1 Java字节码 本章中的字节码重点研究Java 字节码,Java字节码(Java b...

  • 程序员练级攻略(2018):Java底层知识

    Java 字节码相关 首先,Java 最黑科技的玩法就是字节码编程,也就是动态修改或是动态生成 Java 字节码。...

  • Java并发机制的底层原理

    Java程序执行:Java代码→Java字节码→字节码被类加载器加载到JVM里,JVM执行字节码→转化为汇编指令在...

  • DVM执行 java 程序的工具

    jvm 执行字节码原理:java 程序运行时,是由一个 java 虚拟机来解释 java 字节码的,它将这些字节码...

  • Java字节码

    参考链接:一文让你明白Java字节码 Java字节码 Java虚拟机字节码指令 Java号称是一门“一次编译到处运...

  • Javassist指引(一)

    原文链接 [TOC] 1. 读写字节码 1.1概述 Javassist是一个Java字节码类库。Java的字节码是...

  • Javassist 指南1

    1、读写字节码 Javassist 是一个能处理 Java字节码 的类库,Java字节码存储在class文件中,每...

  • Java并发机制的底层实现原理

        Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为...

  • 并发 - Java并发机制的底层实现原理

    一、概述 Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化...

  • 简单读懂 Java 字节码

    读懂字节码有助于更好的理解 Java 编译器的工作原理 Java 字节码(Java bytecode)是 Java...

网友评论

      本文标题:java 字节码

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