java程序运行的五个步骤

java程序运行的五个步骤,第1张

1、Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode)  2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( "semi-interpreted" language)。

第一步(编译): 创建完源文件之后,程序会先被编译为class文件。Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点像make。如果java编译器在指定目录下找不到该类所其依赖的类的class文件或者java源文件的话,编译器话报“cant find symbol”的错误。

      编译后的字节码文件格式主要分为两部分:常量池和方法字节码。常量池记录的是代码出现过的所有token(类名,成员变量名等等)以及符号引用(方法引用,成员变量引用等等);方法字节码放的是类中各个方法的字节码。

第二步(运行):java类运行的过程大概可分为两个过程:1、类的加载  2、类的执行。需要说明的是:JVM主要在程序第一次主动使用类的时候,才会去加载该类。也就是说,JVM并不是在一开始就把一个程序就所有的类都加载到内存中,而是到不得不用的时候才把它加载进来,而且只加载一次。

2、下面是程序运行的详细步骤:

在编译好java程序得到Mainclass文件后,在命令行上敲java Main。系统就会启动一个jvm进程,jvm进程从classpath路径中找到一个名为Mainclass的二进制文件,将Main的类信息加载到运行时数据区的方法区内,这个过程叫做Main类的加载。

然后JVM找到Main的主函数入口,开始执行main函数。

main函数的第一条命令是Animal  animal = new Animal("Puppy");就是让JVM创建一个Animal对象,但是这时候方法区中没有Animal类的信息,所以JVM马上加载Animal类,把Animal类的类型信息放到方法区中。

加载完Animal类之后,Java虚拟机做的第一件事情就是在堆区中为一个新的Animal实例分配内存, 然后调用构造函数初始化Animal实例,这个Animal实例持有着指向方法区的Animal类的类型信息(其中包含有方法表,java动态绑定的底层实现)的引用。

当使用animalprintName()的时候,JVM根据animal引用找到Animal对象,然后根据Animal对象持有的引用定位到方法区中Animal类的类型信息的方法表,获得printName()函数的字节码的地址。

开始运行printName()函数。

比如说保存为"d:\java\testjava",然后转换目录到那里"cd

d:\java",编译这个java文件"javac

testjava"这个javac的命令一定要记住,这是jdk里面最为常用的之一,是个java的编译器,具体参数你自己研究吧,很多,配合使用会得到意想不到的结果。这时候应该在"d:\java\"目录下面生成了一个testclass文件,这个就是一个二进制文件,就像windows下面常见的exe文件一样,只不过这个二进制文件是java虚拟机的(具体java的运行机制书上都会讲,自己研究吧)。这样就可以运行了,"java

test",java是jdk的另一个最为常用的命令,启动java虚拟机,后面的参数书你的程序编译出来的class文件,但是千万别再后面加上"class",java命令也还是有很多的参数,还是自己看吧

Windows下装好JDK, 装好之后在JDK目录下有个bin夹文件,把bin文件夹的目录放到环境变量Path里然后进E盘 javac 文件名java编译成 文件名class文件,然后java 文件名 就可以了!!@!!

JDK环境变量图:

怎样运行自己编好的JAVA小程序?

写个DOS批处理,

javac NotepadJava

java Notepad

~~~~~~~~~~~~~~~~~~~~

怎样才能运行JAVA小程序?

JDK+记事本是最简单的 不过JDK需要配置环境变量之类的 要想方便的话用Myeclipse 参考下载地址 :chinesedocumentkaifagongju/Javabianjiqi/20070927/3837 安装完成直接编辑文件运行就ok

不能运行JAVA小程序!

当然还要你配置classpath!!!

1、JAVA需要什么样的环境变量,这些环境变量有什么作用?

JAVA程序能够顺利编译需要两个环境变量,一个是PATH(path),一个是CLASSPATH(classpath)。那么这两个环境变量代表什么呢?或者说究竟在JAVA程序编译中有什么作用呢?这就要涉及到WINDOWS的基本知识了。在WINDOWS环境中,每一条能用的指令都保存在硬盘的“某个角落”,比如说指令NOTEPAD(WINDOWS的记事本指令,在C:\WINNT目录下),那么在DOS命令提示符下直接输入NOTEPAD就可以打开记事本了。但是一旦我们把C:\WINNT目录下的NOTEPADEXE这个可执行文件移开(比如说我们现在把它“剪切”到D盘根目录下)我们再在DOS提示符下直接输入NOTEPAD时就无法再打开记事本了,但是我们在DOS下改变路径输入D:\NOTEPAD(或者先输入cd D: 在输入NOTEPAD也行)就可以打开记事本了。这就是说在我们直接输入NOTEPAD的时候,其实其默认路径就是C:\WINN。假设我们要运行一个JAVA程序(hellojava)就要先把它的class文件移动到JAVA里的bin目录下 然后打开DOS,把路径改到JAVA的BIN目录下 执行java helloclass,一次无所谓 但是每次都要这样去做未免太麻烦。还好WINDOWS提供了一个PATH环境变量,他的作用就是现在这个变量的值路径中去找,如果找到了要运行的EXE就运行,否则失败。如果我们把JAVA里的bin目录这个路径赋给path那么下次我在运行java这个命令的时候,即便是直接输入DOS也能够在path变量中找到JAVA的bin目录下的java指令了。

下面说说,classpath环境变量。不知道各位注意到没有,我上面说的那句话——“假设我们要运行一个JAVA程序(hellojava)就要先把它的class文件移动到JAVA里的bin目录下”,为什么要这样做呢?因为我们在用到java helloclass这条指令的时候,DOS不知道helloclass这个文件在哪里,他就先到当前目录中去找,如果找到就运行,否则失败。当然,如果说hellojava在D盘根目录下,你也可以用java D:\helloclass这条指令来运行,但是每次这样做也确实够麻烦。WINDOWS就提供了这样一个环境变量——classpath,如果没有就应该新建一个。我们把D:\这个路径赋值给classpath,那么下次在运行java hellojava的时候就先在当前目录中到,如果找到就运行,如果找不到就在classpath的值路径下去找,找到就运行,找不到就失败。

以上阐述了path和classpath两个环境变量的作用,如果设置好了。java的编译和运行就基本上没什么问题了。至于有些书上说的环境变量javahome初学阶段可以暂时不管它。

2、如何设置环境变量?

右击“我的电脑”,然后“属性”。在分页卡里选择“高级”,然后点击“环境变量”按钮,d出环境变量对话框。在下面的系统环境变量中找到path然后双击,在变量值中添加上JAVA的BIN目录的路径(其他的不要删哈,删了后悔不要怪我哟~~~),和其他的路径值用英文状态的;隔开。至于classpath我一般都没有设置,但是比如有些朋友喜欢规范一点,要把java文件全部放到一个文件夹中,比如说D:\javaexe,那么在classpath中加入;c:\jdk13\lib\toolsjar;c:\jdk13\lib\dtjar;D:\javaexe\这个路径。(注意:;c:\jdk13\lib\toolsjar;c:\jdk13\lib\dtjar;这三个不能少)

java小程序无法运行

win7可以运行这个

将文件保存为Ajava,然后放到D盘根目录

cmd中输入:

D:\>javac Ajava

D:\>java A 12 23 32 21

命令行输入的整数是:

12 23 32 21

命令行输入的整数升序排序后:

12 21 23 32

如何运行java小程序

先编写一个java小程序(applet)保存为 java

在dos中的文件目录下先编译javac java 生成class文件

接着编写一个含class文件的文件,如<<head<titleHelloWorldApplet</title<body<Applet code=HelloWorldAppletclass width=200 height=400

在dos中文件所在目录下appletviewer 即成功

java小程序不能运行

可能是java环境变量的问题,设置好了重新打开浏览器就行了。

正常情况下设置三种系统环境变量

JAVA_HOME={JDK安装目录} (注:一般这个系统中没有这个,需要自己建)

PATH=%JAVA_HOME%\bin; (注:指原来系统中PATH的内容)

classpath=;%JAVA_HOME%\lib (注:一般这个系统中没有这个,需要自己建)

设置完后,打开命令行

输入java -version

出现类似内容:

java version "150_06"

Java(TM) 2 Runtime Environment, Standard Edition (build 150_06-b05)

Java HotSpot(TM) Client VM (build 150_06-b05, mixed mode, sharing)

这种情况下JDK安装是没有问题的

如果运行不了你的东西,那应该是你写的程序上的问题

JAVA小程序的运行结果

没有运行结果……

但是,第一个里面,y = 9766,第二个,y = 3

关于java小程序的运行

只要电脑上装有JDK,就可以编译和运行java程序,一般java虚拟机都是win关盘自带的,所以只需要去sun下载jdk

配置好环境变量

在运行里面打开cmd

然后就可以做你要做的事情了

我运行java小程序出错

public打错成了pubilc

java小程序运行错误

file2 f2=new file2();

和 类名不同 要一致

你看看转换F的 时候有问题没

java并不可以直接编译成exe的可执行程序, java编译结果是class字节码文件,字节码文件的执行必须依赖于jvm

就算使用 jar2exe之类的工具将java程序打包成了exe可执行程序, 如果在一台没有装有jvm的电脑上,依旧是无法运行的

以上就是关于java程序运行的五个步骤全部的内容,包括:java程序运行的五个步骤、如何直接运行JAVA程序、怎样运行JAVA程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9507929.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存