自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 Raft共识算法浅谈

Raft共识算法浅谈

2022-09-08 17:59:01 268 1

原创 ThreadLocal、InheritableThreadLoal、TransmittableThreadLocal使用说明以及适用场景

ThreadLocal、InheritableThreadLoal、TransmittableThreadLocal使用说明以及适用场景

2022-09-08 17:49:26 422

原创 JVM虚拟机浅谈(四)

JVM、逃逸分析、标量替换

2022-08-18 11:06:15 240

原创 JVM虚拟机浅谈(三)

JITWatch、方法内联、即时编译

2022-08-18 10:55:47 686

原创 jvm虚拟机浅谈(二)

jvm、中间表达式IR图、方法内联

2022-08-17 10:36:02 282 1

原创 jvm虚拟机浅谈(一)

双亲委派、JMM内存模型

2022-08-17 10:23:43 171

原创 springboot的RedisTemplate序列化问题

spring-data-redis提供了多种serializer策略,默认有七种,当然还可以自定义序列化和反序列化方式。JdkSerializationRedisSerializerStringRedisSerializerJacksonJsonRedisSerializerJackson2JsonRedisSerializerGenericJackson2JsonRedisSeria...

2019-07-25 02:24:11 1282

原创 左耳听风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 207

原创 左耳听风第十八周

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 157

原创 复杂度分析

一、复杂度分析的四个概念1、最好情况时间复杂度:在最理想的情况下,执行这段代码的时间复杂度。2、最坏情况时间复杂度:在最糟糕的情况下,执行这段代码的时间复杂度。3、平均情况时间复杂度:代码在所有情况下执行的次数的加权平均值。4、均摊情况时间复杂度:平均情况时间复杂度的一种特殊情况。二、实例说明// 全局变量,大小为 10 的数组 array,长度 len,下标 i。int array...

2019-04-16 22:23:16 258

原创 设计模式之策略模式(六)

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 193

原创 设计模式之外观模式(五)

一、UML类图和时序图二、实例场景说明//计算机启动的过程很复杂,需要CPU、内存和硬件等子系统的密切配合。而通过使用外观模式,客户只需要调用start方法,就可以直接启动计算机了,不需要管内部子系统的复杂调用了。public class Cpu { public void freeze() { } public void jump(long position...

2019-04-09 17:35:59 1400

原创 左耳听风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 187

原创 设计模式之观察者模式(四)

一、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 170

原创 左耳听风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 233

原创 设计模式之代理模式(三)

一、UML类图和时序图二、实例说明代理模式分静态代理和动态代理。静态代理,需要在编译器就确认代理类。而动态代理,则是在运行时新增代理类,扩展性更强。我们主要以动态代理举例说明,这里通过实现一个简单的RPC框架来了解下动态代理。RPC调用框架public interface HelloService { String sayHello(String str);}//服务端...

2019-03-19 18:31:12 253

原创 左耳听风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 284

原创 设计模式之装饰者模式(二)

一、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 217

原创 左耳听风ARTS第十四周

AlgorithmsReviewTips网络基础知识协议:CDN1、CDN的分发系统架构2、客户端寻找边缘节点的流程图3、CDN缓存包括静态资源(流媒体协议)和动态资源。静态资源可以采用拉取和主动推送的模式。对于流媒体协议可以采取主动推送的方式,减少回源对服务器的影响。动态资源可以采用边缘计算的模式和路径优化的模式。边缘计算的模式就是数据的逻辑计算和存储都是放在边缘的节点上,其...

2019-03-06 20:38:55 239

原创 设计模式之适配器模式(一)

一、UML类图对UML类图不熟悉的可以对比着参考看一下UML类图简单介绍二、实例说明主要以对象适配器模式举例,类适配器模式只需要把关联关系改为继承关系public class Phone { private Target target; public Phone(Target target) { this.target = target; }...

2019-03-06 20:37:33 176

原创 左耳听风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 212

原创 左耳听风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 187

原创 左耳听风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 287

原创 左耳听风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 239

原创 左耳听风ARTS第九周

AlgorithmsReviewTipsShare对CLH Lock的个人理解和浅析

2019-01-15 00:56:10 395

原创 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 594

原创 左耳听风ARTS第八周

alrogithmsreviewtips网络协议第四层:传输层。share

2019-01-09 14:13:25 226

原创 左耳听风ARTS第七周

algorithmsreviewCode Tell You How,Comments Tell You Why1、最好的注释就是不要注释。2、代码先是写给人读的,然后再是给机器执行的。3、代码告诉你怎么设计和设计细节,注释告诉你设计思想和为什么这么设计。tips网络协议基础知识:静态路由和动态路由。静态路由:可以配置多张路由表,一张路由表可以有多条路由规则。路由规则可以设置源ip地...

2018-12-30 18:27:12 209

原创 左耳听风ARTS第六周

algorithmsreviewThe Greatest Developer Fallacy Or The Wisest Words You’ll Ever Hear?很久之前听过这么一句话“需要的时候再去学”,当时觉得还挺有道理的,没有深层次地去想过这个问题。看了这篇文章后,啪啪打脸了。总结几个要点:1、深度有了广度也会跟着上去。当你对一个知识点钻研比较深的时候,不可避免地你会扩展到更广...

2018-12-23 23:47:55 273

原创 左耳听风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 249 1

原创 TheadPoolExecutor线程池达到饱和后的拒绝策略设计

一、jdk中ThreadPoolExecutor的构造函数如下:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ...

2018-12-15 01:14:54 452

原创 左耳听风ARTS第四周

AlgorithmReviewTipsShare

2018-12-08 00:59:45 489

原创 左耳听风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 292

原创 左耳听风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 421

原创 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 792

原创 左耳听风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 563 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 149

原创 二叉树

一、二叉树的概念:树中每个节点最多只能有两个节点。二叉搜索树:一个节点的左子节点的关键字值小于这个节点,右子节点的关键字值大于或等于这个父节点。package com.xwiam.algorithms.tree;/** * 二叉搜索树 */public class BinaryTree { private Node root; public Node f...

2018-09-21 18:30:07 129

原创 高级排序

一、希尔排序       希尔排序因计算机科学家Donald L. Shell得名,他在1959年发现了希尔排序算法。希尔排序基于插入排序,但是通过n-增量排序,大大地提高了插入排序的执行效率。希尔排序使用的间隔序列除了n=3n+1这样的间隔序列,也可以使用其他的间隔序列,不过必须保证一个最终条件n=1。package com.xwiam.algorithms.advancesort;...

2018-09-20 18:09:09 255

原创 递归

一、递归的概念:       递归可以理解为把责任推给别人,但是不能无限推下去,得会有一个基值情况,不会继续进行递归调用,否则就是庞氏骗局。       递归因为必须要保存每次调用的栈,所以容易造成栈溢出,而尾递归不需要保存之前的栈,所以不会造成栈溢出,前提是编译器要对尾递归进行优化。由于java目前还没有对尾递归进行优化,所以递归和尾递归效率一样,但是c中对尾递归有优化。packa...

2018-09-14 16:37:20 241

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除