小编V.S*_*.S.的帖子

JVM保存有关引用和对象类型的信息

我正在努力加深我对Java内存模型和JVM的了解.

基本概念很简单,但我无法理解JVM在哪里保存有关基元,对象和引用的类型的信息.

例如1.我们有变量int i = 0.这个值存储在线程的堆栈中.这只是一个4字节,在RAM或/和CPU缓存中包含值0x0000.但它不包含任何有关其类型的信息.想象一下,您可以直接访问内存中的这些字节.你不能确定它是一个整数.据我所知,你不能对它的类型说什么.这只是4个字节的信息.

因此,JVM必须在其他地方保留关于其类型的一些信息,但JVM在何处以及如何保留它?

  1. 参考对象类A {}类B扩展A {}

一个obj = new B();

在这种情况下,我们有这样的事情:

| 堆栈| | HEAP | | PermGen的|

"引用"---->"对象""A","B".

引用位于堆栈中,类型为"A",但引用仅包含存储"对象"的信息.它有8字节(如果JVM使用少于32GB,可以压缩到4byte).它没有关于这8个字节中的类型的任何信息.

"对象"位于堆中,类型为"B".我不知道它是否有关于其类型的任何信息......

  1. 参考泛型.List list = new ArrayList <>(); JVM在何处以及如何保存有关对象和引用的每种类型的信息?

我希望有人能说清楚..

java jvm java-memory-model

5
推荐指数
1
解决办法
750
查看次数

如何从命令行启动 fiddler 作为 https 代理?

我需要自动启动 fiddler 来解析 https 请求。

如何强制提琴手在没有 GUI 的情况下生成和使用 ssl 证书?有谁知道 fiddler 在哪里存储其证书?我可以生成自己的服务器证书并将其设置为没有 GUI 的 fiddler 吗?

我可以在退出模式下启动提琴手。我可以通过注册表项启用 https,但 fiddler 启动时没有 ssl 证书。我可以使用 makecert.exe 创建证书,但我不知道如何将其设置为没有 UI 的 fiddler 的活动证书。

如果有人帮助我解决它,我会非常感激。

ssl https fiddler

3
推荐指数
1
解决办法
1298
查看次数

标签 统计

fiddler ×1

https ×1

java ×1

java-memory-model ×1

jvm ×1

ssl ×1