java基础
侠客一生
这个作者很懒,什么都没留下…
展开
-
JVM内存结构(1.8)
JVM内存区域1.程序计数器2.Java栈(虚拟机栈)1)局部变量表2)操作数栈3)指向运行时常量池的引用4)方法返回地址3.本地方法栈4.堆内存区域 根据《Java虚拟机规范》的规定,运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)。备注:方法区是虚拟机规范中对运行时数据区划分的一个内存区域,不同的虚拟机厂商可以有不同原创 2020-09-28 20:03:26 · 1554 阅读 · 1 评论 -
线程池问题——主线程跑完,线程池是否会继续运行
关于使用线程池,主线程跑完,线程池是否会继续运行的问题 public static void main(String[] args) { ExecutorService executorService = Executors.newFixedThreadPool(2); for (int i = 0; i < 20; i++) { int finalI = i; executorService.execute(() -&原创 2020-09-18 17:55:10 · 1371 阅读 · 0 评论 -
Java集合——Map篇
Java集合MapHashMapConcurrentHashMapMapHashMap数据结构:jdk1.7 数组+链表 jdk1.8 数组+链表/红黑树默认数组大小:16,扩容后或者指定初始大小都要是成2的N次幂,原因是数组扩容后,要对原来的数据重新进行定位,定位方式是 hash值 & (length-1),length是2的N次幂的话,就等于 hash值 % length默认阈值:0.75默认情况下至少要有12个对象进入集合才可能扩容,说是可能,是因为可能会形成链表。(这12指的是原创 2020-09-06 11:38:50 · 171 阅读 · 0 评论