![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 70
fyq2016
一个工地搬砖的
展开
-
Class.forName VS ClassLoader.loadClass
Class.forName VS ClassLoader.loadClass 1、Class.forName 特点 Class.forName有两个重载 有类名、是否初始化、classLoader 只有类名 只有类名的,实际上表现同有1,是否初始化字段默认为true,classLoader是调用者的classLoader 是否初始化:置为false时,不会进行初始化操作,也就不会执行静态代码块 classLoader:指定classLoader,不一定非要是调用者的classLoader Class.f原创 2021-04-22 13:36:36 · 215 阅读 · 0 评论 -
ConcurrentHashMap
ConcurrentHashMap 看ConcurrentHashMap,需要先了解HashMap ConcurrentHashMap和HashMap相同的地方: 数组长度都是2的n次幂 Node结构都相同 hash值都是原hash值高低位异或的结果 ConcurrentHashMap和HashMap不同的地方: 数组初始长度:带容量c造器下,Concurrent要运算 c*1.5+1,可避免扩容 key不能为空 ConcurrentHashMap的hash值的符号位一定是0,拒绝负数 负载因子只有在原创 2021-03-30 16:49:15 · 132 阅读 · 0 评论 -
JAVA的HashMap
HashMap 前置知识点: Hash:将输入转换成一个数字 有几个特点: 多次调用,结果相同 散列,很少的改动,都要尽可能的造成很大的结果波动,避免根据结果的变化来反推源输入 高效 HashMap的数据是怎么保存的? 数组+链表+红黑树 HashMap的几个字段: table:存放数据的数组(Node数组) 负载因子:map的size超过(必须要超过,等于的时候也不扩容)数组长度*负载因子后,就要进行扩容 table的size一定是2的n次幂,因为求余效率高,(-1再与即可) Node有以下四个字原创 2021-03-28 12:28:30 · 64 阅读 · 0 评论 -
JAVA线程池备忘录
JAVA线程池备忘录线城池的实现线程池的参数说明自带的rejectedExecutionHandler 线城池的实现 JAVA中,JDK自带的线程池实现类是 java.util.concurrent.ThreadPoolExecutor 直接创建这个类的实例即可创建一个线程池 线程池的参数说明 ThreadPoolExecutor有很多个构造函数,都是围绕着以下6个参数来变的 corePoo...原创 2020-04-20 10:54:52 · 121 阅读 · 0 评论 -
JVM内存模型
JVM内存模型JVM内存模型各内存保存的数据栈内存溢出 JVM内存模型 各内存保存的数据 方法区 方法区保存的是方法执行的具体操作 栈 栈保存的是方法的执行、基本类型的数据、堆内存的地址 堆 所有分配的对象 程序计数器 程序执行顺序的记录,此内存很小 本地方法栈 此处保存的是操作系统的原生函数 栈内存溢出 若栈内存溢出,会出现StackOverflowError,若调用栈太长,就容易出现此异...原创 2019-11-16 13:39:02 · 112 阅读 · 0 评论