架构 模式 简介mvvm

单例模式

单例模式 单例模式是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。即:类在内存中只能存在一个示例对象 设计思路: 创建的对象肯定是要存入内存的,也就是用户态的那片空间(栈、堆、读写段、只读段),如果直接将类对象的创建放在类的外面,无论放在哪块区域都是行不通的。故需要强制不能在类外 ......
模式

KMP算法(串的模式匹配算法)(未完待续......)

KMP算法的实现 1.基本原理 在暴力破解算法(BF算法)中,模式串需要一个一个来跟主串进行对比,若有一个不相同,则主串前进一位,继续从头开始进行比较,这样比较的最坏时间复杂度为O(mn),例:‘aaaaaaaaab’和‘aaab’,需要比较到最后一个才能成功,效率太过低下。 KMP算法的原理是,找 ......
算法 模式 KMP

VMware网络连接模式

VMware网络连接模式 一、桥接模式 1.介绍 相当于虚拟机的网卡和宿主机的物理网卡连接到虚拟机所提供的VMnet0虚拟交换机上 2.作用 虚拟机、宿主机均可访问外网 虚拟机、宿主机之间可通信 3.操作 关闭宿主机和虚拟机防火墙 Windows: 控制面板-->系统和安全-->Windows De ......
模式 VMware 网络

【享元设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 享元模式(Flyweight Pattern),是一种结构型设计模式。主要用于减少创建对象的数量,以减少内存占用和提高性能。它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。 当程序需要生成数量巨大的相似对象时,可能对内存有大量损耗 ......
设计模式 语言 模式 Python Java

AOP底层原理-装饰模式(静态代理)

原始方法: 静态代理的方法: 测试: ......
底层 静态 原理 模式 AOP

shell简介

1. 什么是Shell shell就是一个命令解释器。 shell分为交互式shell和非交互式shell. 交互式shell就是命令行上一条一条命令的执行。 非交互式shell就是以脚本的方式运行。 通过变量$-来查看是否是交互式或非交互式shell [root@localhost ~]# ech ......
简介 shell

Docker的网络模式

1、Docker网络实现原理 (1)Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都 ......
模式 Docker 网络

不想做架构师的Gopher不是好程序员

最近我们在组队学习《手把手带你写一个web框架》,强制PUSH,坚持每天学习打卡,不完成惩罚发红包的那种。 你别说,效果还真挺好。 昨天学到了架构部分,很受启发,光学不写假把式。(还是得坚持输出哇) 我站在大佬的肩膀上输出一篇总结文章出来,希望对大家有帮助: 概述 所谓架构,与一线开发最大的不同就在 ......
程序员 架构 程序 Gopher

详解事务模式和Lua脚本,带你吃透Redis 事务

摘要:Redis事务包含两种模式:事务模式和Lua脚本。 本文分享自华为云社区《一文讲透 Redis 事务》,作者: 勇哥java实战分享。 准确的讲,Redis事务包含两种模式:事务模式和Lua脚本。 先说结论: Redis的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子 ......
事务 脚本 模式 Redis Lua

浅析云原生时代的服务架构演进

摘要:相比于传统的微服务架构,云原生和 serverless 技术更加灵活、高效,能够更好地满足用户的需求。 本文分享自华为云社区《《凤凰架构》学习和思考——云原生时代的服务架构演进史》,作者:breakDawn。 随着云原生的概念越来越火,服务的架构应该如何发展和演进,成为很多程序员关心的话题。大 ......
架构 时代

GROK模式参考(转载)

参考:https://help.aliyun.com/document_detail/129387.html 根据在线工具调试: https://www.5axxw.com/tools/v2/grok.html GROK是一种采用组合多个预定义的正则表达式,用来匹配分割文本并映射到关键字的工具。通常 ......
模式 GROK

Servlet简介

Servlet是Java提供的一门动态的web资源技术开发 Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并有web服务器运行Servlet Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web ......
Servlet 简介

java设计模式之观察者模式及springboot应用

1.介绍 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。一般是多个观察者观察一个被观察者。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。也叫订阅-发布模式,监听器模式。 2.场景 当用户注册以后,需要给用户发送邮件,发送优惠券等操作 ......

第1章 C#和.NET简介 (Code like pro in C#)

在本书的第一部分,我们将简要介绍C#语言,并讨论它的一些特性。第1章介绍了什么是C#和.NET,以及为什么您会(也不会)在项目中使用它们。第2章深入探讨了.NET的各种迭代,并在编译过程中采用了C#方法,在编译过程的每一个主要步骤都停止下来 。 尽管这部分确实是本书的介绍,但它仍然为熟悉C#的人提供 ......
简介 Code like NET pro

秒杀架构设计

今天我们从 7 个不同的维度,讲讲秒杀系统的架构设计,主要知识点如下: Nginx + 前后端分离 + CDN 缓存 + 网关(限流+熔断) 集群的路由层 + Redis(缓存热点数据、分布式锁) MQ 集群 业务处理层 数据库层(读写分离、热点隔离) 1. 秒杀业务的特点 瞬间大量的刷新页面的操作 ......
架构

设计模式-代理模式

定义 为其他对象提供一种代理以控制对这个对象的访问 类图 时序图 角色定义 抽象主体角色:抽象类或者接口,普通业务的定义 具体主体角色:被代理角色,业务逻辑的具体执行者 代理主体角色:委托类,代理类 优缺点 优点 职责清晰,实现好内部结构即可,具体客户要求由代理进行分化 高扩展性:具体主体角色随时变 ......
模式 设计模式

2 01 | 是什么推动了单体应用到微服务架构的演进?

你好,我是姚秋辰。 “微服务”是近些年在大型应用架构领域的一个热门话题,从实践领域来看,我们身边的一二线大厂也纷纷选择全面拥抱微服务。就拿国内Java系的一线大厂来说,如阿里系、美团点评、PDD等,它们都将自己的核心业务系统构建在微服务架构之上。 即便你是刚参加工作的萌新,也一定从铺天盖地的“微服务 ......
单体 架构 01

分布式存储技术(下):宽表存储与全文搜索引擎的架构原理、特性、优缺点解析

对于写密集型应用,每天写入量巨大,数据增长量无法预估,且对性能和可靠性要求非常高,普通关系型数据库无法满足其需求。对于全文搜索和数据分析这类对查询性能要求极高的场景也是如此。为了进一步满足上面两类场景的需求,有了宽表存储和搜索引擎技术,本文将对他们的架构、原理、优缺点做介绍。 — 宽表存储 — 宽表 ......
优缺点 分布式 架构 特性 原理

MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图

MQTT连接池 主要用到 `InitializingBean、BasePooledObjectFactory、GenericObjectPool、GenericObjectPoolConfig` MQTT是一个轻量级传输协议,它被设计用于轻量级的发布/订阅式消息传输,MQTT协议针对低带宽网络,低计... ......
MQTT 源代码 SpringBoot 架构 EMQX

Java设计模式 —— 观察者模式

16 观察者模式 16.1 观察者模式概述 Observer Pattern: 定义对象之间的依赖关系(一对多),当一个对象的状态发生改变时,其关联的依赖对象均收到通知并自动更新。 观察者模式又称:发布-订阅模式,源-监听器模式 观察者模式结构图如下所示: 16.2 观察者模式实现 16.2.1 抽 ......
模式 观察者 设计模式 Java

Jmeter-CLI模式

jmeter-cli模式 所谓cli模式,即使用无图形模式去执行性能测试 性能测试中为什么要用cli模式 有图形界面,就需要消耗发起方机器过多 内存资源,jmeter默认的内存大小为1g,图形界面占用了资源,可用于模拟虚拟用户和发送情况的资源就会少。导致,模拟的并发用户数少了、请求量也少了,对服务器 ......
Jmeter-CLI 模式 Jmeter CLI

RabbitMQ简介

RabbitMQ简介 RabbitMQ 的概念 RabbitMQ 是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ 是一个快递站,一个快递员帮你传递快 件。RabbitMQ ......
RabbitMQ 简介

MongoDB、Redis、HBase、Cassandra、Elasticsearch、ClickHouse等NoSQL数据库简介及优缺点说明

MongoDB MongoDB是一个基于文档的NoSQL数据库,它使用BSON(二进制JSON)格式存储数据。MongoDB支持动态查询,可以轻松地处理非结构化数据。它还支持水平扩展,可以在多个节点上分布数据。 优点: 灵活性高,支持非结构化数据存储。 支持水平扩展,可以在多个节点上分布数据。 支持 ......

MySQL、Oracle、SQLServer、PostgreSQL、DB2、Sybase、GBase、Informix关系型数据库简介及优缺点说明

MySQL MySQL是一种开源的关系型数据库管理系统,它是最流行的数据库之一。MySQL具有高性能、可靠性和易用性的特点,支持多种操作系统和编程语言。MySQL的优点包括: 优点: 开源免费,可自由使用和修改 高性能,支持大规模数据存储和高并发访问 易于安装和使用,具有良好的文档和社区支持 支持多 ......

K8S架构原理详解

Kubernetes是什么,为什么上手这么难? Kubernetes是一个基于容器技术的分布式集群管理系统。它是谷歌在大规模应用容器技术方面数十年经验的实际成果。因此,支持大规模的集群管理承载着非常多的组件,分布式本身的复杂度非常高。 Kubernetes到底有什么? 接下来我们一步步来看看Kube ......
架构 原理 K8S K8 8S

大数据经典论文解读 - Kafka - 流批一体架构

Kafka 大数据系统架构是什么样?为什么需要Kafka这样的桥梁作为连接? Kafka的系统设计与传统MQ有什么不同? 如何实现分布式?如何动态添加 Broker并通知上下游? 有了 Kafka 和 Storm 后如何搭建流式处理系统?如何处理故障带来地数据不准确? Realtime Data P ......
架构 一体 经典 数据 论文

Taro架构构析(2):Taro 设计思想及架构

微信小程序从文件组织上看,一个小程序页面或组件,需要同时包含 4 个文件:脚本逻辑、样式、模板以及配置文件(page.js、page.wxss、page.wxml 、page.json) ......
架构 设计思想 Taro 思想

Taro架构构析(1):多端框架分析,Taro WePY uni-app对比

像Qt 和 Flutter 从底层的渲染引擎 布局引擎 中层的 DSL,再到上层的框架全部由自己开发 ,研发成本巨大。React Native 和 Weex 没有渲染引擎,渲染的一致性无法保证。JS 和 Native 之间需要通信延迟等。Taro WePY uni-app抹平小程序之间 ......
Taro 架构 框架 uni-app WePY

Docker架构

概念理解 镜像(image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。 容器(Container): 镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。 架构 Docker是一个CS架构的程序,由两部分组成: 服务端(s ......
架构 Docker

Weex原理及架构剖析

weex-vue-framework向原生端发送渲染指令,最终渲染生成的是原生组件。WXBridge 是 weex 实现的一种 js 和 客户端通信的机制。客户端设计一套 JS Bridge,让 native 代码可以和 JavaScript 引擎相互通信,Weex源码转换成JS Bundle,异步... ......
架构 原理 Weex