JVM-Java 对象模型

Java对象保存在堆内存中。在内存中,一个Java对象包含三部分:对象头、实例数据和对齐填充。其中对象头是一个很关键的部分,因为对象头中包含锁状态标志、线程持有的锁等标志。

阅读更多

JAVA 进程被 kill 排查

可能会导致 JAVA 进程被 kill 的原因

  • Java 应用程序的问题:发生 OOM 导致进程 Crash
  • JVM 自身故障:JVM 或J DK 自身的 Bug 导致进程 Crash
  • 被操作系统 OOM-Killer
阅读更多

JVM 性能调优监控工具

本篇主要学习记录下工作中常用的 JDK 自带的一些 JVM 性能调优监控工具,通过了解这些工具,可以在排查问题时给予我们非常大的帮助,将一些隐藏在底下的东西拿到明面上来做分析。

阅读更多

ClassLoader 类加载-type checking 对类加载的影响

Type Checking

Type Checking (类型检测) 的作用是分析程序在编译或者运行期间,其类型表达是否一致的一个过程。举个例子:如果一个变量被声明为 int 类型,那么他就不能被赋值为实际的值(或者字符串类型、或者其他任何类型)。java 语言的类型检测分为两种:

  • 静态类型检测(static checking): 问题在程序运行之前被自动找到,也就是在编译阶段完成的检查。静态类型检测更多的是关注在”类型“上。
  • 动态类型检测(dynamic checking): 问题在运行期间被检测,动态运行检测关注的是在”值“上。
阅读更多