首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
jvm
订阅
花沐松
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
面试官:说说什么是 Java 内存模型(JMM)?
在面试中,面试官经常喜欢问:『说说什么是Java内存模型(JMM)?』 面试者内心狂喜,这题刚背过:『Java内存主要分为五大块:堆、方法区、虚拟机栈、本地方法栈、PC寄存器,balabala……』
【JVM进阶之路】八:性能监控工具-命令行篇
定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。 在实际的故障排查、性能监控中,常常是操作系统的工具和Java虚拟机的工具结合使用。 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。 top命令的输出可以分为…
【JVM进阶之路】七:垃圾收集器盘点
在前面,我们已经了解了JVM的分代收集,知道JVM垃圾收集在新生代主要采用标记-复制算法,在老年代主要采用标记-清除和标记-整理算法。接下来,我们看一看JDK默认虚拟机HotSpot的一些垃圾收集器的实现。 首先来看一下JDK 11之前全部可用的垃圾收集器。 图中列出了七种垃圾…
【JVM进阶之路】六:垃圾收集理论和算法
在前面我们了解了虚拟机如何判断对象可回收,接下来我们了解Java虚拟机垃圾收集的一些理论和算法。 分代收集理论,是基于程序运行对象存活数量和对象年龄之间关系的一套经验法则。 弱分代假说(Weak Generational Hypothesis):绝大多数对象都是朝生夕灭的。 强…
【JVM进阶之路】五:垃圾回收概述和对象回收判定
程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作,所以这几个区域的内存回收是确定的,随着方法结束或者线程结束,内存自然回收。 Java堆和方法区这两个区域则有着很显著的不确定性:一个接口的多个实现类需…
【JVM进阶之路】四:直面内存溢出和内存泄漏
在Java中,和内存相关的问题主要有两种,内存溢出和内存泄漏。 内存溢出(Out Of Memory) :就是申请内存时,JVM没有足够的内存空间。通俗说法就是去蹲坑发现坑位满了。 内存泄露 (Memory Leak):就是申请了内存,但是没有释放,导致内存空间浪费。通俗说法就…
【JVM进阶之路】三:探究虚拟机对象
单纯从语言层面,新建一个对象,可以通过new、反射、复制、反序列化等等。接下来,我们探究以下在虚拟机中,对象的创建是一个什么样的过程。 检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,就先执行相应的类加载过程 类加载检查通过后,接下来虚拟机将为新生对象分配内存。…
【JVM进阶之路】二:Java内存区域
Java 虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应的,这些与线程对应的数据区域会随着线程开始和结束而创建和销毁。 程序计数器(Program Counter Register)也被称…
【JVM进阶之路】一:Java虚拟机概览
Java语言是一门通用的、面向对象的、支持并发的程序语言。全球从事Java相关开发的人员已经数以百万计。 从1995年“Java”正式出现以来,Java已经经历了二十几年的发展。 Java语言之所以能广受欢迎,其中的原因之一是Java是一门可以跨平台的语言。 而跨平台的特性就是…
【JVM进阶之路】九:性能监控工具-可视化工具篇
JVM进阶之路第九篇,详细介绍JDK自带可视化JVM性能监控工具——JConsole、VisualVM、JMC,简单介绍第三方工具。