java代码编译(JAVA代码编译)

:暂无数据 2026-06-21 18:20:01 :0

java代码编译(JAVA代码编译)

这篇文章给大家聊聊关于java代码编译,以及JAVA代码编译对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

JAVA代码编译

代码如下:

abstract class Shape {

public abstract double getArea();
}

class Circle extends Shape {

private double radius;

public Circle(double radius) {
this.radius = radius;
}

@Override
public double getArea() {
return Math.PI * radius * radius;
}
}

class Rectangle extends Shape {

private double width;

private double height;

public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}

@Override
public double getArea() {
return width * height;
}
}

public class App {

public static void main(String args) {

Circle c = new Circle(12);
System.out.println(“圆面积:“ + c.getArea());

Rectangle rect = new Rectangle(12, 34);
System.out.println(“矩形面积:“ + rect.getArea());
}
}

如何编译JAVA文件

用命令提示符编译java程序的步骤:


1.先新建文本文档,输入自己的java程序。

这里我写一个简单的java程序,来做示范。

import java.util.*;

public class HelloDate{

  public static void main(String args)

{

    System.out.println(“Hello,it’s:“);

    System.out.println(new Date());

}

}

2.然后另存为一个java文件。

1.选择文件---》另存为---》名称为“HelloDate.java”-----》选择“所有文件”。

2.记住自己这个文件的存储位置。(方便调用!)


3.打开程序----》附件---》命令提示符。


4.由于我的那个java文本保存在了F:/java/(在F盘下的java文件夹里)下,所以如果要想编译,就需要先通过命令提示符进入java这个文件夹,具体步骤如下:

1.进入F盘:输入【F:】,然后按下回车键【Enter】

2.输入【cd java】,按下回车键【Enter】

这样就已经进入了。这里的cd的意思就是进入的意思。


5.紧接着调用java编译器进行编译。

输入【javac HelloDate。java】,然后按下回车键【Enter】

然后运行结果。

输入【java HelloDate】,按下回车键【Enter】

经验总结:运行一个java程序的大概的流程是:

书写源代码------》编译-------》运行----》结束。




注意事项:

1.在输入的时候一定要注意区分大小写。

2.操作之前要保证自己的电脑配置了java的运行环境。

如何在CMD编译和运行JAVA代码

要想编译和运行java文件,很简单,只需要两个命令:
(1)javac:作用:编译java文件;使用方法: javac Hello.java ,如果不出错的话,在与Hello.java 同一目录下会生成一个Hello.class文件,这个class文件是操作系统能够使用和运行的文件。
(2)java: 作用:运行.class文件;使用方法:java Hello,如果不出错的话,会执行Hello.class文件。注意:这里的Hello后面不需要扩展名。
下面举例说明:
假设我有一个Hello.java文件放在D:\javatest 文件夹下。
打开cmd命令窗口,会出现C:\user\lenovo 这里出现的是系统用户名,这里我们需要将路径转移到java文件所在目录。
紧接着输入 D:回车,会出现一下界面:
这时候我们需要定位到java文件所在目录(这里是javatest目录),接着输入 cd javatest 回车。
此时进入到D:\javatest目录中,此时的Hello.java文件就在这里
这时候我们就可以用javac命令编译啦,输入javac Hello.java回车
这里如果没有任何提示表示编译成功,此时打开d:\javatest文件夹你会发现此时多了一个名为Hello.class的文件,这就是操作系统能够运行的文件。
接着输入 java Hello回车,你就会看到文件被运行的结果。
这里有几个要注意的问题

第一:Hello.java中的内容是一个类,这个类的名字与.java文件名字必须完全一致。如果不一致将出错。这里当你通过eclipse创建一个类文件的时候你就会理解的更清楚了,这里不赘述。
第二:javac 和 java 命令的使用方法要注意,格式。
第三:要使用这两命令,必须配置好环境变量。

怎么用javac命令编译java代码

1.
在cmd命令里面进行(win+r
输入cmd
运行)
2.
用『cd
路径』
进入那java文件的目录
3.
进入后进行
编译java程序:
javac
java文件名.java

例如:javac
Test.java
4.
若无错误则编译成功,运行:java
java文件名

例如:java Test

注意:不带扩展名.java

JAVA代码怎么编译啊

运行-cmd 先javac 一下 如果说不是内部命令 证明你没配好 然后 比如你的 a.java 文件在 d:/java/a.java 那就 在cmd 里敲 D: 然后 cd java
然后 javac a.java 这样就编译好了 如果还要运行 就 java a

谁能简单阐述下java编译执行的过程

  Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。
  
  一.Java源文件的编译、下载、解释和执行
  Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将Java源程序翻译为JVM可执行代码?字节码。这一编译过程同C/C++的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而产生的。因此,在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,以保证程序运行。Java编译器却不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全性。
  
  运行JVM字节码的工作是由解释器来完成的。解释执行过程分三部进行:代码的装入、代码的校验和代码的执行。装入代码的工作由“类装载器“(class loader)完成。类装载器负责装入运行一个程序需要的所有代码,这也包括程序代码中的类所继承的类和被其调用的类。当类装载器装入一个类时,该类被放在自己的名字空间中。除了通过符号引用自己名字空间以外的类,类之间没有其他办法可以影响其他类。在本台计算机上的所有类都在同一地址空间内,而所有从外部引进的类,都有一个自己独立的名字空间。这使得本地类通过共享相同的名字空间获得较高的运行效率,同时又保证它们与从外部引进的类不会相互影响。当装入了运行程序需要的所有类后,解释器便可确定整个可执行程序的内存布局。解释器为符号引用同特定的地址空间建立对应关系及查询表。通过在这一阶段确定代码的内存布局,Java很好地解决了由超类改变而使子类崩溃的问题,同时也防止了代码对地址的非法访问。
  
  随后,被装入的代码由字节码校验器进行检查。校验器可发现操作数栈溢出,非法数据类型转化等多种错误。通过校验后,代码便开始执行了。
  
  Java字节码的执行有两种方式:
  1.即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。
  2.解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程 序的所有操作。
  通常采用的是第二种方法。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作
  
  具有较高的效率。对于那些对运行速度要求较高的应用程序,解释器可将Java字节码即时编译为机器码,从而很好地保证了Java代码的可移植性和高性能。
  
  二.JVM规格描述
  JVM的设计目标是提供一个基于抽象规格描述的计算机模型,为解释程序开发人员提很好的灵活性,同时也确保Java代码可在符合该规范的任何系统上运行。JVM对其实现的某些方面给出了具体的定义,特别是对Java可执行代码,即字节码(Bytecode)的格式给出了明确的规格。这一规格包括操作码和操作数的语法和数值、标识符的数值表示方式、以及Java类文件中的Java对象、常量缓冲池在JVM的存储映象。这些定义为JVM解释器开发人员提供了所需的信息和开发环境。Java的设计者希望给开发人员以随心所欲使用Java的自由。
  
  JVM定义了控制Java代码解释执行和具体实现的五种规格,它们是:
  JVM指令系统
  JVM寄存器
  JVM栈结构
  JVM碎片回收堆
  JVM存储区
  
  2.1JVM指令系统
  
  JVM指令系统同其他计算机的指令系统极其相似。Java指令也是由 操作码和操作数两部分组成。操作码为8位二进制数,操作数进紧随在操作码的后面,其长度根据需要而不同。操作码用于指定一条指令操作的性质(在这里我们采用汇编符号的形式进行说明),如iload表示从存储器中装入一个整数,anewarray表示为一个新数组分配空间,iand表示两个整数的“与“,ret用于流程控制,表示从对某一方法的调用中返回。当长度大于8位时,操作数被分为两个以上字节存放。JVM采用了“big endian“的编码方式来处理这种情况,即高位bits存放在低字节中。这同 Motorola及其他的RISC CPU采用的编码方式是一致的,而与Intel采用的“little endian “的编码方式即低位bits存放在低位字节的方法不同。
  
  Java指令系统是以Java语言的实现为目的设计的,其中包含了用于调用方法和监视多先程系统的指令。Java的8位操作码的长度使得JVM最多有256种指令,目前已使用了160多种操作码。
  
  2.2JVM指令系统
  
  所有的CPU均包含用于保存系统状态和处理器所需信息的寄存器组。如果虚拟机定义较多的寄存器,便可以从中得到更多的信息而不必对栈或内存进行访问,这有利于提高运行速度。然而,如果虚拟机中的寄存器比实际CPU的寄存器多,在实现虚拟机时就会占用处理器大量的时间来用常规存储器模拟寄存器,这反而会降低虚拟机的效率。针对这种情况,JVM只设置了4个最为常用的寄存器。它们是:
  pc程序计数器
  optop操作数栈顶指针
  frame当前执行环境指针
  vars指向当前执行环境中第一个局部变量的指针
  所有寄存器均为32位。pc用于记录程序的执行。optop,frame和vars用于记录指向Java栈区的指针。
  
  2.3JVM栈结构
  
  作为基于栈结构的计算机,Java栈是JVM存储信息的主要方法。当JVM得到一个Java字节码应用程序后,便为该代码中一个类的每一个方法创建一个栈框架,以保存该方法的状态信息。每个栈框架包括以下三类信息:
  局部变量
  执行环境
  操作数栈
  
  局部变量用于存储一个类的方法中所用到的局部变量。vars寄存器指向该变量表中的第一个局部变量。
  执行环境用于保存解释器对Java字节码进行解释过程中所需的信息。它们是:上次调用的方法、局部变量指针和操作数栈的栈顶和栈底指针。执行环境是一个执行一个方法的控制中心。例如:如果解释器要执行iadd(整数加法),首先要从frame寄存器中找到当前执行环境,而后便从执行环境中找到操作数栈,从栈顶弹出两个整数进行加法运算,最后将结果压入栈顶。
  操作数栈用于存储运算所需操作数及运算的结果。
  
  2.4JVM碎片回收堆
  
  Java类的实例所需的存储空间是在堆上分配的。解释器具体承担为类实例分配空间的工作。解释器在为一个实例分配完存储空间后,便开始记录对该实例所占用的内存区域的使用。一旦对象使用完毕,便将其回收到堆中。
  在Java语言中,除了new语句外没有其他方法为一对象申请和释放内存。对内存进行释放和回收的工作是由Java运行系统承担的。这允许Java运行系统的设计者自己决定碎片回收的方法。在SUN公司开发的Java解释器和Hot Java环境中,碎片回收用后台线程的方式来执行。这不但为运行系统提供了良好的性能,而且使程序设计人员摆脱了自己控制内存使用的风险。
  
  2.5JVM存储区
  
  JVM有两类存储区:常量缓冲池和方法区。常量缓冲池用于存储类名称、方法和字段名称以及串常量。方法区则用于存储Java方法的字节码。对于这两种存储区域具体实现方式在JVM规格中没有明确规定。这使得Java应用程序的存储布局必须在运行过程中确定,依赖于具体平台的实现方式。
  
  JVM是为Java字节码定义的一种独立于具体平台的规格描述,是Java平台独立性的基础。目前的JVM还存在一些限制和不足,有待于进一步的完善,但无论如何,JVM的思想是成功的。
  
  对比分析:如果把Java原程序想象成我们的C++原程序,Java原程序编译后生成的字节码就相当于C++原程序编译后的80x86的机器码(二进制程序文件),JVM虚拟机相当于80x86计算机系统,Java解释器相当于80x86CPU。在80x86CPU上运行的是机器码,在Java解释器上运行的是Java字节码。
  
  Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。Java解释器实际上就是特定的平台下的一个应用程序。只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当前,并不是在所有的平台下都有相应Java解释器程序,这也是Java并不能在所有的平台下都能运行的原因,它只能在已实现了Java解释器程序的平台下运行。

如何编译并运行.java源程序

java源程序是运行不了的。java程序要先编译成class文件后,可以运行class文件。如果你是用eclipse(myeclipse)这个会自动编译的,你直接运行就行了。如果没有编译软件,在控制台,找到java源代码路径,用javac
命令可编译该源代码,编译完了再用java命令可运行此class文件

如何编译java

用命令提示符编译java程序的步骤:


1.先新建文本文档,输入自己的java程序。

这里我写一个简单的java程序,来做示范。

import java.util.*;

public class HelloDate{

  public static void main(String args)

{

    System.out.println(“Hello,it’s:“);

    System.out.println(new Date());

}

}

2.然后另存为一个java文件。

1.选择文件---》另存为---》名称为“HelloDate.java”-----》选择“所有文件”。

2.记住自己这个文件的存储位置。(方便调用!)


3.打开程序----》附件---》命令提示符。


4.由于我的那个java文本保存在了F:/java/(在F盘下的java文件夹里)下,所以如果要想编译,就需要先通过命令提示符进入java这个文件夹,具体步骤如下:

1.进入F盘:输入【F:】,然后按下回车键【Enter】

2.输入【cd java】,按下回车键【Enter】

这样就已经进入了。这里的cd的意思就是进入的意思。


5.紧接着调用java编译器进行编译。

输入【javac HelloDate。java】,然后按下回车键【Enter】

然后运行结果。

输入【java HelloDate】,按下回车键【Enter】

经验总结:运行一个java程序的大概的流程是:

书写源代码------》编译-------》运行----》结束。




注意事项:

1.在输入的时候一定要注意区分大小写。

2.操作之前要保证自己的电脑配置了java的运行环境。

JAVA代码编译的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA代码编译、JAVA代码编译的信息别忘了在本站进行查找哦。

java代码编译(JAVA代码编译)

本文编辑:admin

更多文章:


协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

最近更新

majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表