java从源代码到运营 java源代码的编译和运行指令是

简述Java应用程序的开发流程Java应用程序java从源代码到运营的运行经过编写、编译、运行三个步骤 。
第1步java从源代码到运营,编写程序 。使用记事本或其他软件编写程序的源代码java从源代码到运营,将源代码保存为文件filename.java文件 。
第2步,编译程序 。在MS-DOS命令窗口,将当前目录转换到Java源程序所在的保存目录;输入“javac filename.java”形式的命令进行程序编译 。
第3步 , 执行程序 。在同样的命令窗口中输入“java filename”形式的命令执行程序 。
完成了程序的开发,查看相应t目录 , 其中应该具有两个文件,分别是XXXX.java和XXXX.class 。
如果是开发网页应用,开发流程大概是这样的:
搭建开发平台,一般使用的是j2ee
编写DAO层,建立数据库
编写业务层action
编写显示文件jsp、html
java程序运行的五个步骤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程序得到Main.class文件后 , 在命令行上敲java Main 。系统就会启动一个jvm进程,jvm进程从classpath路径中找到一个名为Main.class的二进制文件,将Main的类信息加载到运行时数据区的方法区内,这个过程叫做Main类的加载 。
然后JVM找到Main的主函数入口,开始执行main函数 。
main函数的第一条命令是Animalanimal = new Animal("Puppy");就是让JVM创建一个Animal对象 , 但是这时候方法区中没有Animal类的信息,所以JVM马上加载Animal类 , 把Animal类的类型信息放到方法区中 。
加载完Animal类之后,Java虚拟机做的第一件事情就是在堆区中为一个新的Animal实例分配内存, 然后调用构造函数初始化Animal实例,这个Animal实例持有着指向方法区的Animal类的类型信息(其中包含有方法表 , java动态绑定的底层实现)的引用 。
当使用animal.printName()的时候,JVM根据animal引用找到Animal对象 , 然后根据Animal对象持有的引用定位到方法区中Animal类的类型信息的方法表,获得printName()函数的字节码的地址 。
开始运行printName()函数 。
java基础面试题有哪些?下面是10道java基础面试题,后附答案
1.什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程 。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件 。
【java从源代码到运营 java源代码的编译和运行指令是】Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译 。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性 。
2.“static”关键字是什么意思?Java 中是否可以覆盖(override)一个 private 或者是static 的方法?
“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问 。
Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编译时静态绑定的 。static 方法跟类的任何实例都不相关,所以概念上不适用 。
3.JDK 和 JRE 的区别是什么?
Java 运行时环境(JRE)是将要执行 Java 程序的 Java 虚拟机 。它同时也包含了执行 applet 需要的浏览器插件 。Java 开发工具包 (JDK)是完整的 Java 软件开发包,包含了 JRE,编译器和其他的工具(比如:JavaDoc,Java 调试器),可以让开发者开发、编译、执行 Java 应用程序 。
4.是否可以在 static 环境中访问非 static 变量?
static 变量在 Java 中是属于类的,它在所有的实例中的值是一样的 。当类被 Java 虚拟机载入的时候,会对 static 变量进行初始化 。如果你的代码尝试不用实例来访问非 static 的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上 。
5.Java 支持的数据类型有哪些?什么是自动拆装箱?
Java 语言支持的 8 中基本数据类型是:
?byte
?short
?int
?long
?float
?double
?boolean
?char
自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化 。比如:把 int 转化成 Integer,double 转化成 double , 等等 。反之就是自动拆箱 。
6.Java 支持多继承么?
不支持,Java 不支持多继承 。每个类都只能继承一个类,但是可以实现多个接口 。
7.Java 中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?
当新对象被创建的时候,构造函数会被调用 。每一个类都有构造函数 。在程序员没有给类提供构造函数的情况下,Java 编译器会为这个类创建一个默认的构造函数 。
Java 中构造函数重载和方法重载很相似 。可以为一个类创建多个构造函数 。每一个构造函数必须有它自己唯一的参数列表 。
Java 不支持像 C中那样的复制构造函数 , 这个不同点是因为如果你不自己写构造函数的情况下,Java 不会创建默认的复制构造函数 。
8.Java 中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
Java 中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况 。与此相对,方法覆盖是说子类重新定义了父类的方法 。方法覆盖必须有相同的方法名 , 参数列表和返回类型 。覆盖者可能不会限制它所覆盖的方法的访问 。
9.接口和抽象类的区别是什么?
Java 提供和支持创建抽象类和接口 。它们的实现有共同点,不同点在于:
?接口中所有的方法隐含的都是抽象的 。而抽象类则可以同时包含抽象和非抽象的方法 。
?类可以实现很多个接口 , 但是只能继承一个抽象类
?类如果要实现一个接口,它必须要实现接口声明的所有方法 。但是,类可以不实现抽象类声明的所有方法 , 当然,在这种情况下,类也必须得声明成是抽象的 。
?抽象类可以在不提供接口方法实现的情况下实现接口 。
?Java 接口中声明的变量默认都是 final 的 。抽象类可以包含非 final 的变量 。
?Java 接口中的成员函数默认是 public 的 。抽象类的成员函数可以是 private , protected 或者是 public 。
?接口是绝对抽象的,不可以被实例化 。抽象类也不可以被实例化,但是 , 如果它包含 main 方法的话是可以被调用的 。
10.什么是值传递和引用传递?
对象被值传递,意味着传递了对象的一个副本 。因此,就算是改变了对象副本,也不会影响源对象的值 。
对象被引用传递 , 意味着传递的并不是实际的对象,而是对象的引用 。因此,外部对引用对象所做的改变会反映到所有的对象上 。
最后祝你面试顺利!
关于java从源代码到运营和java源代码的编译和运行指令是的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读