java语言基础(零):jvm/jre/jdk、javac、基本数据类型、方法重载、数组与jvm内存划分

目录

一、JVM、JRE 和 JDK

  • JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
  • 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系 统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM 运行在操作系统上。
    java语言基础(零):jvm/jre/jdk、javac、基本数据类型、方法重载、数组与jvm内存划分
  • JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。(运行一个已有的Java程序)
  • JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
    我们想要开发一个全新的Java程序,那么必须安装 JDK 。
    java语言基础(零):jvm/jre/jdk、javac、基本数据类型、方法重载、数组与jvm内存划分
    小贴士: 三者关系: JDK > JRE > JVM

二、java程序编译过程

第一个java程序

public class HelloWorld { 
	public static void main(String[] args) { 
		System.out.println("Hello World!"); 
	} 
}

注意:类名与文件名相同

2.1 编译Java源文件

  • Java源文件的编译工具 javac.exe ,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目 录下使用。
    命令:javac Java源文件名.后缀名
  • 编译成功后,命令行没有任何提示。打开源文件所在目录,发现产生了一个新的文件源文件.class ,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。

2.2 运行Java程序

命令:java 类名字

2.3 编译和运行是两回事

  • 编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
  • 运行:是指将 class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。

三、基本数据类型

3.1 常量

' ':字符常量内部有且只能有一个字符,不能为空

3.2 变量

  • 整形Integer:byte/short/int(默认)/long,分别占用1/2/4/8个字节,
    注意:相比于c语言,多一个byte,少一个long long
  • 浮点型:float/double(默认),分别占用/4/8个字节,
  • 字符型:char,占用2个字节,注意c语言中占用1个字节
  • 布尔型:boolean,占用1个字节

3.3 数据类型转换

  • 自动转换:将 取值范围小的类型 自动提升为 取值范围大的类型
    一个 int 类型变量和一个 byte 类型变量进行加法运算, 结果会是什么数据类型?
  • 强制转换
    int i = 1.5会发生什么?产生编译失败,肯定无法赋值。

四、IDEA快捷键

创建好项目后再src中导入包,在包里面创建java文件
java语言基础(零):jvm/jre/jdk、javac、基本数据类型、方法重载、数组与jvm内存划分
在IDEA工具中, Ctrl+空格 的快捷键,可以帮助我们补全代码,但是这个快捷键和Windows中的输入法切换快捷 键冲突,需要修改IDEA中的快捷键。
File->Settings->keymap->Main menu->code->Completion->Basic
java语言基础(零):jvm/jre/jdk、javac、基本数据类型、方法重载、数组与jvm内存划分

五、方法与方法重载

5.1 方法与成员方法

普通方法:public static 方法(数据类型 参数)
成员方法:public 方法(数据类型 参数)

5.2 方法重载

指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关

  • 参数列表:个数不同,数据类型不同,顺序不同。
  • 重载方法调用:JVM通过方法的参数列表,调用不同的方法。

六、引用类型

6.1 数组

数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致

  • 三种创建方式:
    动态创建:数据类型[] 数组名字 = new 数据类型[长度];长度一旦指定,不可更改
    静态创建:数据类型[] 数组名字 = new 数据类型[]{元素1,元素2,元素3...};
    静态创建的省略写法:数据类型[] 数组名 = {元素1,元素2,元素3...};

6.2 Java虚拟机的内存划分

java语言基础(零):jvm/jre/jdk、javac、基本数据类型、方法重载、数组与jvm内存划分

6.3 数组内存图

java语言基础(零):jvm/jre/jdk、javac、基本数据类型、方法重载、数组与jvm内存划分

上一篇:kraft 使用说明机翻版


下一篇:el-table获取表头