⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠

Text Elements

堆 ^2FeCciaM

栈 ^X8iHTvy6

fttl ^miH7tBIF

threadRef ^SYyBJYOc

fast thread ^9G4PNLC7

threadMap ^v4zpg8G7

value ^4UBm1Seu

value ^nS9KzrkE

UNSET ^diPgbY99

fast thread local ^1vkyLoFy

fttl: fast thread local ^3M4NqvOL

index =1 ^sRMGWrfJ

threadRef ^oy9jq7fL

fast thread ^pNo55ndP

threadMap ^q1ezS77w

value ^tyoT1omm

value ^AcskzjRB

UNSET ^irkkgNgS

index =1 ^atQJO08c

每个fttl都有一个index,是自增的。 ^VhW89Iv7

hash冲突,通过数组来解决。 ^PkcugzVx

%%

Drawing

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

HAgAA===

%%