首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
佐毅
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 2订阅
JVM内存模型
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 线程私有,它的生命周期与线程相同。 可以看做是当前线程所执…
Java垃圾回收机制
1. 标记-清除算法(mark-sweep) 顾名思义,标记-清除算法分为两个阶段,标记(mark)和清除(sweep). 在标记阶段,collector从mutator根对象开始进行遍历,对从mutator根对象可以访问到的对象都打上一个标识,一般是在对象的header中,将…
Java开发必须掌握的线上问题排查命令
作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题。这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查。由于在生产环境中,一般没办法debug(其实有些问题,debug也白扯。。。),所以我们需要借助一些常用命…
JVM系列(六) - JVM垃圾回收器
在之前的几篇博客中,我们大致介绍了,常见的 垃圾回收算法 及 JVM 中常见的分类回收算法。这些都是从算法和规范上分析 Java 中的垃圾回收,属于方法论。在 JVM 中,垃圾回收的具体实现是由 垃圾回收器(Garbage Collector)负责的。 在了解 垃圾回收器 之前…
从对象头出发了解Synchronized关键字
写这篇文章的目的源自于看《并发编程艺术》的时候,书上说synchronized关键字的锁是放在对象头里的。索性带着这个问题把这个关键字相关的内容梳理一下。 synchronized关键字是Java并发编程中非常重要的一个工具。它的主要目的是在同一时间只能允许一个线程去访问一段特…
Java虚拟机之Class类文件结构
正如有一句名言:代码编译的结果从本地机器码变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 Java语言为什么能write once, run anywhere? 这个其实是因为和各种不同平台相关的虚拟机,这些虚拟机都可以载入和执行同平台无关的字节码。今天我们就来…
重读 JVM
秋招开始了,前面由于做别的事耽误了半个月,以前学的东西不用就很容易忘记。所以,这次重新阅读《深入理解 JVM 虚拟机》时,想做一个记录。将碎片的知识整合,方便自己以后阅读,同时也和大家一起分享。内容中会添加我自己的理解,其中如果有错误,欢迎大家指正。 相关阅读: 1. 重拾数据…
JVM垃圾回收详解
最近线上出现了JVM 频繁FGC的问题,查询了很多GC相关的资料,做了一些整理翻译。文章比较长可以收藏后慢慢阅读。 确保有引用的对象能够在内存中保留。 能够在正在执行的代码环境中回收已经死亡对象的内存。 这里提到的有引用是指存活的对象,后面会提到一些算法用来判断对象是否存活。不…
JVM总结
域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图 程序计数器:是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示…
JVM+GC 面试题
首先,Eden 区满的时候回出发第一次 GC,把存活的对象拷贝到 SurvivorFrom 区,当 Eden 区再次出发 GC 的时候会扫描 Eden 区和 From 区,对这两个区域进行垃圾回收。 经过这次回收后还存活的对象,则直接复制到 To 区,同时将这些对象的年龄+1。…