java
weixin_44020556
这个作者很懒,什么都没留下…
展开
-
HashMap底层实现原理
9.4.2 HashMap底层实现详解 【节选自高淇老师300集中的内容,该文章的源码来自JDK1.6,在JDK1.8中Entry已换成Node,并且哈希算法有所改变,可自行查看源码,但底层原理是一样的】 HashMap底层实现采用了哈希表,这是一种非常重要的数据结构。对于我们以后理解很多技术都非常有帮助(比如:redis数据库的核心技术和HashMap一样),因此,非常有必要让大家理解。 ...原创 2019-08-19 21:28:44 · 506 阅读 · 1 评论 -
JVM内存模型分析
注意: 当前JVM内存模型基于JDK8,10和11以后内存模型有所改变! Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。 栈的特点如下: 1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等) 3. 栈属于线程私有,...转载 2019-08-20 08:53:12 · 62 阅读 · 0 评论 -
Java垃圾回收机制
分代垃圾回收机制,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的回收算法,以便提高回收效率。我们将对象分为三种状态:年轻代、年老代、持久代。JVM将堆内存划分为 Eden、Survivor 和 Tenured/Old 空间。 1. 年轻代 所有新生成的对象首先都是放在Eden区。 年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象,对应的是Minor...转载 2019-08-20 11:24:47 · 112 阅读 · 0 评论 -
创建线程的三种方式
继承Thread类 实现Runnable接口 JUC并发包下实现Collable接口原创 2019-08-16 21:58:03 · 65 阅读 · 0 评论