jvm:java代码是如何运行的

文章详情

jvm:java代码是如何运行的

从虚拟机的视角来看,执行java代码首先需要将它编译而成的class文件加载到java虚拟机中。加载后的java类会被存放在方法区中。实际运行时,虚拟机会执行方法区的代码。

在运行过程中,每当调用进入一个java方法,java虚拟机会在当前线程的java方法栈中生成一个栈帧,用以存放局部变量以及字节码的操作数。jvm:java代码是如何运行的这个栈帧的大小是提前计算好的,而且java虚拟机不要求栈帧在内存空间里连续分布。

在hotspot里面,上述翻译过程有两种形式:第一种是解释执行,即逐条将字节码翻译成机器码并执行;第二种是即时编译(JIT),即将一个方法包含的所有字节码编译成机器码后再执行。

编写一个java程序,从键盘输入整数n,

用冒泡排序
int[] arr = {23,12,3,45,25,46,75,15,12,52};

for(int i=arr.length-1;i>=0;i–){
for(int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}

开发java程序时为什么代码没错却运行不

由于你没有给代码的截图,所以我无法直接为你分析问题所在。但是既然这个回答是没有其它人的,我就简单的帮你分析一下。

一:环境问题

jdk没有配置好啊,所需要的jar文件没有引入,运行配套环境没有启动,IDE的设置问题,或者系统存在一些未知的功能性问题,都有可能导致此类情况。你所说的代码没错,不知道是代码没有错,还是运行没有报错。如果是代码没有错的话,优先考虑这个原因。

二:代码问题

如果运行过程没有报错,却又运行不起来,你考虑是否为代码中存在逻辑错误,因为除了明显的语法错误之外,很多的bug其实是不会报错的,只是最终无法呈现相应的功能。

好像也就这些了,希望可以帮到你。

依次输入五句话,然后将它逆序输出!求标准

代码示例:

import java.util.Scanner;

public class A01 {

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner (System.in);

System.out.println( “请输入5句话:” );

String[] names = new String [ 5 ];

for ( int i = 0 ; i < names.length; i++) {

System.out.print( “第” +(i+ 1 )+ “句话:” );

names[i]=input.next();

}

System.out.println( “逆序输出的5句话为:” );

for ( int i = names.length- 1 ; i >= 0 ; i–) {

System.out.println(names[i]);

}

}

}

jvm:java代码是如何运行的

发表评论
暂无评论

还没有评论呢,快来抢沙发~