摘要: 1:对进行分配内存的动作进行同步处理-实际上虚拟机采用CAS配上失败重试的方式保证更新操作的原子性。 2:把内存分配的动作按照线程划分在不同的空间之中进行,即每个线程预先在JAVA堆中预先分配一小块内存,称为本地线程分配缓存(TLAB)。 哪个线程要分配内存,就在哪个线程的TLAB上进行分配。只有在 阅读全文
posted @ 2018-07-22 14:42 wanghonglin 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 1:双端:链表节点带有prev和next, 获取某个节点的前置节点和后置节点的时间负责度是O(1) 2:无环:链表表头节点的prev和链表尾部节点的next多为NULL, 对链表的访问以NULL为终点。 3:带表头指针和表尾指针:通过list结构的head指针和tail指针,程序获取链表的表头节点和 阅读全文
posted @ 2018-07-21 13:25 wanghonglin 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 1:创建表(id, key, value, version), 添加一条数据 1,serviceNum, 0, 1 2:每台service或者web启动的时候往数据库value值加1 3:AtomicLong c = new AtomicLong(value * 需要生成的ID数量) 4:分布式ID 阅读全文
posted @ 2018-07-21 11:45 wanghonglin 阅读(226) 评论(0) 推荐(0) 编辑