Java基础-1
作者:互联网
1:java为什么能跨平台;
- Java之所以能跨平台,是因为java虚拟机(JVM)能跨平台。
- 因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。
- 因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在java虚机(简称JVM)上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。
2:java字节码是什么?
- Java字节码是Java虚拟机执行的一种虚拟指令格式。
- Java 字节码(英语:Java bytecode)大多数操作码都是一个字节长,而有些操作需要参数,导致了有一些多字节的操作码。而且并不是所有可能的256个操作码都被使用;其中有51个操作码被保留做将来使用。除此之外,原始Java平台开发商,升阳微系统,额外保留了3个代码永久不使用。
- 开头:magic
- 被称为“魔数”,用来标识.class文件的开头。所有合法的.class字节码都应该是该数开头,占4个字节。
- ajor_version.minor_version
- 形成当前.class文件的版本号,一般由编译器产生,由sun定义,占4个字节。
- CONSTANT_Class_info
- 记录class或interface名
3:java编写程序的步骤?
- 编写源文件
- 保存源文件
- 编译源文件
- 运行程序
4: JDK包含哪些内容?
- JDK :Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment),Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
- JRE:Java Runtime Environment,它为Java提供了运行环境,其中重要的一环就是通过JVM将字节码解释成可执行的机器码。JRE由JVM,Java运行时类库,动态链接库等组成。
5: JVM 是什么?
- JVM:Java Virtual Machine,Java虚拟机,一台抽象化的计算机,包括处理器、堆栈 、寄存器等。
6: javac是什么?
- javac 是java语言编程编译器。全称java compiler。javac工具读由java语言编写的类和接口的定义,并将它们编译成字节码的class文件。javac 可以隐式编译一些没有在命令行中提及的源文件。用 -verbose 选项可跟踪自动编译。当编译源文件时,编译器常常需要它还没有识别出的类型的有关信息。对于源文件中使用、扩展或实现的每个类或接口,编译器都需要其类型信息。这包括在源文件中没有明确提及、但通过继承提供信息的类和接口。
7: 主类是什么?有哪两个要求?
- 类的名字和文件名一致,并且包含main函数的类,叫做主类。
- 一个文件至少包含一个类,则这个类的名字必须要和文件名一致。如果有多个类,则必须有一个类名和文件名一致。
- 这个文件的名字是Demo.java,包含两个类:Demo 和 Demo2
1 2 3 4 5 6 7 8 9 10 11 |
class Demo{
public static void main(String[] args) {
System.out.println( "123" );
}
}
class Demo2{
public static void main(String[] args) {
System.out.println( "abc" );
}
}
//运行结果是:123
|
Demo和Demo2都有main方法,但是虚拟机Jvm执行Demo里的main函数,而不执行Demo2里的main函数,所以Demo是主类。
8: JVM 运行java字节码的时候,怎么找到程序入口的?
- 运行入口主类
- 找到主类中的main函数执行,如果找不到报错。
9: 使用命令行,编译与运行java程序;
- 输入 javac 文件名.java 回车 进行编译,如果一切顺利,你会发现你的文件夹下生成了一个.class文件
- 然后接着输入 java 文件名 回车 就会出现运行结果。
10: 使用eclips 编译与运行HelloWorld 程序;
标签:Java,字节,虚拟机,基础,JVM,java,class 来源: https://www.cnblogs.com/igeeknerd/p/16698509.html