自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 三 实战:第09讲:案例实战:面对突如其来的 GC 问题如何下手解决

本课时我们主要从一个实战案例入手分析面对突如其来的 GC 问题该如何下手解决。想要下手解决 GC 问题,我们首先需要掌握下面这三种问题。如何使用 jstat 命令查看 JVM 的 GC 情况? 面对海量 GC 日志参数,如何快速抓住问题根源? 你不得不掌握的日志分析工具。工欲善其事,必先利其器。我们前面课时讲到的优化手段,包括代码优化、扩容、参数优化,甚至我们的估算,都需要一些支撑信息加以判断。对于 JVM 来说,一种情况是 GC 时间过长,会影响用户的体验,这个时候就需要调整某些 J

2020-06-28 18:08:03 581 1

原创 二 垃圾回收:第08讲:案例实战:亿级流量高并发下如何进行估算和调优

本课时主要讲解如何在大流量高并发场景下进行估算和调优。我们知道,垃圾回收器一般使用默认参数,就可以比较好的运行。但如果用错了某些参数,那么后果可能会比较严重,我不只一次看到有同学想要验证某个刚刚学到的优化参数,结果引起了线上 GC 的严重问题。所以你的应用程序如果目前已经满足了需求,那就不要再随便动这些参数了。另外,优化代码获得的性能提升,远远大于参数调整所获得的性能提升,你不要纯粹为了调参数而走了弯路。那么,GC 优化有没有可遵循的一些规则呢?这些“需求”又是指的什么?我们可以将目标归结为三点

2020-06-27 23:19:18 578

原创 二 垃圾回收:第07讲:大厂面试题:有了 G1 还需要其他垃圾回收器吗?

本课时我们主要来看下这两个高频的面试考题:G1的回收原理是什么?为什么 G1 比传统 GC 回收性能好? 为什么 G1 如此完美仍然会有 ZGC?我们在上一课时,简要的介绍了 CMS 垃圾回收器,下面我们简单回忆一下它的一个极端场景(而且是经常发生的场景)。在发生 Minor GC 时,由于 Survivor 区已经放不下了,多出的对象只能提升(promotion)到老年代。但是此时老年代因为空间碎片的缘故,会发生 concurrent mode failure 的错误。这个时候,就需要降级为.

2020-06-27 21:16:48 886 2

原创 二 垃圾回收:第06讲:深入剖析:垃圾回收你真的了解吗?(下)

由于上一课时篇幅比较多,我们在这一课时重点讲解上一课时中提到的 CMS 垃圾回收器,让你可以更好的理解垃圾回收的过程。在这里首先给你介绍几个概念:Minor GC:发生在年轻代的 GC。 Major GC:发生在老年代的 GC。 Full GC:全堆垃圾回收。比如 Metaspace 区引起年轻代和老年代的回收。理解了这三个概念,我们再往下看。CMS 的全称是 Mostly Concurrent Mark and Sweep Garbage Collector(主要并发­标记­清除­垃圾收

2020-06-27 20:42:19 439

原创 二 垃圾回收:第06讲:深入剖析:垃圾回收你真的了解吗?(上)

本课时我们重点剖析 JVM 的垃圾回收机制。关于 JVM 垃圾回收机制面试中主要涉及这三个考题:JVM 中有哪些垃圾回收算法?它们各自有什么优劣? CMS 垃圾回收器是怎么工作的?有哪些阶段? 服务卡顿的元凶到底是谁?虽然 Java 不用“手动管理”内存回收,代码写起来很顺畅。但是你有没有想过,这些内存是怎么被回收的?其实,JVM 是有专门的线程在做这件事情。当我们的内存空间达到一定条件时,会自动触发。这个过程就叫作 GC,负责 GC 的组件,就叫作垃圾回收器。JVM 规范并没有规定垃圾回

2020-06-27 18:46:42 465

原创 二 垃圾回收:第05讲:大厂面试题:得心应手应对 OOM 的疑难杂症

在前面几个课时中,我们不止一次提到了堆(heap),堆是一个巨大的对象池。在这个对象池中管理着数量巨大的对象实例。而池中对象的引用层次,有的是很深的。一个被频繁调用的接口,每秒生成对象的速度,也是非常可观的。对象之间的关系,形成了一张巨大的网。虽然 Java 一直在营造一种无限内存的氛围,但对象不能只增不减,所以需要垃圾回收。那 JVM 是如何判断哪些对象应该被回收?哪些应该被保持呢?在古代,刑罚中有诛九族一说。指的是有些人犯大事时,皇上杀一人不足以平复内心的愤怒时,会对亲朋好友产生连带责任。诛

2020-06-27 17:24:22 610

原创 一 基础原理:第04讲:动手实践:从栈帧看字节码是如何在 JVM 中进行流转的

在上一课时我们掌握了 JVM 的内存区域划分,以及 .class 文件的加载机制。也了解到很多初始化动作是在不同的阶段发生的。但你可能仍对以下这些问题有疑问:怎么查看字节码文件? 字节码文件长什么样子? 对象初始化之后,具体的字节码又是怎么执行的?带着这些疑问,我们进入本课时的学习,本课时将带你动手实践,详细分析一个 Java 文件产生的字节码,并从栈帧层面看一下字节码的具体执行过程。工具介绍工欲善其事,必先利其器。在开始本课时的内容之前,先给你介绍两个分析字节码的小工具。java

2020-06-27 15:24:14 950

原创 一 基础原理:第03讲:大厂面试题:从覆盖 JDK 的类开始掌握类的加载机制

本课时我们主要从覆盖 JDK 的类开始讲解 JVM 的类加载机制。其实,JVM 的类加载机制和 Java 的类加载机制类似,但 JVM 的类加载过程稍有些复杂。前面课时我们讲到,JVM 通过加载 .class 文件,能够将其中的字节码解析成操作系统机器码。那这些文件是怎么加载进来的呢?又有哪些约定?接下来我们就详细介绍 JVM 的类加载机制,同时介绍三个实际的应用场景。我们首先看几个面试题。我们能够通过一定的手段,覆盖 HashMap 类的实现么? 有哪些地方打破了 Java 的类加载机制?

2020-06-27 14:03:51 543

原创 一 基础原理:第02讲:大厂面试题:你不得不掌握的 JVM 内存管理

本课时我们主要讲解 JVM 的内存划分以及栈上的执行过程。这块内容在面试中主要涉及以下这 3 个面试题:JVM 是如何进行内存区域划分的? JVM 如何高效进行内存管理? 为什么需要有元空间,它又涉及什么问题?带着这 3 个问题,我们开始今天的学习,关于内存划分的知识我希望在本课时你能够理解就可以,不需要死记硬背,因为在后面的课时我们会经常使用到本课时学习的内容,也会结合工作中的场景具体问题具体分析,这样你可以对 JVM 的内存获得更深刻的认识。首先,第一个问题:JVM的内存区域是怎么高效划分

2020-06-27 13:04:15 523

原创 一 基础原理:第01讲:一探究竟:为什么需要 JVM?它处在什么位置?

从本课时开始我们就正式进入 JVM 的学习,如果你是一名软件开发工程师,在日常工作中除了 Java 这个关键词外,还有一个名词也一定经常被提及,那就是 JVM。提到 JVM 我们经常会在面试中遇到这样的问题:为什么 Java 研发系统需要 JVM? 对你 JVM 的运行原理了解多少? 我们写的 Java 代码到底是如何运行起来的?想要在面试中完美地回答这三个问题,就需要首先了解 JVM 是什么?它和 Java 有什么关系?又与 JDK 有什么渊源?接下来,我就带你拨开这些问题的层层迷雾,想要...

2020-06-27 11:19:49 674 1

原创 深入浅出 Java 虚拟机——专题

课程目录开篇词开篇词:JVM,一块难啃的骨头基础原理第01讲:一探究竟:为什么需要 JVM?它处在什么位置?第02讲:大厂面试题:你不得不掌握的 JVM 内存管理第03讲:大厂面试题:从覆盖 JDK 的类开始掌握类的加载机制第04讲:动手实践:从栈帧看字节码是如何在 JVM 中进行流转的垃圾回收第05讲:大厂面试题:得心应手应对 OOM 的疑难杂症第06讲:深入剖析:垃圾回收你真的了解吗?(上)第06讲:深入剖析:垃圾回收你真的了解吗?(下)第07讲:大厂面试题:有了 G

2020-06-27 11:03:22 371

原创 模拟(手写)ArrayList

1、自定义异常类IllegalArgumentMyException类package com.example.demo.collection;/** * @Description 自定义非法参数异常 * @Auther gf.x * @Date 2020/5/24 15:38 */public class IllegalArgumentMyException extends RuntimeException{ public IllegalArgumentMyExcept

2020-06-03 20:24:52 410

Java8 新特性.rar

Java8新特性,包含代码实例与技术文档。

2020-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除