java
coderate
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java基础---LinkedList源码分析
0. 核心字段 transient int size = 0; transient Node<E> first; transient Node<E> last; Node类的定义: private static class Node<E> { E item; Node<E> next; Node<E>...原创 2018-06-18 12:01:06 · 304 阅读 · 0 评论 -
Java基础---ArrayList的源码分析
1. 构造函数 1.1 无参构造函数 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } 1.2 初始化容量大小的构造函数 public Ar...原创 2018-06-18 10:36:57 · 245 阅读 · 0 评论 -
Java使用wait和notify实现生产者和消费者
1. 使用注意事项 永远在synchronized的函数或对象里使用wait、notify和notifyAll,不然Java虚拟机会生成IllegalMonitorStateException。 永远在while循环里而不是if语句下使用wait。这样,循环会在线程睡眠前后都检查wait的条件,并在条件实际上并未改变的情况下处理唤醒通知。 永远在多线程间共享的对象上使用wait。 notify...原创 2018-05-25 18:09:00 · 7384 阅读 · 0 评论 -
Java基础---String的==与equals比较
1.一道题目 给出以下代码,请回答出输出内容是什么。 String s1 = "Hello"; String s2 = "Hello"; String s3 = new String(("Hello")); char[] chs = {'H', 'e', 'l', 'l', 'o'}; System.out.println(s1 == s2);//true System.out.println..原创 2018-05-18 09:53:40 · 221 阅读 · 0 评论 -
Java内存模型
衡量一个服务性能的高低好坏,每秒事务处理数(TPS)是最重要的指标之一,它代表着一秒内服务端平均能响应的请求总数,而TPS值与程序的并发能力又有非常密切的关系。 Java虚拟机规范中试图定义一种Java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果。 Java内存规范规定了所有的变量都存储在主内存中,每条线程都还有自己的工作内存...原创 2018-04-28 10:15:27 · 219 阅读 · 0 评论 -
Java垃圾回收
为什么要了解GC和内存分配? 因为当排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们需要对这些技术实施必要的监控和调节。 Java堆和方法区不一样,一个接口中的多个实现类需要的内存不一样,一个方法中的多个分支需要的内存也不一样,我们只有在程序处于运行期间才能知道会创建哪些对象,这部分内存的分配和回收是动态的,垃圾收集器所关注的就是这部分内存。 Java语...原创 2018-04-28 10:15:16 · 149 阅读 · 0 评论 -
Java基础---HashMap源码分析
0. 核心字段 核心常量 static final float DEFAULT_LOAD_FACTOR = 0.75f; static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; 核心字段 transient int size; int threshold; final float...原创 2018-06-18 14:49:06 · 355 阅读 · 0 评论
分享