神秘杰克

257
获赞数
2
关注数
394
粉丝数
杭州
IP 属地浙江
2018-03-11 加入
浏览 31.2k

Be a good developer.
微信公众号:Java菜鸟程序员

768 声望|达人
全站排名超越 98% 用户
java
706
jvm
159
并发编程
90
并发
90
面试
88
黄金勋章
暂未获得该勋章
如何获得
个人动态
  • 发布了文章2022-09-22
    Redis开发与运维之内存优化
    type:表示当前对象使用的数据类型,主要就是 string、hash、list、set、zset 五种。4 表示占 4 个 bit 位。📢:使用 type [key] 命令可以查看对象的所属类型,返回的是值对象的类型,键都为 string 类型。
  • 发布了文章2022-08-16
    Redis设计与实现之简单动态字符串
    Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组),而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型,并将 SDS 用作 Redis 的默认字符串表示。
  • 发布了文章2022-06-17
    Spring源码之容器的功能扩展和refresh方法解析
    在之前文章中我们了解了关于Spring中bean的加载流程,并一直使用BeanFactory接口以及它的默认实现类XmlBeanFactory,在Spring中还提供了另一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。
  • 发布了文章2022-06-08
    Spring源码之Bean的加载(五) populateBean 和 DisposableBean
    前一篇文章主要讲解了创建 bean 中的 createBeanInstance 方法和实例化过程。本文继续讲解关于 bean 的加载过程中属性注入和注册 DisposableBean。
  • 发布了文章2022-06-07
    Spring源码之Bean的加载(四)
    之前文章我们说过在经历了 resolveBeforeInstantiation 方法后,程序会有两个选择,如果创建了代理或者重写了 InstantiationAwareBeanPostProcessor 中的 postProcessBeforeInstantiation 方法并在方法 postProcessBeforeInstantiation 中改变了 bean,则会直接返回...
  • 发布了文章2022-06-03
    Spring源码之Bean的加载(三)
    之前文章主要讲解了从bean的实例中获取对象,准备过程以及实例化的前置处理。实例化bean是一个非常复杂的过程,本文主要讲解Spring是如何解决循环依赖。
  • 发布了文章2022-06-02
    Spring源码之Bean的加载(二)
    之前文章主要对 getBean 方法进行简单的介绍,和 FactoryBean 的作用,以及是如何从缓存中获取 bean。本文继续讲解 bean 的加载流程。
  • 发布了文章2022-05-30
    Spring源码之Bean的加载(一)
    bean 的加载之前文章主要分析了对 XML 配置文件的解析,接下来就是对 bean 的加载进行分析,同样开始用最开始的代码为入口。入口代码 getBean {代码...} 从这里我们快速先大致了解一下是如何实现的。从 BeanFactory 接口中我们选择对应实现类为 AbstractBeanFactory...
  • 发布了文章2022-04-07
    Spring源码之默认标签解析及BeanDefinition注册
    开篇上一篇讲解了 Spring 中的标签包含自定义标签和默认标签,这两种方式存在较大不同,所以本文主要讲解默认标签的解析过程。默认标签的解析是在 parseDefaultElement 方法中。该方法分别对不同标签做不同处理。 {代码...} Bean 标签的解析及注册这四种中,我们主要...
  • 发布了文章2022-03-21
    Spring源码之容器的基本实现
    开篇本文主要基于SpringFramework5.2.0.RELEASE版本,源码的下载步骤在别的文章中已经讲过,这里就不再赘述。容器的基本用法我们先创建一个简单的示例来看一下容器的基本用法。创建一个简单的 Java Bean。 {代码...} 创建一个简单 Spring 配置文件。 {代码...} ok,...
  • 发布了文章2022-03-18
    学习Spring源码篇之环境搭建
    本文是学习 Spring 源码的第一篇,下载 Spring 源码及编译运行并测试。环境准备JDK11、Gradle、Maven、SpringFramework 5.2.0.RELEASE下载源码及编译进入 github :[链接]在 Tags 中选择需要的版本,随后右侧下载即可。下载完成解压后,进入spring-framework-5.2.0.R...
  • 回答了问题2022-03-05
    java源代码学习顺序
    lang包 util包 io包 nio包 juc包
  • 发布了文章2022-02-09
    Java JUC ThreadPoolExecutor解析
    线程池主要解决两个问题:一是当执行大量异步任务时线程池能够提供较好的性能。在不使用线程池时,每当需要执行任务时就需要 new 一个线程来执行,频繁的创建与销毁非常消耗性能。而线程池中的线程是可以复用的,不需要在每次需要执行任务时候都重新创建和销毁。二是...
  • 发布了文章2022-02-07
    Java JUC PriorityBlockingQueue解析
    PriorityBlockingQueue 是一个带有优先级的无界阻塞队列,每次出队返回的都是优先级最高或者最低的元素。在内部是使用平衡二叉树堆实现,所以遍历元素不保证有序。
  • 发布了文章2022-01-26
    Java JUC LinkedBlockingQueue解析
    上篇介绍了使用CAS算法实现的非阻塞队列ConcurrentLinkedQueue,本篇介绍的是使用独占锁实现的阻塞队列LinkedBlockingQueue。
  • 发布了文章2022-01-25
    Java JUC ConcurrentLinkedQueue解析
    ConcurrentLinkedQueue 是线程安全的无界非阻塞队列,底层使用单向链表实现,对于入队和出队操作使用 CAS 实现线程安全。
  • 发布了文章2022-01-24
    Java JUC ReentrantReadWriteLock解析
    ReentrantReadWriteLock 和 ReentrantLock 的区别是,ReentrantLock 是独占锁,同一时间只能有一个线程获取锁,但在实际中更多的是读多写少的情况,显然 ReentrantLock 满足不了该情况,而 ReentrantReadWriteLock 采用了读写分离的策略,可以允许多个线程同时进行读...
  • 发布了文章2022-01-21
    Java JUC ReentrantLock解析
    它具有与synchronized相同的基本行为和语义,但 ReentrantLock 更灵活、更强大,增加了轮询、超时、中断等高级功能,并且还支持公平锁和非公平锁。
  • 发布了文章2022-01-20
    Java JUC 抽象同步队列AQS解析
    AbstractQueuedSynchronizer 抽象同步队列简称 AQS,它是实现同步器的基础组件,并发包中的锁底层都是使用 AQS 来实现的,下面看下 AQS 的类图结构。
  • 发布了文章2022-01-19
    Java JUC LockSupport概述
    LockSupport 类和每个使用它的线程都会关联一个许可证,在默认情况下调用 LockSupport 类的方法是不持有许可证的。LockSupport 是使用 Unsafe 类实现的。