2022年12月

前言

链表是一种由“节点”组成的数据结构,每个节点都储存着指向下一个节点的指针。通常来讲,指针都是存储的物理地址,因此在无法获取物理地址的语言里无法实现(比如BASIC);不过,其实也有别的方法在这些语言里实现指针的功能——即使用数组,以对象在数组内的索引作为指针的值。

- 阅读剩余部分 -

引言

今天面试,面试官问了一道经典的问题:

一个5L的杯子和一个3L的杯子,水无限,如何得到4L水?

这个问题非常经典,经典到我下意识就能回忆起解法:

  1. 将5L杯子装满水,然后倒满3L的杯子,此时5L杯子里有2L水
  2. 将3L杯子清空
  3. 将5L被子里剩余的2L水导倒入3L杯子中
  4. 5L杯子取水,倒入3L杯,此时5L杯中就有4L水了

- 阅读剩余部分 -

cglib 是 Spring 框架默认使用的动态代理库,其主要工作原理是使用 ASM 技术在运行现场制造出被代理对象的子类,并以子类的对象替换被代理对象。其与 Java 的动态的主要不同是其不受代理接口的限制,但是无法代理 final 类。

- 阅读剩余部分 -