Jvm 系列文章

深入理解 JVM、Java 性能与生态。
  1. Java 生态核心知识点整理

    又到了求职的金三银四的黄金月份,我相信有不少小伙伴已经摩拳擦掌的准备寻找下一份工作。 就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。 但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有…

    2020/04/15

  2. 今天,我为他们站台!

    **50元钱可以做什么?** 首先让我们尽量来畅想一下 50 元钱可以干什么? 50元钱可以购买一张电影票,来一场感官视觉高潮。 50元钱可以中午和朋友一起吃个便饭,真的只是便饭想要小资基本不行。 50元钱可以在非高峰时间打一小时羽毛球,切记是非高峰。 大家有木有发现,上面的50元只能满足1小时左右的消费,突然有人说你…

    2019/09/11

  3. 纳尼,Java 存在内存泄泄泄泄泄泄漏吗?

    ## 01. 怎么回事? 纳尼,Java 不是自动管理内存吗?怎么可能会出现内存泄泄泄泄泄泄漏! Java 最牛逼的一个特性就是垃圾回收机制,不用像 C++ 需要手动管理内存,所以作为 Java 程序员很幸福,只管 New New New 即可,反正 Java 会自动回收过期的对象。。。 那么 Java 都自动管理内存…

    2019/05/23

  4. Java 极客技术, 专业生产 Java 原创干货

    可能大家也发现了,这段时间我在推一个 Java 极客技术小社区,它是一个专注分享原创、高质量的技术文章的小组织,并且运营了才一个多月,就已经有 13000+ 的用户关注它,超出预期,对就是下面这个公众号。 从2016年开始写博客的时候,我就给自己定义了一个 slogan ,一直挂在个人博客的首页:**分享技术,品味人生…

    2019/04/25

  5. 差点把 Java 命名成了 Silk(丝绸)

    Java 诞生的历史 ## Java 命名的由来 Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。 Java的名字如何…

    2019/02/25

  6. jvm 系列(十):JVM 演讲 PPT 分享

    JVM PPT的演进文稿分享 > 此 PPT 长达46页,不方便在页面中全部展示,文中只展示了文稿的前十二页。 **获取完整版请在公众号内回复“JVM”。**

    2017/09/30

  7. jvm 系列(九):如何优化 Java GC 「译」

    本文由翻译,地址:,是Java GC调优的经典佳作。 Sangmin Lee发表在上的"Become a Java GC Expert"系列文章的第三篇,本文的作者是韩国人,写在JDK 1.8发布之前,虽然有些地方有些许过时,但整体内容还是非常有价值的。译者此前也看到有人翻译了本文,发现其中有许多错漏生硬和语焉不详之处…

    2017/09/29

  8. Jvm 系列(八):Jvm 知识点总览

    在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高的人。比如,你剑法再厉害,一剑刺过来,别人一掌打断你的剑,你…

    2017/09/28

  9. Jvm 系列(七):Jvm 调优-工具篇

    16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工…

    2017/09/22

  10. Jvm 系列(六):Java 服务 GC 参数调优案例

    本文介绍了一次生产环境的JVM GC相关参数的调优过程,通过参数的调整避免了GC卡顿对JAVA服务成功率的影响。 这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题。我个人特别喜欢这种实战类的内容,经原作者的授权同意,将文章分享于此。原文链接:,下面为转载此文的内容,备注部分为本人添加…

    2017/09/19

  11. Jvm 系列(五):Java GC 分析

    Java GC就是JVM记录仪,书画了JVM各个分区的表演。 ## 什么是 Java GC Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战…

    2017/09/18

  12. Jvm 系列(四):Jvm 调优-命令篇

    运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole、大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,一方面工具的使用会有所限制,另一方面喜欢装X的我们,总喜欢在出现问题的时候在终端输入…

    2017/09/03

  13. Jvm 系列(三):GC 算法 垃圾收集器

    这篇文件将给大家介绍GC都有哪几种算法,以及JVM都有那些垃圾回收器,它们的工作原理。 ## 概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而…

    2017/08/29

  14. Jvm 系列(二):Jvm 内存结构

    所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问题,以便于快速的解决…

    2017/08/25

  15. Jvm 系列(一):Java 类的加载机制

    类加载机制的奥妙。 ## 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的对象,对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的…

    2017/08/19

  16. 定时任务发展史(二)

    第一代定时任务系统上线用了大概半年之后,就被我们厌倦了。于是就规划了第二代定时任务系统。 ## 第二代定时任务系统 第二代调度系统主要解决的是,避免每次修改定时任务的执行时间都需要重新启动整个项目。另外也可支持单独重新调度单个定时任务。 我们做了一个请求入口,当更新了库表里面的数据之后,重新请求一下特定的url就会自动…

    2017/06/29

  17. 定时任务发展史(一)

    定时任务是互联网行业里最常用的服务之一,本文给大家介绍定时任务在我司的发展历程。 linux系统中一般使用crontab命令来实现,在Java世界里,使用最广泛的就是quartz了。我司使用quartz就已经升级了三代,每一代在上一代系统之上有所优化,写这篇文章一方面介绍一下quartz的使用,另一方面可以根据此项目的…

    2017/06/28