首页 > 后端开发 > 正文

简述java程序运行机制 简述传统语言与JAVA语言的不同运行机制?

2024-06-27 07:53:57 | 我爱编程网

最近经常有小伙伴私信询问简述java程序运行机制 简述传统语言与JAVA语言的不同运行机制?相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

简述java程序运行机制 简述传统语言与JAVA语言的不同运行机制?

Java运行机制。

java的运行流程

一,我们所看不到的:

1,如果java文件没有package,就默认给文件加上"无名"package;

2,默认导入java.lang包,所以我们的java程序中可以使用Sting,Math,Integer等类,包括一些异常类;

3,如果生成的类没有父类,则为这个类隐式加上父类:Object;因此,包括Object中的许多方法可以使用;

4,字段的初始化;

二,我们所看的到的:

既然看的到,就先看程序运行结果:

public class JRun1 {

public JRun1() {

System.out.println(" 构造函数");

}

static

{

System.out.println("static{}");

}

{

System.out.println("{}");

}

public static void main(String[] args) {

System.out.println("main()");

}

}

运行结果:

static{}

main()

显然,程序运行时,先运行:

static

{

System.out.println("static{}");

}

再调用main();

注意: 我们可以得到一个副产品:不用main方法也能运行的程序:

public class JRun1 {

static

{

System.out.println("no main()");

System.exit(0);

}

}

如果我们在类中建立一个对象:

public class JRun1 {

public JRun1() {

System.out.println(" 构造函数");

}

static

{

System.out.println("static{}");

}

{

System.out.println("{}");

}

public static void main(String[] args) {

System.out.println("main()");

new JRun1();

}

}

运行结果:

static{}

main()

{}

构造函数

从而,我们得出:

建立一个非主类对象,顺序为:静态初始化块static{}-->初始化块{}-->构造函数constructor;

那么,牵涉到继承,运行流程又如何?

看程序:

class JRun1Father{

JRun1Father(){我爱编程网

System.out.println("父类构造函数");

}

static{

System.out.println("父类静态初始化块");

}

{

System.out.println("父类初始化块");

}

}

public class JRun1 extends JRun1Father{

public JRun1() {

System.out.println("子类构造函数");

}

static

{

System.out.println("子类静态初始化块");

}

{

System.out.println("子类初始化块");

}

public static void main(String[] args) {

//System.out.println("主方法)");

new JRun1();

}

}

运行结果:

父类静态初始化块

子类静态初始化块

父类初始化块

父类构造函数

子类初始化块

子类构造函数

所以,牵涉到父类:父静态-->子静态-->父初始化及构造-->子初始化及构造;

注意:初始化块和构造是接连运行的,不会父类子类交替.

简述java程序运行机制 简述传统语言与JAVA语言的不同运行机制?

简述JAVA的工作机制?

java的跨平台即跨操作系统的平台,也就是说你写的java程序不需要修改就可以在不同的操作系统上运行windows,linux,unix,当然有个前提就是你的操作系统必须有java环境了,即安装了对应的jdk。应为java程序编译成class文件都交给JVM来处理了。\x0d\x0a\x0d\x0a在java之前,跨平台是很痛苦的事情,主要是因为所有对于系统的调用,在不同的操作系统下结果都不一样,简单的来说,int的长度在不同操作系统里面就不一样,甚至于连字节排列的顺序都不同。调用同一个函数返回的格式也不同,因此,写程序的人自己要对不同的系统非常了解,如果真的需要对不同操作系统进行兼容,要在程序里面写很多if,编译的时候要先判断使用的操作系统,创造很多环境变量才能编译,而且编译好的二进制可执行文件只能在本系统上运行。如果你写的是个功能库供别人调用的,那么光对操作系统的判断就占了代码的绝大部分,而且,还要你在不同平台下进行测试,这可是个艰苦卓绝的工作。\x0d\x0a\x0d\x0a自从有了java之后,就把操作系统兼容的工作丢给了jvm了,对于程序员来说就再也不要关心int有几位,还有高位在前还是地位在前的问题了,你只要用java的代码把你程序的逻辑实现出来就可以了,这些兼容的问题就交给jvm去处理吧。这样,如果你写一个程序交付给客户使用,如果客户的环境是运行AIX的,你就不需要在本地也装一个AIX来开发和运行,你可以在windows上完成所有的开发,然后把编译好的文件交给客户就可以了,以后有别的客户需要在Solaris上运行这个程序,你都不用修改,直接拿过去就可以运行,很方便!只有被跨平台开发折磨过的人才能更深得体会到用java开发跨平台应用的优势。

简述java程序运行机制 简述传统语言与JAVA语言的不同运行机制?

简述传统语言与JAVA语言的不同运行机制?

我爱编程网(https://www.52biancheng.com)小编还为大家带来简述传统语言与JAVA语言的不同运行机制?的相关内容。

Java程序是运行在虚拟机上的,即JVM,Java源代码被编译为字节码后,就可运行,不同平台安装了JVM,都可以运行同一个程序,这也叫跨平台。

传统语言,比如说C++的ANSI C++程序,是编译为机器码,直接在本机运行的。不过现在也有了CLR。

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“简述java程序运行机制 简述传统语言与JAVA语言的不同运行机制?”相关推荐