知优码

Java源码

Java源码

  • Java中substring()工作原理

    Java中substring()工作原理

    sub 是 subtract 的缩写,因此 substring 的字面意思就是“把字符串做个减法”。

    java项目经验
  • java同步ReentrantLock源码解析(一)——公平锁、非公平锁

    java同步ReentrantLock源码解析(一)——公平锁、非公平锁

    问题(1)重入锁是什么?(2)ReentrantLock如何实现重入锁?(3)ReentrantLock为什么默认是非公平模式?(4)ReentrantLock除了可重入还有哪些特性?简介Reentr

  • 跳表数据结构

    跳表数据结构

    何为跳表?跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能

  • java同步系列之AQS起篇

    问题(1)AQS是什么?(2)AQS的定位?(3)AQS的实现原理?(4)基于AQS实现自己的锁?简介AQS的全称是AbstractQueuedSynchronizer,它的定位是为Java中几乎所有

  • java集合之ConcurrentHashMap源码分析(三)

    删除元素删除元素跟添加元素一样,都是先找到元素所在的桶,然后采用分段锁的思想锁住整个桶,再进行操作。public V remove(Object key) {// 调用替换节点方法return rep

  • java集合之ConcurrentHashMap源码分析(二)——扩容

    初始化桶数组第一次放元素时,初始化桶数组。private final Node[] initTable() {Node[] tab; int sc;while ((tab = ta

  • java同步之锁Lock

    java同步之锁Lock

    问题(1)自己动手写一个锁需要哪些知识?(2)自己动手写一个锁到底有多简单?(3)自己能不能写出来一个完美的锁?简介本篇文章的目标一是自己动手写一个锁,这个锁的功能很简单,能进行正常的加锁、解锁操作。

  • java同步系列之synchronized解析

    问题(1)synchronized的特性?(2)synchronized的实现原理?(3)synchronized是否可重入?(4)synchronized是否是公平锁?(5)synchronized

  • java集合之ConcurrentHashMap源码分析(一)

    开篇问题(1)ConcurrentHashMap与HashMap的数据结构是否一样?(2)HashMap在多线程环境下何时会出现并发安全问题?(3)ConcurrentHashMap是怎么解决并发安全

  • java同步系列之volatile解析

    java同步系列之volatile解析

    问题(1)volatile是如何保证可见性的?(2)volatile是如何禁止重排序的?(3)volatile的实现原理?(4)volatile的缺陷?简介volatile可以说是Java虚拟机提供的

  • 如何阅读jdk源码?

    简介这篇文章主要讲述jdk本身的源码该如何阅读,关于各种框架的源码阅读我们后面再一起探讨。笔者认为阅读源码主要包括下面几个步骤。设定目标凡事皆有目的,阅读源码也是一样。从大的方面来说,我们阅读源码的目

  • Java内存模型介绍(Java Memory Model)

    Java内存模型介绍(Java Memory Model)

    简介Java内存模型是在硬件内存模型上的更高层的抽象,它屏蔽了各种硬件和操作系统访问的差异性,保证了Java程序在各种平台下对内存的访问都能达到一致的效果。硬件内存模型在正式讲解Java的内存模型之前

  • java集合之TreeMap源码分析(四)

    java集合之TreeMap源码分析(四)

    二叉树的遍历我们知道二叉查找树的遍历有前序遍历、中序遍历、后序遍历。(1)前序遍历,先遍历我,再遍历我的左子节点,最后遍历我的右子节点;(2)中序遍历,先遍历我的左子节点,再遍历我,最后遍历我的右子

  • java同步系列之开篇

    简介java中的CountDownLatch、Semaphore、CyclicBarrier这些类又不属于锁,它们和锁又有很多共同点,都是为了协同多线程的执行,都是一种同步器,所以这里就借用同步来取名

 45    1 2 3 4 下一页 尾页