- 博客(46)
- 收藏
- 关注
原创 ThreadLocal、InheritableThreadLoal、TransmittableThreadLocal使用说明以及适用场景
ThreadLocal、InheritableThreadLoal、TransmittableThreadLocal使用说明以及适用场景
2022-09-08 17:49:26 451
原创 springboot的RedisTemplate序列化问题
spring-data-redis提供了多种serializer策略,默认有七种,当然还可以自定义序列化和反序列化方式。JdkSerializationRedisSerializerStringRedisSerializerJacksonJsonRedisSerializerJackson2JsonRedisSerializerGenericJackson2JsonRedisSeria...
2019-07-25 02:24:11 1304
原创 左耳听风ARTS第十九周
Algorithms146. LRU CacheDesign and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and put.get(key) - Get the value (will always be ...
2019-05-13 15:54:51 220
原创 左耳听风第十八周
Algorithms102. Binary Tree Level Order TraversalGiven a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).For example:Given binary tree ...
2019-04-17 09:55:39 166
原创 复杂度分析
一、复杂度分析的四个概念1、最好情况时间复杂度:在最理想的情况下,执行这段代码的时间复杂度。2、最坏情况时间复杂度:在最糟糕的情况下,执行这段代码的时间复杂度。3、平均情况时间复杂度:代码在所有情况下执行的次数的加权平均值。4、均摊情况时间复杂度:平均情况时间复杂度的一种特殊情况。二、实例说明// 全局变量,大小为 10 的数组 array,长度 len,下标 i。int array...
2019-04-16 22:23:16 276
原创 设计模式之策略模式(六)
1、UML类图和时序图2、实例说明spring策略模式实例说明,通过@Resource注解集合或者数组实现。public interface Strategy { void execute();}@Component("ali")public class AliStrategy implements Strategy { @Override public v...
2019-04-15 19:32:21 204
原创 设计模式之外观模式(五)
一、UML类图和时序图二、实例场景说明//计算机启动的过程很复杂,需要CPU、内存和硬件等子系统的密切配合。而通过使用外观模式,客户只需要调用start方法,就可以直接启动计算机了,不需要管内部子系统的复杂调用了。public class Cpu { public void freeze() { } public void jump(long position...
2019-04-09 17:35:59 1415
原创 左耳听风ARTS第十七周
Algorithms15. 3SumGiven an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:The soluti...
2019-04-03 10:25:02 198
原创 设计模式之观察者模式(四)
一、UML类图1、observer pattern2、event aggregator pattern二、实例说明1、observer patternpublic interface MoodObserver { void change(Mood mood);}public class BoyFriend implements MoodObserver { @...
2019-04-02 17:07:16 178
原创 左耳听风ARTS第十六周
Algorithms234. Palindrome Linked ListGiven a singly linked list, determine if it is a palindrome.Example 1:Input: 1->2Output: falseExample 2:Input: 1->2->2->1Output: trueSolut...
2019-04-01 11:55:21 239
原创 设计模式之代理模式(三)
一、UML类图和时序图二、实例说明代理模式分静态代理和动态代理。静态代理,需要在编译器就确认代理类。而动态代理,则是在运行时新增代理类,扩展性更强。我们主要以动态代理举例说明,这里通过实现一个简单的RPC框架来了解下动态代理。RPC调用框架public interface HelloService { String sayHello(String str);}//服务端...
2019-03-19 18:31:12 265
原创 左耳听风ARTS第十五周
Algorithms206. Reverse Linked ListReverse a singly linked list.Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2-&
2019-03-18 13:56:07 291
原创 设计模式之装饰者模式(二)
一、UML类图和时序图二、实例说明public interface Windows { void draw();}public class SimpleWindows implements Windows { @Override public void draw() { //Draw window } public stat...
2019-03-18 13:54:02 227
原创 左耳听风ARTS第十四周
AlgorithmsReviewTips网络基础知识协议:CDN1、CDN的分发系统架构2、客户端寻找边缘节点的流程图3、CDN缓存包括静态资源(流媒体协议)和动态资源。静态资源可以采用拉取和主动推送的模式。对于流媒体协议可以采取主动推送的方式,减少回源对服务器的影响。动态资源可以采用边缘计算的模式和路径优化的模式。边缘计算的模式就是数据的逻辑计算和存储都是放在边缘的节点上,其...
2019-03-06 20:38:55 245
原创 设计模式之适配器模式(一)
一、UML类图对UML类图不熟悉的可以对比着参考看一下UML类图简单介绍二、实例说明主要以对象适配器模式举例,类适配器模式只需要把关联关系改为继承关系public class Phone { private Target target; public Phone(Target target) { this.target = target; }...
2019-03-06 20:37:33 184
原创 左耳听风ARTS第十三周
algorithms226. Invert Binary TreeInvert a binary tree.Example:Input: 4 / \ 2 7 / \ / \1 3 6 9Output: 4 / \ 7 2 / \ / \9 6 3 1Solution 1——leet...
2019-02-20 20:25:00 217
原创 左耳听风ARTS第十二周
Algorithms160. Intersection of Two Linked ListsWrite a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:begin to in...
2019-02-06 17:22:01 198
原创 左耳听风ARTS第十一周
AlgorithmsReviewRecommended Reading for Developers1、Code Complete 2 ——complete your code2、人月神话 —— 计算机技术会变,但是人不会变3、Don’t make me think —— 如果你选择一本实用性的书,那就选择这一本4、Programming Pearls —— 每个阶段的程序员都能从中收...
2019-01-25 00:40:10 292
原创 左耳听风ARTS第十周
Algorithms448. Find All Numbers Disappeared in an ArrayGiven an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements of...
2019-01-21 01:43:53 250
原创 CLH Lock浅析
CLH Lock的定义:The CLH lock is a scalable, high performance, fairness and spin lock based on the list, the application thread spin only on a local variable, it constantly polling the precursor state, if ...
2019-01-11 00:35:41 608
原创 左耳听风ARTS第七周
algorithmsreviewCode Tell You How,Comments Tell You Why1、最好的注释就是不要注释。2、代码先是写给人读的,然后再是给机器执行的。3、代码告诉你怎么设计和设计细节,注释告诉你设计思想和为什么这么设计。tips网络协议基础知识:静态路由和动态路由。静态路由:可以配置多张路由表,一张路由表可以有多条路由规则。路由规则可以设置源ip地...
2018-12-30 18:27:12 213
原创 左耳听风ARTS第六周
algorithmsreviewThe Greatest Developer Fallacy Or The Wisest Words You’ll Ever Hear?很久之前听过这么一句话“需要的时候再去学”,当时觉得还挺有道理的,没有深层次地去想过这个问题。看了这篇文章后,啪啪打脸了。总结几个要点:1、深度有了广度也会跟着上去。当你对一个知识点钻研比较深的时候,不可避免地你会扩展到更广...
2018-12-23 23:47:55 280
原创 左耳听风ARTS第五周
Algorithms121. Best Time to Buy and Sell StockSay you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction ...
2018-12-15 01:17:45 259 1
原创 TheadPoolExecutor线程池达到饱和后的拒绝策略设计
一、jdk中ThreadPoolExecutor的构造函数如下:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ...
2018-12-15 01:14:54 471
原创 左耳听风ARTS第三周
AlgorithmReverse IntegerGiven a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Output: 21Note:...
2018-11-28 16:24:22 297
原创 左耳听风ARTS第二周
AlgorithmReview最近把How To Ask Questions The Smart Way通读了一遍,对如何提问题有了更深的认识。总结如下:1、没有付费的前提下,你的问题任何人都没有义务免费给你作答。2、提问题之前,确保自己经过RTFM(Reading The Fucking Manual)和STFW(Searching The Fucing Web),经过自己的认真思考,尽...
2018-11-23 18:52:35 435
原创 maven的继承和依赖
最近遇到了一个maven打包的问题,maven-child继承maven-parent,reference依赖maven-child,但是不需要maven-parent依赖的jar包。<parent> <artifactId>maven-parent</artifactId> <groupId>com.xwiam&l...
2018-11-20 19:45:17 812
原创 左耳听风ARTS第一周
最近开始看耗子叔的《程序员练级攻略》,不是科班出身,底子薄,准备从头把基础打扎实。Algorithmleetcode——1、Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that ea...
2018-11-15 12:50:53 574 1
原创 对线程的一些理解
先看一下面这段代码 package com.xwiam.threadprogram;/** * @author xiwam * @Date 2018/11/10 11:12 * @Desc */public class ThreadInterrupt implements Runnable{ private volatile int count; priva...
2018-11-13 23:34:48 157
原创 二叉树
一、二叉树的概念:树中每个节点最多只能有两个节点。二叉搜索树:一个节点的左子节点的关键字值小于这个节点,右子节点的关键字值大于或等于这个父节点。package com.xwiam.algorithms.tree;/** * 二叉搜索树 */public class BinaryTree { private Node root; public Node f...
2018-09-21 18:30:07 140
原创 高级排序
一、希尔排序 希尔排序因计算机科学家Donald L. Shell得名,他在1959年发现了希尔排序算法。希尔排序基于插入排序,但是通过n-增量排序,大大地提高了插入排序的执行效率。希尔排序使用的间隔序列除了n=3n+1这样的间隔序列,也可以使用其他的间隔序列,不过必须保证一个最终条件n=1。package com.xwiam.algorithms.advancesort;...
2018-09-20 18:09:09 276
原创 递归
一、递归的概念: 递归可以理解为把责任推给别人,但是不能无限推下去,得会有一个基值情况,不会继续进行递归调用,否则就是庞氏骗局。 递归因为必须要保存每次调用的栈,所以容易造成栈溢出,而尾递归不需要保存之前的栈,所以不会造成栈溢出,前提是编译器要对尾递归进行优化。由于java目前还没有对尾递归进行优化,所以递归和尾递归效率一样,但是c中对尾递归有优化。packa...
2018-09-14 16:37:20 256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人