Java
文章平均质量分 94
楼仔
一枚小小的Go/Java代码搬运工!
展开
-
【JVM系列8】JVM知识点总览
对JVM知识做一个系统全面的总结。前言我理解JVM应该属于Java高阶的知识,之前是通过博客学习这块知识,后来对照着《深入理解Java虚拟机》书籍把重点知识又过了一遍。经过大半个月的学习,我给出我学习的感受。我感觉其实通过博客学习这块知识其实就够了,因为博客中的知识直击JVM的靶心,基本都是干货,但是对于一些实际的场景用例,博客给的示例不多,这个是通过博客学习唯一的缺点。通过书籍学习JVM知识,真的感觉这本书太厚了,不建议新人学习,因为这本书也就前5章的内容比较干货,后面的大部分知识...原创 2021-09-13 17:56:50 · 181 阅读 · 0 评论 -
【JVM系列7】垃圾收集器
文章主要总结《深入理解Java虚拟机》的“经典垃圾收集器”一节。前言这段时间因为要忙项目,有近2周没有更新文章了,现在项目的前期工作都准备完毕,今天开始进入正轨,也就稍有余力开始学习一些知识。对于“垃圾收集器“这个知识点,之前也简单提到过,但是一直没有单独拎出来讲,主要是不想去讲太偏八股的东西,也一直认为“垃圾收集器“就是些概念性的内容,在实际工作中不会用到。后来看了《深入理解Java虚拟机》一书,发现“垃圾收集器”在实际项目中还是有它的应用场景,比如你可能需要为你的项目选择合适的垃圾收...原创 2021-09-07 09:38:21 · 130 阅读 · 0 评论 -
【JVM系列5】性能检测工具
讲解JVM的性能检测工具,主要是一些图形化的工具。前言这篇文章是结合上一篇文章《【JVM系列4】JVM常用命令》来讲的,上一篇文章讲的是JVM一些常用的命令,但是通过命令的方式查看JVM的指标非常费劲,还是图形化工具香,如果在跟进线上机器的JVM问题时,可能还是离不开JVM命令。图形化工具jconsoleJconsole(Java Monitoring and Management Console)是从java5开始,在JDK中自带的java监控和管理控制台,用于对JVM中内存,...原创 2021-08-22 18:30:48 · 298 阅读 · 0 评论 -
【JVM系列5】JVM调优实例
转载文章,讲解JVM的常用调优策略,以及一些工作中遇到的JVM调优实例。这篇文章并非原创,感觉原文实战操作比较强,特此转载,留以后用,原文地址:https://juejin.cn/post/6949806402743304206#heading-21对于需要进行JVM调优,或者遇到JVM相关问题,且不知如何去解决的同学,这篇文章真的非常值得阅读。前言JVM调优听起来很高大上,但是要认识到,JVM调优应该是Java性能优化的最后一颗子弹。比较认可廖雪峰老师的观点,要认识到JVM...转载 2021-08-21 23:01:18 · 234 阅读 · 0 评论 -
【JVM系列4】JVM常用命令
讲解JVM的常用命令,为后面讲解JVM日志分析做准备。前言JVM比较重要的知识,在前面三篇文章都将完了,GC日志在第一篇文章中也有所提及,这篇文章主要讲解JVM常用的命令,虽然jvm调优成熟的工具已经有很多,但是所有的工具几乎都是依赖于jdk的接口和底层的这些命令,研究这些命令的使用也让我们更能了解jvm构成和特性。Sun JDK监控和故障处理命令有jps、jstat、jmap、jhat、jstack、jinfo,下面做一一介绍。jpsJVM Process Status To...原创 2021-08-19 20:03:48 · 292 阅读 · 0 评论 -
【JVM系列3】类的加载过程
主要讲述Java类的加载过程。前言其实类的加载过程应该放到JVM的第一个系列,因为我接触JVM是从JVM内存结构开始,所以就先通过2篇文章完成这块内容的讲解。对于Java类的加载过程,我感觉里面的内容其实不多,也不那么重要,就把网上的资料简单整理了一下,作为了解即可。简介如果 JVM 想要执行这个 .class 文件,我们需要将其装进一个类加载器 中,它就像一个搬运工一样,会把所有的 .class 文件全部搬进JVM里面来。重点知识: Java文件经过编译后变成 .cl...原创 2021-08-13 20:43:54 · 798 阅读 · 0 评论 -
【JVM系列2】运行时数据区域
主要讲述Java运行时的时区,包括Java堆、虚拟机栈、本地方法栈、方法区和程序计数器相关内容。前言上一篇文章《【JVM系列1】JVM内存结构》已经讲述了JVM的内存结构,其实这个讲解的并不全,只讲解了Java堆的部分,现在将其它部分也进行补充。运行时数据区域什么是运行时数据区域?Java程序在运行时,会为JVM单独划出一块内存区域,而这块内存区域又可以再次划分出一块运行时数据区,运行时数据区域大致可以分为五个部分:Java堆(Heap)很多做开发的同学,会格外关注堆...转载 2021-08-12 09:08:49 · 122 阅读 · 0 评论 -
【JVM系列1】JVM内存结构
主要讲述JVM内存结构,以及简单的调优场景。前言JVM系列应该属于Java高阶的内容,本来是想等Java基础知识积累一段时候之后再学习,但是因为工作中需要跟进线上问题,所以急需补充这块知识,本文主要是对学习的知识简单做个记录,然后再记录分析问题的过程。JVM问题刚转到小米人事部门,发现线上的2台机器一直在GC,而且频率非常高,下面是GC的日志:如果需要看懂这个GC日志,下面的内容就一定需要掌握。垃圾回收算法如何确定对象已死?通常,判断一个对象是否被销毁有两种方法:...原创 2021-08-10 09:38:25 · 173 阅读 · 0 评论