一点一点看JDK源码(二)java.util.List
一点一点看JDK源码(二)java.util.Listliuyuhang原创,未经允许进制转载本文举例使用的是JDK8的API目录:一点一点看JDK源码(〇)1.综述List译为表,一览表,列表,目录,名单,有种index的意味在里头编程语言中的List是强调线性,可以简单的视为一个双向串行的集合L...
JDK1.8源码(一)——java.util.ArrayList
ArrayList 定义ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复。 public class ArrayList<E> extends AbstractList<E> implements List<E>, R...
HashMap实现原理及源码分析之JDK8
继续上回HashMap的学习 HashMap实现原理及源码分析之JDK7转载 Java8源码-HashMap 基于JDK8的HashMap源码解析 【jdk1.8】HashMap源码分析一、HashMap简单介绍首先看下HashMap在JDK8下数据结构:JDK 8 之前:JDK 8 之前 Ha...
linux下源码安装jdk1.8和tomcat8.5
Java是目前可移植性较高的语言,相当火热,tomcat运行就需要Java语言环境0.java简介1)tomcat运行需要对应的Java环境,Java环境通过安装jdk来获得2)为了防止兼容性问题,tomcat和Java的版本最好对应,一般java-1.8对应tomcat8,java-1.7对应to...
JDK Collection 源码分析(1)—— Collection
JDK Collection JDK Collection作为一个最顶层的接口(root interface),JDK并不提供该接口的直接实现,而是通过更加具体的子接口(sub interface)的实现。该接口存在是因为有时候需要更加通用的Collection来对元素进行操作,比如一个方法,接收...
String,StringBuffer和StringBuilder源码解析[基于JDK6]
最近指导几位新人,学习了一下String,StringBuffer和StringBuilder类,从反馈的结果来看,总体感觉学习的深度不够,没有读出东西。其实,JDK的源码是越读越有味的。下面总结一下我读这些源码的收获吧。注意:虽然源码的版本是JDK6,但是个人觉得学习这个版本的源码对于理解数据结构...
从源码看JDK提供的线程池(ThreadPoolExecutor)
一丶什么是线程池(1)博主在听到线程池三个字的时候第一个想法就是数据库连接池,回忆一下,我们在学JavaWeb的时候怎么理解数据库连接池的,数据库创建连接和关闭连接是一个比较耗费资源的事情,对于那些数量多且时间短暂的任务,会导致频繁获取和释放连接,这样使得处理事务的效率大大降低,多以我们创建一个连接...
【转载】MacOS下IntelliJ IDEA关联JDK1.8源码
原文地址: MacOS下IntelliJ IDEA关联JDK1.8源码1 打开jdk设置,找到具体添加的地方2 找到自己jdk的源码位置替换掉3 如果没有源码或者源码没有下载解压,自己下载解压,Mac下安装的自带src.zip和javax-src.zip解压好后,再添加4 自带的jdk的zip包里面...
JDK1.8源码分析之HashMap(一) (转)
一、前言在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只有一个,那就是在安全和功能性完备的情况下让其速度更快,提升性能。好...
JDK源码学习系列02----AbstractStringBuilder
JDK源码学习系列02----AbstractStringBuilder因为看StringBuffer 和 StringBuilder 的源码时发现两者都继承了AbstractStringBuilder,并且很多方法都是直接super的父类AbstractStringBuilder的方法,所以还是...
绝对良心提供百度网盘的jdk1.8源码下载包含sun包的
但是openjdk网站有提供的:http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/6bfaecb8ff77/src/share/classes/或者直接用百度网盘下载:https://pan.baidu.com/s/1JaX50ETPaneQ-xFut3
jdk1.8源码Synchronized及其实现原理
一、Synchronized的基本使用关于Synchronized在JVM的原理(偏向锁,轻量级锁,重量级锁)可以参考 : http://www.cnblogs.com/dennyzhangdd/p/6734638.htmlSynchronized是Java中解决并发问题的一种最常用的方法,也是最...
【集合框架】JDK1.8源码分析之Comparable && Comparator(九)
一、前言在Java集合框架里面,各种集合的操作很大程度上都离不开Comparable和Comparator,虽然它们与集合没有显示的关系,但是它们只有在集合里面的时候才能发挥最大的威力。下面是开始我们的分析。二、示例在正式讲解Comparable与Comparator之前,我们通过一个例子来直观的感...
JAVA常用集合源码解析系列-ArrayList源码解析(基于JDK8)
文章系作者原创,如有转载请注明出处,如有雷同,那就雷同吧~(who care!)一、写在前面这是源码分析计划的第一篇,博主准备把一些常用的集合源码过一遍,比如:ArrayList、HashMap及其对应的线程安全实现,此文章作为自己相关学习的一个小结,记录学习成果的同时,也希望对有缘的朋友提供些许帮...
JDK源码之Lock接口
public interface Lock { //阻塞的获取锁,如果获取到锁,从该方法返回 void lock(); //可中断的获取锁,该方法会响应中断,在锁的获取中可以中断当前线程 void lockInterruptibly() throws InterruptedE...
JDK源码解读之toUnsignedString
我们知道,所有整数都是通过二进制编码的形式存储在内存中的。比如32位的整数,最高位是符号位,0代表正数,1代表负数。那么怎么才能够将整数的二进制编码形式打印出来呢?Integer类提供了一个公有静态方法toBinaryString能够达到这一目的。我们来看看这段源码:public static St...
HashMap源码解析(JDK1.8)
package java.util; import sun.misc.SharedSecrets; import java.io.IOException; import java.io.InvalidObjectException; import java.io.Serializable; imp...
Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析
目录0.前言1.TemporalAccessor源码2.Temporal源码3.TemporalAdjuster源码4.ChronoLocalDate源码5.LocalDate源码6.总结0.前言通过前面Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中主...
【集合框架】JDK1.8源码分析之HashMap(一)
一、前言在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只有一个,那就是在安全和功能性完备的情况下让其速度更快,提升性能。好...
【JUC】JDK1.8源码分析之CyclicBarrier(四)
一、前言有了前面分析的基础,现在,接着分析CyclicBarrier源码,CyclicBarrier类在进行多线程编程时使用很多,比如,你希望创建一组任务,它们并行执行工作,然后在进行下一个步骤之前等待,直至所有的任务都完成,和join很类似,下面,开始分析源码。二、CyclicBarrier数据结...