jvm笔记2

一、常量池动态变化展示

java 复制代码
public static void main(String[] args) {

        System.out.println("0");
        System.out.println("1");
        System.out.println("2");
        System.out.println("3");
        System.out.println("4");
        System.out.println("5");
        System.out.println("6");
        System.out.println("7");
        System.out.println("8");
        System.out.println("9");

        System.out.println("0");
        System.out.println("1");
        System.out.println("2");
        System.out.println("3");
        System.out.println("4");
        System.out.println("5");
        System.out.println("6");
        System.out.println("7");
        System.out.println("8");
        System.out.println("9");
        
    }

对上面的代码进行debug,同时把idea右下角的Memery功能打开,刚开始每执行一步,String 对象就会加1,说明刚开始每执行一步都会创建一个String对象。当开始执行第二遍的时候,String对象的个数不再增加,说明第二遍执行的时候不再创建创建String对象,而是直接把第一遍执行时放入串池的对象拿过来。

二、通过反编译来理解常量池

三、虚拟机站的详解

相关推荐
电子云与长程纠缠2 小时前
Godot学习02 - 输入
java·学习·godot
LSL666_2 小时前
IService——使用和新增
java·开发语言·mybatisplus
sjmaysee2 小时前
@RestController注解
java
魑魅魍魉都是鬼2 小时前
Android:java kotlin 单例模式
android·java·单例模式
WG_172 小时前
Linux44:POSIX信号量:
java·开发语言
WZTTMoon2 小时前
Spring Boot 启动报错:OpenFeign 隐性循环依赖,排查了整整一下午
java·spring boot·后端·spring cloud·feign
苏渡苇2 小时前
Stream.collect() 的花式玩法:Collector.of() 自定义收集器
java·stream·jdk21·collector·jdk8+·自定义收集器
丶小鱼丶2 小时前
数据结构和算法之【队列】
java·数据结构
菜鸡儿齐5 小时前
Unsafe方法学习
java·python·学习