详解command设计模式,解耦操作和回滚

大家好,欢迎来到设计模式专题,我们的主旨是介绍一些有趣好玩的设计模式。 今天我们介绍的设计模式叫做命令模式(command),在这个模式下,我们可以实现do和undo的解耦,让使用方不用关心内部的实现细节。 command模式 这个模式我们在日常当中经常使用,举一个很简单的例子,比如说我们发布代码。 ... »

通俗易懂和你聊聊寄存器那些事(精美图文)

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan/bestJavaer 下面我们就来介绍一下关于寄存器的相关内容。我们知道,寄存器是 CPU 内部的构造,它主要用于信息的存储。除此之外,CPU 内部还有运算器,负责处理数据; ... »

汇编入门第一篇,小白也能看懂

欢迎访问我的 GitHub 主页,求各位大佬 star https://github.com/crisxuan/bestJavaer 汇编代码是计算机的一种低级表示,它是一种低级语言,可以从字面角度去理解它,包括处理数据、管理内存、读写存储设备上的数据,以及利用网络通信等。编译器生成机器码经过了一系 ... »

全方位剖析 Linux 操作系统,太全了!!!

Linux 简介 UNIX 是一个交互式系统,用于同时处理多进程和多用户同时在线。为什么要说 UNIX,那是因为 Linux 是由 UNIX 发展而来的,UNIX 是由程序员设计,它的主要服务对象也是程序员。Linux 继承了 UNIX 的设计目标。从智能手机到汽车,超级计算机和家用电器,从家用台式 ... »

Web前后端:如何分离,如何解耦?

摘要:在本文中我们一起来探讨一下为什么要在软件开发中进行前后端的分离,如何做到前后端分离,如何解耦。 简单地说,就是要把复杂的问题简单化,把一个从0到N的问题转化为N个0到1的问题。另一个相近的说法就是“解耦”。 举个例子,我们接到一个客户需求,要求写一个应用,这个应用中有页面的切换,有对应页面的数 ... »

俯瞰 Java 服务端开发

原文首发于 github ,欢迎 star 。 Java 服务端开发是一个非常宽广的领域,要概括其全貌,即使是几本书也讲不完,该文将会提到许多的技术及工具,但不会深入去讲解,旨在以一个俯瞰的视角去探寻这片领域。 目录 目录 框架 Spring Boot Vert.x 网络 五层协议 HTTP 协议 ... »

Docker的概述

1.Docker的概述 1.1什么是docker Docker是基于Go语言实现的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库 ... »

没想到 Hash 冲突还能这么玩,你的服务中招了吗?

背景 其实这个问题我之前也看到过,刚好在前几天,洪教授在某个群里分享的一个《一些有意思的攻击手段.pdf》,我觉得这个话题还是有不少人不清楚的,今天我就准备来“实战”一把,还请各位看官轻拍。 洪强宁(洪教授),爱因互动创始人兼 CTO,曾任豆瓣首席架构师,为中国 Python 用户组(CPUG)的创 ... »

主宰操作系统的经典算法

此篇文章带你梳理一下操作系统中都出现过哪些算法 进程和线程管理中的算法 进程和线程在调度时候出现过很多算法,这些算法的设计背景是当一个计算机是多道程序设计系统时,会频繁的有很多进程或者线程来同时竞争 CPU 时间片。 那么如何选择合适的进程/线程运行是一项艺术。当两个或两个以上的进程/线程处于就绪状 ... »

47 张图带你 MySQL 进阶!!!

我们在 MySQL 入门篇主要介绍了基本的 SQL 命令、数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能 MySQL 存储引擎 存储引擎概述 数据库最核心的 ... »

我向面试官讲解了单例模式,他对我竖起了大拇指

单例模式相信大家都有所听闻,甚至也写过不少了,在面试中也是考得最多的其中一个设计模式,面试官常常会要求写出两种类型的单例模式并且解释其原理,废话不多说,我们开始学习如何很好地回答这一道面试题吧。 什么是单例模式 面试官问什么是单例模式时,千万不要答非所问,给出单例模式有两种类型之类的回答,要围绕单例 ... »

RabbitMQ 入门之基础概念

什么是消息队列(MQ) 消息是在不同应用间传递的数据。这里的消息可以非常简单,比如只包含字符串,也可以非常复杂,包含多个嵌套的对象。消息队列(Message Queue)简单来说就是一种应用程序间的通讯方式,消息发送后立即返回,然后由消息系统保证消息的可靠性传输,消息生产者只需要把消息发到 MQ 中 ... »

深入解读Dictionary

Dictionary<TKey,TValue>是日常.net开发中最常用的数据类型之一,基本上遇到键值对类型的数据时第一反应就是使用这种散列表。散列表特别适合快速查找操作,查找的效率是常数阶O(1)。那么为什么这种数据类型的查找效率能够这么高效?它背后的数据类型是如何支撑这种查找效率的?它在使用过程 ... »

看完这篇 HashMap,和面试官扯皮就没问题了

HashMap 概述 如果你没有时间细抠本文,可以直接看 HashMap 概述,能让你对 HashMap 有个大致的了解。 HashMap 是 Map 接口的实现,HashMap 允许空的 key-value 键值对,HashMap 被认为是 Hashtable 的增强版,HashMap 是一个非线 ... »

字节跳动三轮技术面_后端研发提前批

声明:本文作者:炼狱的吹笛人 原文链接:https://www.jianshu.com/p/a44f2e25d98d 人在杭州,投的是深圳岗,所以是在牛客网上的视频面试。 1 一面 项目相关 介绍一个项目为什么考虑使用Spark?使用华为的服务减少了哪些运维工作?你觉得项目中有哪些比较有意思的点?数 ... »

SpringMVC框架搭建流程(完整详细版)

SpringMVC框架搭建流程 开发过程 1)配置DispatcherServlet前端控制器 2)开发处理具体业务逻辑的Handler(@Controller、 @RequestMapping) 3) xml配置⽂件配置controller扫描,配置springmvc三⼤件 4)将xml⽂件路径告 ... »

这 10 行比较字符串相等的代码给我整懵逼了,不信你也来看看

抱歉用这种标题吸引你点进来了,不过你不妨看完,看看能否让你有所收获。​(有收获,请评论区留个言,没收获,下周末我直播吃**,哈哈,这你也信) 补充说明:微信公众号改版,对各个号主影响还挺大的。目前从后台数据来看,对我影响不大,因为我这反正都是小号, »