
JVM
文章平均质量分 58
四猿外
微信公众号@四猿外。
你好,我是四猿外。
一家上市公司的技术总监,管理的技术团队一百余人。
我从一名非计算机专业的毕业生,转行到程序员,一路打拼,一路成长。
我会把自己的成长故事写成文章,把枯燥的技术文章写成故事。
展开
-
对学Java来说,JVM重要吗?
曾经,有个项目时不时总是会报错: java.lang.OutOfMemoryError: GC overhead limit exceeded 这个问题几个同事都没搞定,就来找我。我看了看,突然想起来,以前在官方调优指南《HotSpot Virtual Machine Garbage Collection Tuning Guide》看到过相关介绍。 JVM 本身内存不足就会运行 GC,但是如果每次 GC 回收的内存不够,那么很快就会开始下一次 GC。 JVM 有个默认的保护机制,如果发现在一个统计周期内,原创 2021-07-12 19:31:39 · 453 阅读 · 1 评论 -
资深程序员怎么学JVM?
资深程序员怎么学 这时候的你,已经开始承担项目开发中很重要的职责了,有些出色的朋友都开始带团队了。那这时候,你可能会做下面的事: 1. 合理规划项目使用资源 合理规划项目使用资源,前提是对垃圾回收有非常深入的了解。 如果说在新手期,已经对 Java 对象的内存分配和内存使用有了大致的概念,那么,这个垃圾回收,则是这类知识的进一步拓展。 只有理解了各种垃圾回收的原理,再配合着 Java 内存布局的基础知识,才能更好地规划出项目用什么回收算法,才能在合适的资源利用度上得到最佳性能。 比如,新生代和老年代之间的合原创 2021-07-12 19:29:33 · 90 阅读 · 0 评论 -
高级程序员怎么学JVM?
高级程序员怎么学 对处于这个阶段的朋友,他们已经可以熟练编写健壮的代码了,经常会独立开发出一个大的功能模块,有的可能还能独立开发出一个完整的小型项目。 这时候,他们可能会面临两种情况: 1. 需要写一些工具类给全团队使用 在这种情况下,你很可能就需要 Java 中的语法糖,因为语法糖能让你写出非常灵活简单的代码。这包括泛型,自动拆装箱,可变参数还有遍历循环。 但是,使用这些语法糖的时候,如果你不熟悉他们在 JVM 中的实现原理,就非常容易栽个大跟头, 比如: public class GenericPitf原创 2021-07-12 19:28:34 · 97 阅读 · 0 评论 -
初级程序员怎么学JVM?
初级程序员怎么学 对刚入行的新手程序员,工作一般是修复简单 bug、开发简单功能。如何编码少出 bug,是这个阶段的核心问题。 对于这个核心问题,JVM 原理必须深入掌握两个知识点。 1. 类的初始化 类的初始化,要了解的非常深入才可以。否则,一不留神就会往项目里引入一些有关初始化的 bug。 比如看看下面这段代码: public class ParentClass { private int parentX; public ParentClass() { setX(100)原创 2021-07-12 19:21:47 · 249 阅读 · 2 评论