HashMap详解

前言HashMap是是Java Collections Framework的成员,位于java.util包,在JDK1.2引入。其数据存储形式是基于K-V键值对形式进行存储,HashMap中的key不能重复,允许且只能存在一个null值。如果多次put同一个key会进行值覆盖,对于value则没有限

HashMap源码解析(JDK1.8)

一、HashMap是什么相信阅读过HashMap源码的小伙们都知道,HashMap实现了Map接口,Map就是用于存储键值对(k,v)的集合类,而HaspMap是针对k,v 来进行的一些列操作,并且HashMap 在1.8以后加入了红黑树数据结构来便于我们的数据检索操作HashMap继承树结构Has

javaSE 

HashMap源码解析(JDK1.7)

一、HashMap概述​HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。​值得注意

javaSE 

设计模式也可以这么简单

一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。自认为本文还是写得不错的,花了不少心思来写这文章和做图,力求让读者真的能看着简单同时有所收获。设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属 Gang of

javaSE 

JUC学习笔记(下)

11、线程池池化技术程序的运行,其本质上,是对系统资源(CPU、内存、磁盘、网络等等)的使用。如何高效的使用这些资源 是我们编程优化演进的一个方向。今天说的线程池就是一种对CPU利用的优化手段。通过学习线程池原理,明白所有池化技术的基本设计思路。遇到其他相似问题可以解决。前面提到一个名词——池化技术

javaSE 

遍历HashMap的5种最佳方式

在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方式。使用 Iterator 遍历 HashMap EntrySet使用 Iterator 遍历 HashMap KeySet使用 For-each 循环迭代 HashMap使用 Lambda 表达式遍历 Has

javaSE 

并行流式计算

问题:计算数字的累加如何才能更快?一、计算方式比较1. for循环public static void test1(){ Long sum = 0L; long start = System.currentTimeMillis(); for (Long i = 1L; i &l

javaSE 

JUC学习笔记(上)

1、简介什么是JUCJUC是java.util.concurrent 的简写,在并发编程中使用的工具类。在jdk官方手册中可以看到juc相关的jar包有三个。用中文概括一下,JUC的意思就是java并发编程工具包实现多线程有三种方式:Thread、Runnable、Callable,其中Callab

javaSE 

史上最全ThreadLocal详解

ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量

Java多线程:彻底搞懂线程池

熟悉 Java 多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了。总体来说,线程池有如下的优势: 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。

谷粒商城 - CompletableFuture异步编排篇

说明:本系列笔记总结自雷丰阳老师教学项目《谷粒商城》视频地址:直达BiliBili项目资料获取:百度网盘 提取码: ou4m完整项目地址:直达gitee本篇主要对应代码: gitee地址项目资料获取:一、开启线程的四种方法1. 继承Thread类Thread类实现了Runnable接口public

Java中 == 和equals()的区别

== 和equals()最大的区别是:一个是运算符,一个是方法。==:【1】如果比较的对象是基本数据类型,则比较数值是否相等【2】

javaSE