Java实现链表
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。(逻辑地址相连,物理地址不相连)
| 指令码 | 操作码(助记符) | 操作数 | 描述(栈指操作数栈) |
|---|---|---|---|
| 0x01 | aconst_null | null值入栈 | |
| 0x02 | iconst_m1 | -1(int)值入栈 | |
| 0x03 | iconst_0 | 0(int)值入栈 | |
| 0x04 | iconst_1 | 1(int)值入栈 | |
| 0x05 | iconst_2 | 2(int)值入栈 | |
| 0x06 | iconst_3 | 3(int)值入栈 | |
| 0x07 | iconst_4 | 4(int)值入栈 | |
| 0x08 | iconst_5 | 5(int)值入栈 | |
| 0x09 | lconst_0 | 0(long)值入栈 | |
| 0x0a | lconst_1 | 1(long)值入栈 | |
| 0x0b | fconst_0 | 0(float)值入栈 | |
| 0x0c | fconst_1 | 1(float)值入栈 | |
| 0x0d | fconst_2 | 2(float)值入栈 | |
| 0x0e | dconst_0 | 0(double)值入栈 | |
| 0x0f | dconst_1 | 1(double)值入栈 | |
| 0x10 | bipush | valuebyte | valuebyte值带符号扩展成int值入栈 |
| 0x11 | sipush | valuebyte1 valuebyte2 | (valuebyte1 << 8)|valuebyte2 值带符号扩展成int值入栈。 |
| 0x12 | ldc | indexbyte1 | 常量池中的常量值 (int, float, string reference, object reference)入栈。 |
| 0x13 | ldc_w | indexbyte1 indexbyte2 | 常量池中常量 (int, float, string reference, object reference)入栈。 |
| 0x14 | ldc2_2 | indexbyte1 indexbyte2 | 常量池中常量(long, double)入栈。 |
graph LR java --> B(JUC) B --> ConcurrentXXX B --> AtomicXXX B --> Executor B --> Caller&&Future B --> Queue B --> Locks java --> C(数据类型) C --> 空间占用 C --> 基本数据结构 C --> 自动转型与强制转型 C --> 封箱与拆箱 java --> 版本差异新特性 java --> 动态代理与反射 java --> E(常用集合) E --> HashMap E --> ConcurrentHashMap E --> ArrayList&LinkedList E --> HashSet E --> TreeMap java --> F(对象引用) F --> 强引用 F --> 弱引用 F --> 软引用 F --> 虚引用 java --> G(扩展知识点) G --> SPI机制 G --> 注解处理机制