agmtopy
两数相加--LeetCode02 两数相加--LeetCode02
两数向加 题目 给出两个 非空 的链表用来表示两个非负的整数。其中它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,
2020-05-27
两数之和_LeetCode01 两数之和_LeetCode01
两数之和_LeetCode01 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示
2020-05-26
线程的取消与关闭 线程的取消与关闭
线程的取消与关闭 在看《java并发编程实战》中的线程的取消和关闭中看到两个例子比较有趣,因此记录下来。 程序目的 想通过某种动作来达到取消某个特定线程的执行,从而达到中断改线程的目的 自定义标志位来控制线程的中断 书中先展示了一种反例
2020-05-24
AbstractQueuedSynchronizer的源码分析 AbstractQueuedSynchronizer的源码分析
AbstractQueuedSynchronizer的源码分析 AQS的全称是AbstractQueuedSynchronizer,AQS提供了一个以FIFO的队列,通过定义一系列阻塞线程的操作为ReentrantLock、Reentran
2020-05-22
Guava的使用 Guava的使用
Guava的使用 线程池的使用 ListenableFuture是基于装饰器模式实现的 示例 String nameFormat = "thread_factory_%d"; ThreadFactory shardi
2020-05-20
sharding-jdbc的查询过程分析 sharding-jdbc的查询过程分析
sharding-jdbc的查询过程分析 上一章简单的说了一下sharding-jdbc的使用方法,这一章分析一下sharding-jdbc进行数据分片的原理 概念 数据分片指的是数据按照某个维度将单一数据库的数据分散到多个数据库或多个数据
2020-05-18
微服务架构下分布式事务的思考 微服务架构下分布式事务的思考
微服务架构下分布式事务的思考 从本地事务到分布式事务的演变 分布式事务是什么? 事务是什么? 二阶段提交 有一个协调者分别在准备和执行阶段对参与者发送命令和进行事务处理的逻辑 三阶段 三阶段是作为二阶段的一种改良策略,优化改良了超时等待的问
2020-05-14
sharding-jdbc分库分表实践 sharding-jdbc分库分表实践
sharding-jdbc分库分表实践 在项目中大量的使用到sharding-jdbc,今天将它的实践用法做一个总结。 总结前先提几个问题: 为什么要用sharding-jdbc? 如何使用? 有什么注意事项? 同类型的框架对比? 让我们
2020-05-06
观察者模式 观察者模式
设计模式之观察者模式 观察者模式的定义是一个一对多的依赖关系,让一个或多个观察者对象监控一个主题对象。当主题对象在状态上发生变化时,能够通知所有依赖此主题的观察者对象,使这些观察者对象能够处理此次更新 参与对象 Subject Obs
2020-05-06
垃圾回收 垃圾回收
jvm的垃圾回收机制 由于jvm将所有对象都保存在堆内存中,因此及时腾出堆内存中无用的空间就至关重要了,jvm通过内存回收的方式对堆内存进行回收和整理 回想咱们打扫家务的步骤是不是第一步要将脏东西找出来丢掉,第二步将剩余有用的东西整理码放好
2020-05-05
final的不变性设计 final的不变性设计
final的不变性设计 final的作用 final是用来修饰对象之间不变特性关系的,表示一种不可改变的关系。可以用来修饰变量、方法、类 修饰变量 fianl修饰变量表示一旦赋值关系,那么初始化后这种关系就不能被修改了;final只会保证这
2020-05-04
12 / 17