Sunhcer 最近的时间轴更新
Sunhcer

Sunhcer

V2EX 第 550532 号会员,加入于 2021-07-10 10:28:51 +08:00
Sunhcer 最近回复了
@lazyfighter 接口平台网关那边不走请求头鉴权,就不想给加,所以想直接在业务代码这边处理,比如,比如搞个 filter 识别特定 URL 增加请求头嘛
@night98 在业务层实现一个 filter 吗
@weivi 同一种来源的数据在不同阶段的不同呈现,这样说更准确; 来源上是一样,但数据不一样:打个比喻就像是,一个是带占位符的短信模板,一个是填充好的短信
@ikas 厉害了,我在这里找到一句话似乎可以终结疑问;
https://docs.oracle.com/javase/specs/jvms/se18/html/jvms-5.html

The Java Virtual Machine maintains a run-time constant pool for each class and interface (§2.5.5).
Java 虚拟机为每个类和接口维护一个运行时常量池; 那就是独立的喽
大佬,喝冰可乐!
@weivi 是不同的,我跟倾向于这种说法:
class 文件常量池存储的是当 class 文件被 java 虚拟机加载进来后存放在方法区的一些字面量和符号引用,字面量包括字符串,基本类型的常量。
运行时常量池是当 class 文件被加载完成后,java 虚拟机会将 class 文件常量池里的内容转移到运行时常量池里,在 class 文件常量池的符号引用有一部分是会被转变为直接引用的。
@weivi 类文件常量池跟运行时常量池不同吧
@JasonLaw 感谢回复,我浏览了对于方法区的描述,这个版本的描述是否适用于 jdk8 呢?按文档的说法,常量在方法区,8 中方法区的实现是元空间,那就是说运行时常量池还是在元空间的嘛

@xuanbg 权威,看不太懂,我这样阐述是否有问题呢?元空间内存角度上是一片动态扩展的内存区域,不同的类加载器在这片内存空间划分各自的领域,同一个类加载器加载的 class 元空间都在同一片区域,但是这里没有找到关于运行时常量池的描述,依旧不确定是一个还是多个
@xuanbg 我可以参考什么文献来证实这种说法吗?其实对于运行时常量池在堆区还是元空间也比较迷惑
6 楼猜想错了,参考《深入剖析 Java 虚拟机:源码剖析与实例详解(基础卷)》初步验证了 3 楼大佬的说法
研究了一波 class ,就整个 class 体系而言,(对普通类型而言) IntanceKlass 持有元信息和 class 对象,而真正的类对象 =java 代码中获取到类对象 InstanceMirrorKlass ,是存放在堆区的, 然后实例对象 oop 也是存放在堆区,这样说才准确吧?
@zmal
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1267 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 18:00 · PVG 02:00 · LAX 10:00 · JFK 13:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.