写点什么
  • 发布
  • 评论
  • 划线
  • 收藏
  • 关注
  • 全部分类
全方位认识 JVM
全方位认识 JVM

本文从源码到运行、类加载,再到内存分配和垃圾回收,以及 JVM 调优的技巧与实战,带你全方位了解 JVM。

JVM 性能调优之内存优化与 GC 优化实战

JVM 调优是一个系统而又复杂的过程,但我们知道,在大多数情况下,我们基本不用去调整 JVM 内存分配,因为一些初始化的参数已经可以保证应用服务正常稳定地工作了。而且一般情况下,就算出现了,也是架构师级别的去处理。

Arthas阿里开源的Java诊断工具
Arthas 阿里开源的 Java 诊断工具

JDK 自带的性能诊断工具去排查问题,不仅不好看而且需要记得很多的命令,而`Arthas`支持 JDK 6+,支持 Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。

JVM 性能诊断工具
JVM 性能诊断工具

在开发,运行 Java 应用时,难免会遇到应用运行性能低效,内存泄露等问题,那么我们就需要借助分析工具去分析,优化应用系统,也就是常说的性能调优,而 JDK 自带的诊断工具可以有效的帮助我们快速定位问题。如:jps,jstack,jinfo 等。

了解 JVM 的方法调用
了解 JVM 的方法调用

我们写的代码,经过编译、经过类加载的各种阶段,进入了 JVM 的运行时数据区。

JVM类加载机制
JVM 类加载机制

之前在 JVM 中的对象中讲过对象的创建过程第一步是需要检查这个类是否被类加载器加载,如果没有,那必须先执行相应的类加载过程,即把 class 加载到 JVM 的运行时数据区。

JVM分代回收机制和垃圾回收算法
JVM 分代回收机制和垃圾回收算法

垃圾回收(Garbage Collector,GC),JVM 通过可达性分析判断那些对象可回收,而这些可回收的对象就是垃圾,为什么需要回收呢?

JVM中的对象及引用
JVM 中的对象及引用

Java 是一种面向对象的语言,所谓的对象是什么?怎么来的?但是你一定听过没对象怎么办,自己 new 一个对象,所以,当 JVM 遇到一条字节码 new 的指令,就相当于告诉它要创建对象了,所以它会执行以下的步骤。

初识JVM的内存结构
初识 JVM 的内存结构

JavaSE:Java 平台标准版,为 Java EE 和 Java ME 提供了基础。

十大排序算法--基数排序
十大排序算法 -- 基数排序

基数排序按照从右往左的顺序,依次将每一位都当做一次关键字,然后按照该关键字对数组排序,同时每一轮排序都基于上轮排序后的结果;当我们将所有的位排序后,整个数组就达到有序状态。基数排序不是基于比较的算法。

十大排序算法--桶排序
十大排序算法 -- 桶排序

桶排序是计数排序的升级,计数排序可以看成每个桶只存储相同元素,而桶排序每个桶存储一定范围的元素,通过函数的某种映射关系,将待排序数组中的元素映射到各个对应的桶中,对每个桶中的元素进行排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序

十大排序算法--计数排序
十大排序算法 -- 计数排序

一种非比较排序。计数排序对一定范围内的整数排序时候的速度非常快,一般快于其他排序算法。但计数排序局限性比较大,只限于对整数进行排序,而且待排序元素值分布较连续、跨度小的情况。

个人成就
  • 发布了 28 篇内容

    12.5字, 被阅读 3755

  • 获得了 27 次赞同

    获得了 10次喜欢, 获得了 17 次收藏

  • 参与了 13 次互动

    互动包含发布评论、点赞评论、参与投票等

TA 关注的
还没有关注其他内容哦
最新评论

知识中台驱动产业智能化升级

知识中台驱动产业智能化升级

Ayue、