paine1690

学而时习之不亦说乎 ?


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

ConcurrentHashMap源码分析

发表于 2016-11-12 | 分类于 Java | 阅读次数:
本文的分析的源码是JDK8的版本,与JDK6的版本有很大的差异。实现线程安全的思想也已经完全变了,它摒弃了Segment(锁段)的概念,而是启用了一种全新的方式实现,利用CAS算法。它沿用了与它同时期的HashMap版本的思想,底层依然由“数组”+链表+红黑树的方式思想,但是为了做到并发,又增加了很 ...
阅读全文 »

LinkedHashMap源码分析

发表于 2016-11-12 | 分类于 Java | 阅读次数:
LinkedHashMap是前面分析过的HashMap的子类,主要的作用就是在HashMap的基础上可以保证元素的插入顺序或访问顺序,内存访问算法中很经典的LRU算法就可以基于LinkedHashMap实现,在面试中也很常见。 LinkedHashMap继承自HashMap,关于map的操作基本一样 ...
阅读全文 »

Java的fail-fast机制

发表于 2016-11-12 | 分类于 Java | 阅读次数:
一、fail-fast机制本来准备看一下concurrentHashMap,但是发现对多线程的一些机制还不是很清楚,比如fail-fast机制,在List和HashMap中都遇到了,但是当时都是直接略过,所以在此总结一下该机制。 1、定义“快速失败”也就是fail-fast,它是Java集合的一种错 ...
阅读全文 »

PriorityQueue源码分析

发表于 2016-11-12 | 分类于 Java | 阅读次数:
Priorityqueue是Java7后加入的优先级队列,继承自AbstractQueue,而AbstractQueue,实现了Queue接口,也就是说Priorityqueue是实现了Queue接口的,带有优先级的队列。 内部实现上采用的是最小堆,即每次取出优先级最小的元素。相对来说实现上比较简单 ...
阅读全文 »

HashMap源码分析

发表于 2016-11-12 | 分类于 Java | 阅读次数:
Hashmap是Java中非常常用的容器,在网上看见很多源码分析都是以前版本的,本文章结合JDK1.8的源码对HashMap进行简单的分析,在学习的过程中发现HashMap的源码远比前面的List要复杂的多,花了好长时间才理清关系。 O、哈希函数的构造方法与冲突处理在面试的时候经常见到哈希冲突的解决 ...
阅读全文 »

LinkedList源码分析

发表于 2016-11-12 | 分类于 Java | 阅读次数:
分析完Arraylist后来看一下List的另一种实现LinkedList。LinkedList底层使用的是双向链表结构,内部类定义了节点结构,一个头结点和尾节点表示队列的开始和结尾。与ArrayList不同的是,LinkedList除了实现了List接口外,还实现了Deque接口,而Deque接口 ...
阅读全文 »

ArrayList源码分析

发表于 2016-11-12 | 分类于 Java | 阅读次数:
ArrayList是Java集合中最常用的,基于一个数组实现的,容量可以动态增长。 ArrayList不是线程安全的,只能在单线程环境下使用。 本文以jdk1.8的源码为例,分析其实现机制。 一、基本属性与构造函数12345678910111213141516171819202122 ...
阅读全文 »

虚拟机类加载机制

发表于 2016-11-02 | 分类于 JVM | 阅读次数:
虚拟机类加载机制:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 一、加载的时机1、类的生命周期 类的生命周期有一下7个阶段: 加载 loading 验证 verification 准备 preparation 解析 ...
阅读全文 »

JVM垃圾回收机制

发表于 2016-11-02 | 分类于 JVM | 阅读次数:
Java的垃圾回收(Garbage Collection, GC)机制一直面试最常见的问题,谈到垃圾回收,首先应该想到的就是三个大问题: 那些内存需要回收 如何回收 什么时候回收 了解了这三个问题,就对jvm的内存机制有了整体的了解。接下来分别讨论下这三个问题。 一、哪些内存需要回收Java中几 ...
阅读全文 »

浅析HTTPS协议

发表于 2016-10-31 | 分类于 计算机网络 | 阅读次数:
一、基本概念1、HTTPSHTTPS,也称作HTTP over TLS。TLS的前身是SSL。端口为443。 下图描述了在TCP/IP协议栈中TLS(各子协议)和HTTP的关系 其中Handshake protocol,Change Ciper Spec protocol和Alert protoc ...
阅读全文 »
1…567

paine

paine1690

65 日志
11 分类
29 标签
© 2018 paine
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4