首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
mw
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
再有人问你Java内存模型是什么,就把这篇文章发给他。
前几天,发了一篇文章,介绍了一下JVM内存结构、Java内存模型以及Java对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。Java内存模型,是这三个知识点当中最晦涩难懂的一个,而且涉及到很多背景知识和相关知识。 网上有很多关于Java内存模型的文章,在《深…
Java内存问题 及 LeakCanary 原理分析
前些天,有人问到 “开发过程中常见的内存泄漏都有哪些?”,一时脱口而出:静态的对象中(包括单例)持有一个生命周期较短的引用时,或内部类的子代码块对象的生命周期超过了外面代码的生命周期(如非静态内部类,线程),会导致这个短生命周期的对象内存泄漏。总之就是一个对象的生命周期结束(不…
JVM内存结构
所有的对象和数组都要在堆上进行分配。 线程共享。 垃圾回收发生的区域。 堆的优势是可以动态分配内存大小,缺点是存取速度较慢。 当创建一个线程的时候,JVM就会为这个线程创建一个栈。每个方法在执行的时候,会创建一个栈帧,用于存储方法内部变量、操作栈和方法返回值等,方法执行完成时,…
一文探讨堆外内存的监控与回收
记得那是一个风和日丽的周末,太阳红彤彤,花儿五颜六色,96 年的普哥微信找到我,描述了一个诡异的线上问题:线上程序使用了 NIO FileChannel 的 堆内内存(HeapByteBuffer)作为缓冲区,读写文件,逻辑可以说相当简单,但根据监控,却发现堆外内存(Direc…
JVM(五)垃圾回收器的前世今生
如果垃圾回收的算法属于内存回收的方法论的话,那本文讨论的垃圾回收器就属于内存回收的具体实现。 因为不同的厂商(IBM、Oracle),实现的垃圾回收器各不相同,而本文要讨论的是 Oracle 的 HotSpot 虚拟机所使用的垃圾回收器。 其中相互连线的垃圾回收器,表示可以相互…
JVM问题及解答
JVM内存模型,GC机制和原理。 注意JVM内存模型与Java内存模型(JMM)不是同一个东西。 PC寄存器:保存JVM正在执行的字节码指令地址。如果是native的,那么pc寄存器的值为undefined JVM Stack:存储局部变量与一些过程结果的地方。在方法调用和返回…
JVM系列(四) - JVM类加载机制详解
本文将由浅及深,介绍Java类加载的过程和原理,进一步对类加载器的进行源码分析,完成一个自定义的类加载器。 (一). 类加载器是什么 类加载器简言之,就是用于把.class文件中的字节码信息转化为具体的java.lang.Class对象的过程的工具。 在实际类加载过程中,JVM…
理解JVM(五):Java内存模型与线程
JMM(Java Memory Model)是JVM定义的内存模型,用来屏蔽各种硬件和操作系统的内存访问差异。 主内存:所有的变量都存储在主内存(Main Memory,类比物理内存)中。 工作内存:每条线程有自己的工作内存(Working Memory,类比处理器高速缓存),…
那天服务器内存被 Java 线程撑爆了,简单的 JVM 问题诊断流程
话说那天中午吃饭的时候,一个同事说:“那个项目组的人快气死我了,程序有问题,早晨在群里@了他们,到中午才回消息,然后竟然还说他们的程序没有问题,是我们这边调用的太频繁了。简直想笑。” 一般来说,对接出现问题,如果不是错误太明显,我首先都会先怀疑是不是自己出了问题,以免到时候丢人…
跟面试官聊到JVM,他99%会让你谈谈这个问题!
知识星球限时折扣最后1天!!!知识星球限时折扣最后1天!!!知识星球限时折扣最后1天!!!本文转载自微信公众号:王磊的博客但凡问到JVM(Java虚拟机)通常有99%的概率一定会问:在JVM中如何判断