摘要:
Map接口 1、HashMap和Hashtable的区别 线程安全方面。HashMap是非线程安全的,Hashtable是线程安全的。因为Hashtable内部方法基本都经过synchronized修饰。但是如果要保证线程安全推荐使用ConcurrentHashMap。 效率方面。因为线程安全问题H 阅读全文
Map接口 1、HashMap和Hashtable的区别 线程安全方面。HashMap是非线程安全的,Hashtable是线程安全的。因为Hashtable内部方法基本都经过synchronized修饰。但是如果要保证线程安全推荐使用ConcurrentHashMap。 效率方面。因为线程安全问题H 阅读全文
posted @ 2022-09-13 16:46
knqiufan
阅读(75)
评论(0)
推荐(0)
摘要:
HashMap源码解析 构造函数 // 默认构造函数。 public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted } // 包含另一个“Map”的构造函数 public HashMa 阅读全文
HashMap源码解析 构造函数 // 默认构造函数。 public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted } // 包含另一个“Map”的构造函数 public HashMa 阅读全文
posted @ 2022-09-13 15:50
knqiufan
阅读(39)
评论(0)
推荐(0)

认证、授权、鉴权、权限控制 1、认证(identification) 指的是,根据声明者所特有的识别信息,确认声明者的身份。认证方式有很多,举例来说: 用户 + 密码 用户手机:二维码、短信、手势密码等 用户电子邮箱 用户的生物学特征:指纹、语音、虹膜等 身份证 等等 在安全要求高的场合,经常会使用
《On Java》阅读记录之 -- 可变参数重载问题 有下面一段代码: public class OverloadingVarargs2 { static void f(float i , Character... args) { System.out.println("first"); } sta
Java类中各元素的初始化顺序 初始化的原则是: 先初始化静态部分,再初始化动态部分;(先静再动) 先初始化父类部分,后初始化子类部分;(先父再子) 先初始化变量,次初始化代码块,再初始化构造器;(先变量,次代码块,再构造器) 所以依照这个规则可以得出总体顺序是: 父类的静态成员变量(第一次加载类时
ArrayList源码解析 1. 核心源码解读 package java.util; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.UnaryOpe
当JVM需要用到某个类的时候,虚拟机会加载它的.class文件。加载了相关的字节码信息之后,会常见对应的Class对象,这个过程就被称为类加载。
需要注意的是:类加载机制只负责`class`文件的加载,至于是否可以执行,则是由执行引擎决定的。
类的加载过程被分为五个阶段:加载、验证、准备、解析、初始化。验证、准备、解析三个阶段为连接步骤。其中加载、验证、准备、初始化这几个阶段的顺序是确定的,但是解析阶段不一定,在某些情况下可以在初始化阶段之后再开始。
spring profile 与 maven profile 多环境管理 spring profile Spring profile是Spring提供的多环境管理方案。 如下图: 每种环境都对应一个yml文件,然后再application.yml中配置需要使用的环境: spring: #环境 dev
逃逸分析是目前Java虚拟机中比较前沿的优化技术,也是JIT中一个很重要的优化技术。
它其实就是分析一个对象是否会逃逸出方法,分析对象的动态作用域。如果一个对象在一个方法内定义,并且有可能被方法外部引用使用,那认为它逃逸了。
HashMap与ConcurrentHashMap的一些总结 HashMap底层数据结构 JDK7:数组+链表 JDK8:数组+链表+红黑树 JDK8中的HashMap什么时候将链表转为红黑树? 当发现链表中的元素大于8之后,判断当前数组长度,如果数组长度小于64并不会马上转为红黑树,而是进行扩容。
浙公网安备 33010602011771号