doocs / jvm Goto Github PK
View Code? Open in Web Editor NEW🤗 JVM 底层原理最全知识总结
Home Page: https://doocs.github.io/jvm
License: Creative Commons Attribution Share Alike 4.0 International
🤗 JVM 底层原理最全知识总结
Home Page: https://doocs.github.io/jvm
License: Creative Commons Attribution Share Alike 4.0 International
第一节——JVM 内存结构
Java 虚拟机栈的栈顶的栈帧是当前正在执行的活动栈,也就是当前正在执行的方法,PC 寄存器也会指向这个地址。只有这个活动的栈帧的本地变量可以被操作数栈使用,当在这个栈帧中调用另一个方法,与之对应的栈帧又会被创建,新创建的栈帧压入栈顶,变为当前的活动栈帧。
对于上述引用中被加粗的地方,如果要使用静态变量怎么办呢?
周志明老师的描述:
如果当前新生代的 Survivor 中,相同年龄所有对象大小的总和大于 Survivor 空间的一半,年龄 >= 该年龄的对象就可以直接进入老年代,无须等到 MaxTenuringThreshold 中要求的年龄。
实际上,经过测试的结论:
如果当前新生代的Survivor中,年龄小到大(1,2,3,4,5,N)的对象所有对象的大小总和大于Survivor空间的一半,年龄N >=该年龄的对象就可以直接晋升到老年代,无须等到MaxTenuringThreshold中要求的年龄。
可以打一个PDF版本吗
详细的图示和文档说明 并且标出了参考的官方规范地址便于查证
截图:
jvm调优能不能在多讲一些具体的调优步骤,最好可以举例说明,这样就完美了。 哈哈哈
重新标记阶段是用来标记并发标记阶段无法确定的垃圾,CMS无法处理浮动垃圾(并发标记阶段产生的垃圾)也是它的弊端之一
https://github.com/doocs/jvm/blob/master/docs/08-load-class-time.md
newarray 创建基本类型数组
anewarray 创建引用类型数组
https://github.com/doocs/jvm/blob/master/docs/09-load-class-process.md
从网络中获取,如 “Applect ”--> Applet ?
通过动态代理“计数”生成代理类的二进制字节流 --> 技术?
但这两个阶段的开始“实践”仍然保持着固定的先后顺序。 --> 时间?
讲原理的都能看懂,能不能开一个讲JVM源码系列的呢,有实战内容的
大佬,请问CMS 标记阶段为什么会需要STW?
弱引用的强度比软引用更弱一些。当 JVM 进行垃圾回收时,无论内存是否充足,都会回收被软引用关联的对象。
应为:“都会回收只被弱引用关联的对象。”
标记的是存活对象,而不是需要清除的对象。
清除的是没有被标记的
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.