
java se
catnoiofjz
这个作者很懒,什么都没留下…
展开
-
java对象布局
<dependencies> <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.9</version> ...原创 2020-04-24 23:50:23 · 179 阅读 · 0 评论 -
java8接口新特性
变量必须public static final(final则必须有初始值) 方法必须public abstract(抽象就不是静态) java8新增 public interface IUser { static void say() {//静态方法,必须public,不会被继承,不然如果继承2个接口都有相同方法,不知道继承哪个(变量可以继承,但也会出现上述问题,所以方法避开了这个坑)...原创 2020-04-04 23:57:23 · 120 阅读 · 0 评论 -
CurrentHashMap - jdk1.8
1.采用数组 + 链表/红黑树结构 //数组 transient volatile Node<K,V>[] table; //链表 static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; volatile V val; vol...原创 2020-03-23 21:27:12 · 216 阅读 · 0 评论 -
CurrentHashMap - jdk1.7
//采用数组 + 链表结构,再对数组元素采用分段锁 //数组 final Segment<K,V>[] segments; //数组元素 static final class Segment<K,V> extends ReentrantLock implements Serializable { transient volatile HashEntry<K,V&g...原创 2020-03-22 22:01:21 · 229 阅读 · 0 评论 -
HashMap - jdk1.8
1.采用数组 + 链表/红黑树结构,链表元素大于等于8时转为红黑树,树元素个数降到6时转为链表 //数组 transient Node<K,V>[] table; //链表 static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V...原创 2020-03-20 21:29:28 · 88 阅读 · 0 评论 -
HashMap - jdk1.7
1.底层存储是Entry<K,V>[] table,Entry对象里面还有个Entry<K,V> next指着下一个对象 static class Entry<K,V> implements Map.Entry<K,V> { final K key; V value; Entry<K,V...原创 2020-03-18 21:56:06 · 145 阅读 · 0 评论 -
线程池7大参数
提交任务 1.判断核心线程是否已满,未满则创建新线程执行,否则下一步 2.判断工作队列是否已满,未满则添加到队列中等待,否则下一步 3.判断线程池是否已满,未满则创建新线程执行任务,否则按饱和策略处理无法执行的任务 ps任务提交到线程池,优先创建新线程执行,如创建不了,则放进队列中,等待有空闲线程再执行 public ThreadPoolExecutor (int corePoolSize,核...原创 2020-03-08 22:21:03 · 1964 阅读 · 0 评论 -
volatile
volatile特性内存可见性:通俗来说就是,线程A对一个volatile变量的修改,对于其它线程来说是可见的,即线程每次获取volatile变量的值都是最新的。指令有序性:禁止进行指令重排序。volatile的使用场景通过关键字sychronize可以防止多个线程进入同一段代码,在某些特定场景中,volatile相当于一个轻量级的sychronize,因为不会引起线程的上下文切换,但是使用vol...转载 2018-05-27 20:54:29 · 589 阅读 · 0 评论 -
jvm一些知识
转自:http://pengjiaheng.iteye.com/blog/518623?page=2#comments 的一系列文章 一,数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所转载 2017-03-27 23:08:52 · 220 阅读 · 0 评论