1. Java语言的跨平台性与字节码概述
发布于 2022年 04月 10日 10:44
Java是一种强类型,静态编译的语言。
跨平台性与字节码
Java编写的代码是通过JVM(Java Virtual Machine)作为桥梁,运行在不同的平台上。
什么是字节码?一个字节是由八个二进制位组成的,每位有1和0两个数字,最大可以表示255。Java为了实现跨平台性,在每个平台上实现了一个JVNM,为JVM开发的统一的标准化语言叫字节码。字节码就是由字节组成的。
这就像每个国家(系统)都有自己的语言,为了让这个国家的人理解你的语言,你就需要从每个国家找个懂英语的人(jvm),将英语(byte code)翻译成他们国家的语言,JVM就是这样的存在。
将Java代码转换成字节码的过程称为编译,在这个过程中会检查出代码的错误,如果出现错误,我们编写的代码就不会被编译成字节码。
Java的基本单元-类与包
Java最基本的结构就是类。
// public 是限定符
public class Cat {
}
java的默认包是src/main/java
。
package my.cute; // src/main/java/my/cute;
public Class Cat{ //
}
按照约定 Cat应该位于 src/main/java/com/xxxx/Cat
中,即类名与文件名相同。
包的意义
类的名字是一个简单的字符串,为了避免重名,用包来区分它们。在代码的实际运行过程中,有的是全限定类名,而没有类这个东西。在不同的包下面可能有相同的文件名(类名)。JVM的工作就是按照类名去查找类,然后执行类中的代码。在JVM中没有简单的类名--Cat
,全部是全限定类名--com.xxx.yyy.myClass
。
放在java.lang下的文件可以不需要引入而直接使用。 引入第三方包直接搜索包名 + maven,选择版本后复制maven对应的代码,放入pom中即可,
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>