- 博客(17)
- 资源 (3)
- 收藏
- 关注
原创 ExecutorService框架
java中的ExecutorService主要是围绕Executor,ExecutorService,Runnable,Future,Delayed几个抽象类来展开的。Runnalbe+Future构成了基于返回值的,Runnable+Future+Delay构成了基于时间调度的1、ExecutorService的类层次设计2、Future类层次设计3、ThreadPoolExecutor中的拒绝策略设计4、BlockingQueue类层次设计5、Completi...
2020-12-27 18:21:43 221
原创 spring中是如何解析@Profile注解的
profile注解定义为@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documented@Conditional(ProfileCondition.class)public @interface Profile { /** * The set of profiles for which the annotated component should be regist
2020-12-24 00:09:50 231
原创 spring mvc框架设计与实现
spring mvc框架通过DispatcherServlet来作请示分发,主要由HandlerMapping,HandlerAdapter,HandlerInterceptor三个抽象来完成。通过HandlerMapping得到HandlerExcecutionChain,其主要由HandlerInterceptor及对应的handler构成,HandlerAdapter来适配handler.1、HandlerMapping类层次2、HandlerInterceptor类层次设计3、.
2020-12-23 22:59:59 733
原创 spring中aop设计与实现
1、pointcut切点主要是定义在何处,主要基于ClassFilter及MethodMatcher来匹配,对于MethodMatcher又分为静态和动态。其类层次设计图为
2020-12-15 21:35:08 315
原创 spring如何解决循环依赖
spring中循环依赖有三种情况:1、构造器注入形成的循环依赖。这种难以解决2、setter注入构成的循环依赖,可以解决3、prototype作用域的循环依赖。这种循环依赖同样无法解决。bean的创建,在getSingleton中会记录bean在创建中,通过注册一个工厂方法来解决循环依赖if (mbd.isSingleton()) { sharedInstance = getSingleton(beanName, () -> { try { r
2020-12-13 21:30:48 300
原创 LeetCode 464 Can I Win(min-max博弈算法)
问题:给出最大可选整数及目标数,使得所选的数的总和最先大于等于目标数的作为胜利者。思路:使用极大极小值算法。根据在搜索树上遍历可选集合,如果已经选择过,则直接跳过。因为可选的整数在[1,20]区间内,可以使用位压缩来表示当前的选择状态。具体代码参考:https://github.com/wuli2496/OJ/tree/master/LeetCode/464%20Can%20I%20Win...
2020-12-13 15:55:00 299
原创 minimax search算法
局面估价函数:给每个局面(state)规定一个估价函数值f,评价它对于己方的有利程度。胜利的局面的估价函数值为,而失败的局面的估价函数为-Max局面:假设这个局面轮到己方走,有多种决策可以选择,其中每种决策都导致一个子局面(sub-state)。由于决策权在我们手中,当然是选择估价函数值f最大的子局面。因此,该局面的决策函数等于子局面f值的最大值,把这样的局面称为max局面。Min局面:假设这个局面轮到对方走,它也有多种决策可以选择,其中每种决策都也会导致一种子局面,但由于决策权在对方手中,在最坏的
2020-12-13 13:10:49 630
原创 redis中的quicklist
1、结构count:表示ziplist中所有实体的总数len:表示quicklistnode的个数sz:表示ziplist的字节大小
2020-12-02 22:23:58 373
原创 redis中的ziplist
1、结构zlbytes:4字节,记录整个压缩列表占用的内存字节数zltail:4字节,记录压缩列表表尾节点距离压缩列表的起始地址有多少字节。zllen:2字节,记录了压缩列表包含的节点数,当这个属性的值小于UINT16_MAX时,这个属性的值就是压缩列表包含节点的数量 ,当这个值等于UINT16_MAX时,节点的真实数量需要遍历整个压缩列表才能计算得出。zlend:1字节,特殊值0xff,用于标记压缩列表的末端。压缩列表节点可以保存一个字节数组或者一个整数。字节数组(1)长度
2020-12-01 22:52:04 771
Ubuntu Linux实用学习教程.pdf
2009-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人