[TOC] python–策略模式 前言 策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。 策略模式: 定义了一族算法(业务规则); 封装了每个算法; 这族的算法可互换代替(interchangeable) 不会影响到使用算法的客户. 结构图 一. 应用 ...
分类:
编程语言 时间:
2020-03-10 15:51:10
阅读次数:
66
一、概述 单例模式的定义就是确保某一个类只有一个实例,并且提供一个全局访问点。属于设计模式三大类中的创建型模式。 单例模式具有典型的三个特点: 只有一个实例。 自我实例化。 提供全局访问点。 其UML结构图非常简单,就只有一个类,如下图: 二、优缺点 优点:由于单例模式只生成了一个实例,所以能够节约 ...
分类:
编程语言 时间:
2020-03-10 12:06:15
阅读次数:
60
java堆: 所有通过new关键字创建的对象的内存都在堆中分配,其大小可以通过 Xmx和 Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To Space组成,结构图如下所示: 新生代: 新建的对象都是用新生代分 ...
分类:
其他好文 时间:
2020-03-09 20:47:34
阅读次数:
65
网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过 网关这一层。也就是说,API 的实现方面更多的考虑业务逻辑,而安全、性能、监控可以交由 网关来做,这样既提高业务灵活性又不缺安全性,典型的架构图如图所示: 安全 ,只有网关系统对外进行暴露,微服务可以隐藏在内网,通过防火墙保护。 易于 ...
分类:
编程语言 时间:
2020-03-09 01:13:09
阅读次数:
73
1. 进程 VS 线程 2. 多线程 - threading 3. 创建多线程 - Thread 子类 4. 同步 5. 死锁 6. 生产者与消费者模式 1. 进程VS线程 定义 进程是资源分配的最小单位,线程是CPU调度的最小单位。 一个程序启动后至少有一个进程,一个进程至少有一个线程。线程不能够 ...
分类:
编程语言 时间:
2020-03-08 14:30:56
阅读次数:
70
摘要 之前经常有朋友问我一些常用的工具,比如我的架构图是用什么工具做的?我的数据库是用什么工具设计的?今天给大家介绍下我用的顺手的工具! IntelliJ IDEA 业界公认最好的Java开发工具,平时用的最多。可以安装大量插件丰富功能,开发前端应用也不在话下! X-shell 一款强大的安全终端模 ...
分类:
其他好文 时间:
2020-03-06 10:44:58
阅读次数:
70
一. 总线概念 所谓总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,可以将计算机系统内的多种设备连接到总线上。如果是某两个设备或设备之间专用的信号连线,就不能称之为总线。系统总线架构图如下所示: ...
分类:
其他好文 时间:
2020-03-05 15:26:13
阅读次数:
138
先上一个架构图: Flink App : 通过report 将数据发出去 Pushgateway : Prometheus 生态中一个重要工具 Prometheus : 一套开源的系统监控报警框架 (Prometheus 入门与实践) Grafana: 一个跨平台的开源的度量分析和可视化工具,可以通 ...
分类:
其他好文 时间:
2020-03-04 19:13:42
阅读次数:
202
一、Bellman Ford算法 1. 用于解决单源最短路径的问题,但也能够处理有负权边的情况。这是与Djikstra算法不同的地方。 2. 关于复杂度,要比Djikstra的复杂度更高一点。O(VE),而Djikstra复杂度是O(V^2),V是点的数量,E是边的数量 3. 原理,就是会出现负环的 ...
分类:
编程语言 时间:
2020-03-03 11:26:13
阅读次数:
91
概述:记得有一次被一个技术人员面试,问我String是什么类型,如何和其他基本数据类型之间进行转换,那么今天就深入学习一下String 1、首先了解下JVM的体系结构图: 注意: 栈: 每个Java虚拟机线程都有自己的Java虚拟机栈,Java虚拟机栈用来存放栈帧,每个方法被执行的时候都会同时创建一 ...
分类:
其他好文 时间:
2020-03-03 10:44:21
阅读次数:
88