final修饰,java内存模型,基本数据类型,数据类型的转化

Java基础学习2.26

final修饰(类,方法,变量)

修饰类的时候这个类
修饰方法的时候这个方法
修饰变量的时候这个变量

int num;
int num = 1;
final num = 1;
JMM :java内存模型(栈内存、堆内存)

基本类型变量存放在栈内存中,引用类型(除了基本数据之外的类型)存放在栈内存+堆内存中

变量的作用:给记忆的值去一个别名,方便查找

在int num = 1的时候,java会给1分配一个16进制的地址保存在栈内存中,在取值的时候会通过内存地址来取出相应的值

new 出来的对象是保存在堆内存里面的

new People(1,"Tom")

代码用例:

package com.smartsignlanguage.utils.nanfeng;

public class test {
    public static void main(String[] args) {
        int num1 = 1;
        long num2 = 100;
        People people = new People("张三", 18);
        System.out.println(num1);
        System.out.println(num2);
        System.out.println(people);
    }
}

package com.smartsignlanguage.utils.nanfeng;

public class People {
    private int age;
    private String name;

    public People(String name, int age) {
        this.name = name;
        this.age = age;
    }

}

输出结果:

默认输出toString()的结果:继承了父类的方法

Integer.toHexString(hashCode()):获取hash内存地址

//父类Object的toString方法
public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

在这里插入图片描述

如果想输入它所包含的内容可以重写toString()方法

 @Override
    public String toString() {
        return "People{" +
                "age=" + age +
                ", name='" + name + '\'' +
                '}';
    }

输出:

在这里插入图片描述

相关JMM 示例图:

在这里插入图片描述

基本数据类型
Java八大基本数据类型:

(1)整数类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)
(2)小数类型:float(4字节)、double(8字节)
(3)字符类型:char(2字节)
(4)布尔类型:boolean(1/8字节),则就是 0或者1

根据数据类型的大小在栈内存开辟相应的空间

1 byte :8个二进制数字,so? 1 byte = 8 bit

1 kb = 1024 byte

1 mb = 1024 kb

1 gb = 1024 mb

1 tb = 1024 gb

1 byte 8 位二进制数

数据类型的转化
自动类型转化

规则:只能从小到大转化

//从小到大转化
int num = 1;
long num1 = num;
强制类型转化(会存在精度损失)
long num = 1;
int num1 = (int)num;
posted @ 2025-02-26 10:08  述雾学java  阅读(4)  评论(0)    收藏  举报  来源