首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
SmartCoder
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
面试官:怎么排查堆内存溢出呀?
上次给小伙伴们说过了死循环cpu飙高的排查过程,今天就带着大家看看堆内存溢出我们一般怎么排查的。 老婆我就是不了解,人家要你说给我听。 今天我就直说堆,因为溢出是发送在堆中的。 JVM堆内存被分为两部分:年轻代(Young Generation)和老年代(Old Generat…
Java Annotaions (注解)的本质和实现原理(上)
曾几何时,XML 一直是 Java 各大框架配置元数据(meta data) 的主要途径。但作为一种集中式的元数据管理工具,配置项与作用代码距离太过 “遥远”,非常不利于代码的维护和调试。再加上 XML 本身复杂的语法结构,往往令码农们大感头疼。一种与作用代码耦合在一起的元数据…
Java Annotaions (注解)的本质和实现原理(下)
在上一篇文章 《Java Annotaions (注解)的本质和实现原理(上)》中,我们介绍了Java 注解的本质、原理和作用方式等内容。本篇文章将继续探究 Java 注解在 JVM 层面究竟是如何实现的,并结合应用场景,自己实现一个 Java 注解。 不忘初心,牢记使命。 注…
一次性把Java的四种引用说清楚!
前几天在CodeReview的时候,看到了一个用WeakHashMap的代码,进而聊到了WeakReference,再聊到Java四种引用类型。 回想了一下,上次学习Java的强软弱虚四种引用类型,还是在准备面试的时候。平时用得不多,一下子竟然想不清楚它们的区别,只记得它们的强…
java并发编程系列:牛逼的AQS(下)
看完了AQS中的底层同步机制,我们来简单分析一下之前介绍过的ReentrantLock的实现原理。先回顾一下这个显式锁的典型使用方式: ReentrantLock首先是一个显式锁,它实现了Lock接口。可能你已经忘记了Lock接口长啥样了,我们再回顾一遍: 也就是当一个线程因为…
一文理清JVM和GC(上)
大家好,我是小菜,一个渴望在互联网行业做到蔡不菜的小菜。可柔可刚,点赞则柔,白嫖则刚! 其中方法区和堆被JVM中多个线程共享,比如类的静态常量就被存放在方法区,供类对象之间共享。 虚拟机栈、本地方法栈、程序计数器是每个线程独立拥有的,不会与其他线程共享。 所以Java在通过ne…
一文理清JVM和GC(下)
大家好,我是小菜,一个渴望在互联网行业做到蔡不菜的小菜。可柔可刚,点赞则柔,白嫖则刚! 程序在垃圾回收上花费了98%的时间,却收集不会2%的空间。 GC清理的一点点内存很快会再次填满,迫使GC再次执行,这样就形成了恶性循环。 写NIO程序经常使用 ByteBuffer 来读取或…
面试官没想到一个Volatile,我都能跟他扯半小时
Volatile可能是面试里面必问的一个话题吧,对他的认知很多朋友也仅限于会用阶段,今天我们换个角度去看看。 为会出现这个情况呢?那我们就需要聊一下另外一个东西了。 JMM:Java内存模型,是java虚拟机规范中所定义的一种内存模型,Java内存模型是标准化的,屏蔽掉了底层不…