Giter Site home page Giter Site logo

doocs / jvm Goto Github PK

View Code? Open in Web Editor NEW
10.2K 251.0 2.2K 64.44 MB

🤗 JVM 底层原理最全知识总结

Home Page: https://doocs.github.io/jvm

License: Creative Commons Attribution Share Alike 4.0 International

Java 100.00%
jvm java hotspot memory-allocation class gc doocs

jvm's Introduction

Java 虚拟机底层原理知识总结

license issues stars github gitee PRs Welcome open-source-organization

这里仅仅记录了一些笔者认为需要重点掌握的 JVM 知识点,如果你想更加全面地了解 JVM 底层原理,可以阅读周志明老师《深入理解 Java 虚拟机——JVM 高级特性与最佳实践(第 2/3 版)》全书。

清单

站点

本项目使用开源小工具 Gitee Pages Actions 实现站点的自动部署更新。

目前支持以下两个站点访问:

写作规范

参考《中文技术文档的写作规范

许可证

知识共享 版权归属-相同方式共享 4.0 国际 公共许可证


Doocs 社区优质项目

Doocs 技术社区,致力于打造一个内容完整、持续成长的互联网开发者学习生态圈!以下是 Doocs 旗下的一些优秀项目,欢迎各位开发者朋友持续保持关注。

# 项目 描述 热度
1 advanced-java 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。
2 leetcode 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解。
3 source-code-hunter 互联网常用组件框架源码分析。
4 jvm Java 虚拟机底层原理知识总结。
5 coding-interview 代码面试题集,包括《剑指 Offer》、《编程之美》等。
6 md 一款高度简洁的微信 Markdown 编辑器。
7 technical-books 值得一看的技术书籍列表。

公众号

Doocs 技术社区旗下唯一公众号「Doocs」​,欢迎扫码关注,专注分享技术领域相关知识及行业最新资讯。当然,也可以加我个人微信(备注:GitHub),拉你进技术交流群。



关注「Doocs」公众号,回复 JVM,即可获取本项目离线 PDF 文档,学习更加方便!

jvm's People

Contributors

actions-user avatar biubiue avatar dependabot[bot] avatar fossabot avatar imgbotapp avatar jiangshuangjun avatar joeminty avatar linnanc avatar monkeywithacupcake avatar oliverwqcwrw avatar tuodan avatar weloe avatar yang520-bye avatar yanglbme avatar yshuansong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jvm's Issues

CMS问题

大佬,请问CMS 标记阶段为什么会需要STW?

JVM 内存结构中的疑问

第一节——JVM 内存结构

Java 虚拟机栈的栈顶的栈帧是当前正在执行的活动栈,也就是当前正在执行的方法,PC 寄存器也会指向这个地址。只有这个活动的栈帧的本地变量可以被操作数栈使用,当在这个栈帧中调用另一个方法,与之对应的栈帧又会被创建,新创建的栈帧压入栈顶,变为当前的活动栈帧。

对于上述引用中被加粗的地方,如果要使用静态变量怎么办呢?

弱引用表述不严谨

弱引用的强度比软引用更弱一些。当 JVM 进行垃圾回收时,无论内存是否充足,都会回收被软引用关联的对象。

应为:“都会回收只被弱引用关联的对象。”

jvm

jvm调优能不能在多讲一些具体的调优步骤,最好可以举例说明,这样就完美了。 哈哈哈

动态对象年龄判定这里的描述是有问题!

周志明老师的描述:
如果当前新生代的 Survivor 中,相同年龄所有对象大小的总和大于 Survivor 空间的一半,年龄 >= 该年龄的对象就可以直接进入老年代,无须等到 MaxTenuringThreshold 中要求的年龄。
实际上,经过测试的结论:
如果当前新生代的Survivor中,年龄小到大(1,2,3,4,5,N)的对象所有对象的大小总和大于Survivor空间的一半,年龄N >=该年龄的对象就可以直接晋升到老年代,无须等到MaxTenuringThreshold中要求的年龄。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.