
Java源码
CodeWorkerZHL
科大小硕一枚
展开
-
HashMap源码解读(一)
1.前言 在我们面试过程中,经常会遇到要求说HashMap的底层实现,在JDK源码中,Oracle公司给出了我们HashMap的源码,通过阅读HashMap的源码,我们可以很清楚的知道HashMap是怎么实现的。下面我们开始阅读HashMap的源码吧。 2.关于HashMap的类的继承与实现 public class HashMap<K,V> extends Abst...原创 2018-04-20 21:08:32 · 240 阅读 · 0 评论 -
HashMap源码解读(二)
1.前言 上次的博客,主要讲了HashMap的数据结构,没有详细的阐述HashMap的具体实现。在这次的博客中通过阐述put()方法和get()方法来阐述HashMap怎么实现的。 2.put方法 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } fina...原创 2018-04-25 13:21:30 · 198 阅读 · 0 评论 -
Java多线程之线程池
1. 前言 我们经常在Java并发框架中用到线程池。关于线程池我们该了解哪些东西的。 线程池实现的基本原理 常用的线程池的介绍,以及其源码的实现。 2. 线程池的基本原理 其线程池执行execute()方法的过程如下: 如果当前运行的线程少于corePoolSize,则创建新线程来执行任务。 如果运行的线程等于或多于corePoolSize,则...原创 2018-05-12 19:15:14 · 207 阅读 · 0 评论 -
可重入锁ReetrantLock源码分析
前言 关于锁,大家都清楚的是synchronized,和lock接口。关于lock显式锁,我们常用的是ReentrantLock类中的公平锁和非公平锁。本篇文章根据ReentrantLock和AbstractQueuedSynchronizer的源码来分析可重入锁中的公平锁和非公平锁的实现机制。 非公平锁 在ReentrantLock中默认的是非公平锁,我们先来看一下非公平锁的实现机制。...原创 2018-09-03 10:19:39 · 413 阅读 · 0 评论 -
String、StringBuffer和StringBuilder之间的区别
前言 在平常使用Java语言中的字符串的时候,会有三个数据结构供使用,String、StringBuffer和StringBuilder该使用哪一个呢?下面探讨一下其中的异同点。 String 先看下其Java源码 public final class String implements java.io.Serializable, Comparable<String>, Cha...原创 2019-04-01 19:47:50 · 158 阅读 · 0 评论