Java运行时常量池存放以下内容:
字符串常量:Java中的字符串常量(例如:“Hello, World!”)被存放在常量池中,以便在程序中重复使用。
类和接口的全限定名:在Java程序中,每个类和接口都有一个全限定名,它们被存放在常量池中。
运行时常量:包括基本数据类型的常量(例如:int、float、double、boolean等)以及其对应的包装类的常量(例如:Integer、Float、Double、Boolean等)。
符号引用:类、接口、字段和方法的符号引用(例如:类的全限定名、字段名、方法名等)被存放在常量池中,用于在运行时解析对应的实体。
字面量:一些常用的字面量(例如:整数、浮点数、字符、布尔值等)被存放在常量池中,以便在程序中重复使用。
需要注意的是,Java运行时常量池是在编译期确定的,它与Java虚拟机规范中定义的class文件常量池有所区别。在类加载过程中,class文件中的常量池会被加载到运行时常量池中,并进行一些处理和优化。