摘要: Java中的内存可以划分为五个模块: ①栈内存(Stack): 保存的是一块堆内存的空间地址,每一块栈内存只能够保留一块堆内存地址。方法的运行一定要在栈当中运行。 ②堆内存(Heap): 保存每一个对象的属性内容,即对象的真正数据。堆内存需要用关键字new才可以开辟。堆内存都有地址值:16进制。 ③ 阅读全文
posted @ 2021-03-06 18:29 天天152 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Java中JDK,JRE和JVM之间的关系 首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Enviroment)是Java的运行环境,JVM( java virtual machine)也就是常常听到Jav 阅读全文
posted @ 2021-03-06 18:05 天天152 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 一、总章 二、HashMap 三、LinkedHashMap ArrayList 将初始化容量转化大于或等于最接近输入参数的2的整数次幂的数 阅读全文
posted @ 2021-03-06 16:14 天天152 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 本文参考Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例 及 JDK1.8集合源码阅读 一、HashMap介绍 1.1 前言 Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只有一个,那 阅读全文
posted @ 2021-03-06 16:12 天天152 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 在jdk1.8的HashMap源码中看到的这个算法,感觉写的非常巧妙 tableSizeFor(),将初始化容量转化大于或等于最接近输入参数的2的整数次幂的数: static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 阅读全文
posted @ 2021-03-06 15:24 天天152 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 刚才看到一个词,感觉需要学习一下:线程安全 参考这篇文章:5个步骤,教你瞬间明白线程和线程安全 一、什么是进程 电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。比如现在运行着的的QQ、音乐播放器等等。 二、什么是线程 进程想要执行任务就需要依赖线程。换句话说,就 阅读全文
posted @ 2021-03-06 13:59 天天152 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 一、总章 1.1 前言 本文主要参考这篇文章 另外增加了自己觉得重要的部分 1.2 集合框架概览图 1.3 基础接口源码解析 1.3.1 Iterator public interface Iterator<E> { boolean hasNext(); E next(); default void 阅读全文
posted @ 2021-03-06 13:57 天天152 阅读(56) 评论(0) 推荐(0) 编辑