各种设计模式的优缺点

简单工厂模式简单工厂模式就是让一个工厂类承担构建所有对象的职责。调用者需要什么产品,让工厂生产出来即可。优点:将构建过程封装的好处不仅可以降低耦合,如果某个产品构造方法相当复杂,使用工厂模式可以大大减少代码重复。缺点:一是如果需要生产的产品过多,此模式会导致工厂类过于庞大,承担过多的职责,变成超级类;​ 二是当生成新产品时,必须在工厂类中添加新的分支。这违背了开闭原则工厂方法模式工厂方法模式就是将简单工厂的各个职责拆分成专业职责的工厂类优点:工厂方法模式就是为了解决简单共厂
分类: 其他 发布时间: 09-13 23:20 阅读次数: 0

数据库主从数据不一致解决方案

Master:查看下进程是否Sleep太多show processlist;查看master状态:show master status;slave查看状态:show slave status\\GSlave_IO_Running: YesSlave_SQL_Running: No可见slave不同步。解决方法:方法一:忽略错误后,继续同步...
分类: 其他 发布时间: 09-13 23:19 阅读次数: 0

我的服务器常用命令(持续更新)

监控找出占用内存资源最多的前 10 个进程:ps -auxf | sort -nr -k 4 | head -10找出占用 CPU 资源最多的前 10 个进程:ps -auxf | sort -nr -k 3 | head -10查看cpu信息:cat /proc/cpuinfo查看某个文件夹的总容量:du -sh 防火墙firewalld的基本使用...
分类: 其他 发布时间: 09-13 23:18 阅读次数: 0

Ribbon的饥饿加载(eager-load)模式及服务调用超时配置

前言今天在使用微服务调用时服务之间调用超时,报错如下:feign.RetryableException: Read timed out executing POST http://******也可能会有人在服务都成功启动的时候第一次访问会有报错的情况发生,但是之后又恢复正常访问。解决办法:首先第一次调用失败后面正常:要解决此问题那么让需要实例化的类提前创建,而不是在第一次调用...
分类: 其他 发布时间: 09-13 23:18 阅读次数: 0

Spring Cloud Hystrix Command属性详解

前言我们在使用springcloud的时候难免会使用Hystrix ,下面对属性配置做一个笔记;配置主要有下面几种类型的属性配置:配置前缀为 hystrix.command.defaultexecution配置: execution.isolation.strategy :该属性用来设置执行的隔离策略,有如下二个选项: THREAD:通过线程池隔离的策略,在独立线程上...
分类: 其他 发布时间: 09-13 23:18 阅读次数: 0

9月阿里我凉在一面,面试官笑谈:这些Java核心问题都不懂?

做了7年后端,面试过上百家公司,我终于总结出一番道理,那就是空有技术,不懂面试,照样找不到好工作!90%的面试者凉在一面!从难度上说,第一轮面试不会很难,题目大多是面试官一早想好,主要只考核基础问题。但可怕的是在整个面试过程中,就属这个环节刷掉的人最多!很多面试者的技术能力很强,却被无限放大了某个小问题,对最新技术的稍不敏感,对基础知识的微小疏漏,都可能是致命的。如果能够在面试之前,对面试题目已经做好充分理解,先一步做好你的正确答案,一定能让面试官对你有不一样的评价!想快速拿到.
分类: 其他 发布时间: 09-13 23:18 阅读次数: 0

五体投地!冬瓜哥耗时四年1600页巨著:大话计算机三本彩色PDF开源

笔者自述我眼中的冬瓜哥是一位跨学科的江湖奇才。他在《大话计算机》一书里,从计算机入门者的角度出发,以自问自答、问题导向的方式,剖析了计算机的底层,以图片加文字的方式生动地描绘了计算机的各个部件的最新工作细节和原理,帮助读者透彻地理解现代计算机的工作方式,扎实地掌握相关知识。阅读本书的过程,俨然就像一位老师在给一个对计算机完全不懂的人从零开始,事无巨细,循循善诱,循序渐进的讲授过程。冬瓜哥能够清晰地切中要害,深知初学者的思维阻碍在哪里,然后一针见血地打通初学者的任督二脉。所谓茅塞顿开,醍醐灌顶,也就是如此
分类: 其他 发布时间: 09-13 23:17 阅读次数: 0

springcloud之Feign、ribbon设置超时时间和重试机制

前言我们在微服务调用服务的时候,会使用feign和ribbon,比如有一个实例发生了故障而该情况还没有被服务治理机制及时的发现和摘除,这时候客户端访问该节点的时候自然会失败。所以,为了构建更为健壮的应用系统,我们希望当请求失败的时候能够有一定策略的重试机制,而不是直接返回失败。先看一个配置:#预加载配置,默认为懒加载ribbon: eager-load: enabled...
分类: 其他 发布时间: 09-13 23:17 阅读次数: 0

websocket的实现方式

前言利用websocket实现与网页互动,消息推送点对点消息推送,还有一种springboot的实现,下次再说配置:package com.zoo.websocket.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Co...
分类: 其他 发布时间: 09-13 23:17 阅读次数: 0

sentinel-dashboard安装

下载:下载地址:https://github.com/alibaba/Sentinel/releases有些网络下载会很慢,这里给出备用下载地址,备用下载地址:https://pan.baidu.com/s/1vZ5so4VwwP2c9IIWeInIFA下载控制台工程,使用以下命令将代码打包成一个 fat jar:mvn clean package启动:java -Ds...
分类: 其他 发布时间: 09-13 23:17 阅读次数: 0

CGB2005-京淘14

1.SpringBoot整合Redis分片2.Redis哨兵机制---可以实现Redis高可用3.Redis集群
分类: 其他 发布时间: 09-13 23:17 阅读次数: 0

IntelliJ IDEA的Live Templates(学习笔记,持续更新)

前言调用常规的实时代码模板主要是通过两个快捷键:Tab 和 Ctrl + J自带变量参数介绍$END$,表示最后都编辑完后光标所处的位置$SELECTION$,表示设置环绕实时代码模板我的模板:public Resp a$SELECTION$() { return Resp.success(ok, null);}...
分类: 其他 发布时间: 09-13 23:17 阅读次数: 0

码云使用webhook和jenkins持续集成

第一步:首先我们在jenkin的插件管理里面搜索Generic Webhook Trigger,然后下载重启jenkins。第二步:重启jenkin后我们可以看到会出现下图这里可以定义很多自己的规则,具体用法自己研究。我们采用简单的token令牌来测试。在token这里我们放我们的令牌,这里我就随便写一个,就叫gitee,然后保存。第三步:去码云上面配置web...
分类: 其他 发布时间: 09-13 23:16 阅读次数: 0

npm常用命令(持续更新中)

1.npm install 单个模块:安装到node_modules目录中,但不会保存在package.json 中。之后运行npm install命令时,不会自动安装该模块。npm install2.安装到node_modules目录中,保存在package.json中dependencies字段下,安装生产环境依赖的模块。npm install --save3.安装到no...
分类: 其他 发布时间: 09-13 23:16 阅读次数: 0

繁忙的都市(并查集、Kruskal)

Description城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了。每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造。但是市政府的资金有限,市长希望进行改造的道路越少越好,于是他提出下面的要求:1.改造的那些道路能够把所有的交叉路口直接或间接的连通起来。2.在满足要求1的情
分类: 其他 发布时间: 09-13 23:16 阅读次数: 0

beforeEach钩子,next('/login') 跳转问题,无线循环导致Maximum call stack size exceeded问题

好久没写vue了,今天突然犯了一个致命的小错误,代码如下:routes.beforeEach((to, from, next) => { if (sessionStorage.getItem('token')) { next(); } else { next('/login'); }});貌似一看没问题,但是却陷入了死循环,最后导致栈溢出。原因:没...
分类: 其他 发布时间: 09-13 23:16 阅读次数: 0

在windows10上安装HBuilderX点击无响应

点击毫无反应,通过 事件查看器 排查问题:打开事件查看器的方法: 点击“开始→运行”,输入eventvwr,点击“确定”,就可以打开事件查看器。最后看到错误模块:错误模块路径: C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_48e6aecba6994e7b\ig9icd32.dll显卡错误:ig9i...
分类: 其他 发布时间: 09-13 23:16 阅读次数: 0

关于Java中的WeakReference类的笔记(弱引用)

前言今天在看ThreadLocal源码的时候,其中内部类ThreadLocalMap中的Entry继承了WeakReferenc,为了能搞清楚ThreadLocal,只能先了解下了WeakReferenc。先看一下源码:从源码中可以看出他又继承了抽象类Reference,WeakReference如字面意思,弱引用, 当一个对象仅仅被weak reference(弱引用)指向, 而...
分类: 其他 发布时间: 09-13 23:15 阅读次数: 0

Spring security filter详解(5.1.6)

1.Spring security filter1.1默认filter链,在程序启动时会打印出如下日志,该日志打印出了默认的filter链和顺序,其中WebAsyncManagerIntegrationFilter为第一个filter,FilterSecurityInterceptor为最后一个filter。2019-11-19 10:26:54.340 INFO 17148 --- ...
分类: 其他 发布时间: 09-13 23:15 阅读次数: 0

报错Encoded password does not look like BCrypt和There is no PasswordEncoder mapped for the id “null”

前言使用的是spring security自带的login页面,结果登陆的时候,用户名和密码正确也无法打开资源,还是停留在login页面。而且发现控制台报了异常——There is no PasswordEncoder mapped for the id “null”。网上百度了一下发现这是因为Spring security 5.0中新增了多种加密方式,也改变了密码的格式。{id}enc...
分类: 其他 发布时间: 09-13 23:15 阅读次数: 0