JVM
本人秃顶程序员
秃顶程序员在此,还不点关注!
展开
-
【本人秃顶程序员】关于JVM内存的N个问题
←←←←←←←←←←←← 快!点关注 JVM的内存区域是怎么划分的? JVM的内存划分中,有部分区域是线程私有的,有部分是属于整个JVM进程;有些区域会抛出OOM异常,有些则不会,了解JVM的内存区域划分以及特征,是定位线上内存问题的基础。那么JVM内存区域是怎么划分的呢? 首先是程序计数器(Program Counter Register),在JVM规范中,每个线程都有自己的程序计数器。这是一...原创 2019-03-19 21:52:01 · 195 阅读 · 0 评论 -
JVM平台上的响应式流(Reactive Streams)规范
Reactive Streams 响应式流是一个倡议,用来为具有非阻塞后压的异步流处理提供一个标准。大家努力的目标集中在运行时环境(JVM和JavaScript)和网络协议上。 注:响应式流其实就是一个规范,本文讲解的正是这个规范,且这个规范已经被引入到JDK9里了。 后压:就是下游出现了问题,得不到解决时,这个问题就会逆流而上,继而影响上游。 如果一个路口红绿灯坏了造成堵车,如果不管的话,...原创 2019-04-16 21:41:56 · 496 阅读 · 0 评论 -
Java虚拟机——垃圾回收算法与垃圾收集器
在Java运行时的几个数据区域中,程序计数器,虚拟机栈,本地方法栈3个区域随着线程而生,随线程而灭,因此这几个区域的内存分配和回收具有确定性,不需要过多考虑垃圾回收问题,因为方法结束或者线程结束时,内存就回收了。但是方法区和堆区不一样,一个接口或者实现类所需要的内存可能不一样,一个方法的多个分支需要的内存也可能不一样,只有程序运行时才能知道创建哪些对象,这部分内存的分配和回收是动态的。 在进行垃圾...原创 2019-05-02 21:43:04 · 139 阅读 · 0 评论 -
JDK源码分析——LinkedHashMap
前言 先看一下 LinkedHashMap 的类继承结构图: 可以看到 LinkedHashMap 继承了 HashMap。 我们知道 HashMap 是无序的,即迭代器的顺序与插入顺序没什么关系。而 LinkedHashMap 在 HashMap 的基础上增加了顺序:分别为「插入顺序」和「访问顺序」。即遍历 LinkedHashMap 时,可以保持与插入顺序一致的顺序;或者与访问顺序一致的顺序...原创 2019-05-07 20:52:49 · 197 阅读 · 0 评论