240 发简信
IP属地:上海
  • 浅析 Linux 进程与线程

    简介 进程与线程是所有的程序员都熟知的概念,简单来说进程是一个执行中的程序,而线程是进程中的一条执行路径。进程是操作系统中基本的抽象概念,本文介...

  • Redis 的持久化与过期键

    简介 Redis 是使用非常广泛的 Key-Value 内存数据库。因为数据都存放在内存中,所以存取速度非常快。不过,很多情况下我们需要将 Re...

  • MyBatis 源码解析(二):SqlSession 执行流程

    简介 上一篇文章(MyBatis 源码解析(一):初始化和动态代理)分析了 MyBatis 解析配置文件以及 Mapper 动态代理相关的源码,...

  • MyBatis 源码解析(一):初始化和动态代理

    简介 MyBatis 是 Java 开发中非常流行的 ORM 框架,其封装了 JDBC 并且解决了 Java 对象与输入参数和结果集的映射,同时...

  • 函数栈的实现原理

    简介 编程语言离不开函数,函数是对一段代码的封装,往往实现了某个特定的功能,在程序中可以多次调用这个函数。稍有编程经验的同学都知道,函数是由栈实...

  • 从 AbstractQueuedSynchronizer 理解 ReentrantLock

    简介 Java 并发编程离不开锁, Synchronized 是常用的一种实现加锁的方式,使用比较简单快捷。在 Java 中还有另一种锁,即 L...

  • ELF 文件结构及静态链接

    简介 C/C++ 代码在变成可执行文件之前需要经历预处理、编译、汇编以及链接这几个步骤,最终生成的可执行文件包含了能够被系统处理的机器码。可执行...

  • volatile 的用法与原理

    简介 在 Java 并发编程中,volatile 是经常用到的一个关键字,它可以用于保证不同的线程共享一个变量时每次都能获取最新的值。volat...

  • OkHttp 源码解析(三):连接池

    简介 上一篇文章(OkHttp 源码解析(二):建立连接)分析了 OkHttp 建立连接的过程,主要涉及到的几个类包括 StreamAlloca...