Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

第三版7.3.3节272页勘误 #75

Closed
super9du opened this issue Oct 11, 2020 · 2 comments
Closed

第三版7.3.3节272页勘误 #75

super9du opened this issue Oct 11, 2020 · 2 comments

Comments

@super9du
Copy link

原文 Page 272 第一段最后一行:

这时候「类变量在方法区」...[此处省略]...笔者已在4.3.1节介绍并验证过。

此处「4.3.1节」有误,不知是否指的是 2.2.5 节部分中的内容。

另外,以「第三次重印版修正」为标准(我使用的是第三次重印版),在本段第二行中原文写到:

而在 JDK 8 及之后,类变量则会随着 Class 对象一起存放在 Java 堆中

根据前述 2.2.5 节描述的内容,方法区用于存储静态变量等数据。JDK 8 中使用元空间实现方法区,而元空间在堆外。在46页,第三段,倒数第四行中有一句描述:「到了JDK7的HotSpot,已经把原本放在永久带的字符串常量池、静态变量等移出」。该句描述并未清除提及移出到哪一确切位置,是否可以认为是都被移出到了堆中?如果是,则建议一并更改 46 页此处描述为:「到了JDK7的HotSpot,已经把原本放在永久带的字符串常量池、静态变量等移出至堆内存中」。

@super9du super9du changed the title Page 272 所述章节勘误 第三版7.3.3节272页勘误 Oct 11, 2020
@super9du
Copy link
Author

super9du commented Oct 11, 2020

在 issue #27 中有提到过该问题,4.3.1节确实也提到过(由于以为主要讲解JVM中工具的使用,所以之前没有细看,没想到会涉及这方面内容)。但仍然希望周老师可以把 46 页中「到了JDK7的HotSpot,已经把原本放在永久带的字符串常量池、静态变量等移出」更改为「到了JDK7的HotSpot,已经把原本放在永久带的字符串常量池、静态变量等移出至堆内存中」。这样更为清楚和醒目。

@fenixsoft
Copy link
Owner

感谢建议。
已更新至勘误。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants