自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL高级应用

前言提示:本文介绍MySQL的一些原理,适用于有一定数据库使用经验的人观看,如有错误欢迎指正。一、MySQL是什么?MySQL是目前最流行的关系型数据库之一,MySQL因为其速度、可靠性和适应性而备受关注。二、MySQL常用的存储引擎 1、ISAM: 优点:读取操作的速度很快。 缺点:没有事务、没有索引、没有字段管理。 2、MyISAM: 优点:ISAM扩展格式、提供ISAM里所没有的索引和字段管理、表格锁...

2021-01-04 21:41:05 338

原创 RabbitMQ

前言一、MQ是什么?用高效可靠的消息机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。二、为什么要用MQ?1.解耦 、如上图所示,可以将各个系统之间的交互拆开,通过消息队列去做访问,也就是实现了系统之间的解耦。2.削峰当某一时刻的访问量急剧增加的时候,如淘宝双十一,秒杀活动等。在一个时段有大量的访问者,可能会导致服务器处理不过来,导致服务器宕机。但是通过MQ去做处理的话,就不会出现突然间的...

2020-12-17 23:47:32 189

原创 缓存简单介绍

目录前言一、缓存的收益二、缓存的成本三、应用场景四、缓存的更新策略五、最佳实践六、缓存优化1、穿透优化2、无底洞优化 3、雪崩优化4、热点key重建优化前言本文简单介绍一下缓存相关的知识。一、缓存的收益1、加速读写2、降低后端负载二、缓存的成本 1、数据不一致 2、代码维护成本 3、运维成本三、应用场景开销大的复杂计算:以MySQL为例子,一些复杂的操作或者计算(例如大量联表操作、一些分组计算),如...

2020-11-29 12:05:51 208

原创 redis分布式

一、为什么需要集群?1、性能考虑一台redisQPS为10万(每秒钟可以处理的请求数),在并发量非常高的时候,还是有影响。2、扩展考虑水平扩容,redis都是存储在内存里,当数据量非常大的时候会受到硬件的限制。3、可用性、安全性考虑防止单点故障。二、配置主从复制 1、建立复制(1) 复制实例分为Master和slave,默认情况下,参与复制的Redis实例都是主节点,每个从节点只能有一个主节点,而主节点可以同时具有多个从节点,同时复制的数据流是单向的,只能由主节...

2020-11-29 11:26:37 149

原创 redis持久化机制

目录前言一、持久化是什么?二、RDB三、AOF总结前言今天介绍一下redis的持久化机制,redis的持久化机制主要包括两种,一个是RDB(Redis DataBase),另一个是AOF(Append Only File)。下面具体介绍一下两者的区别。一、持久化是什么?持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。二、RDB

2020-11-29 10:51:46 123

原创 Redis-内存管理

内存消耗进程自身消耗自身内存对象内存缓冲内存客户端缓冲查看指令redis-cliconfig get client-output-buffer-limit返回:“normal x x x slave x x x pubsub x x x”,其中第一个normal代表普通客户端,slave代表从客户端,pubsub代表订阅客户端。x代表参数,0代表不限制,第一个x表示最大值,第二个是多少秒内最大值(秒在第三个参数配置),如果超过这个最大值就会关闭连接,第三个表示多少秒。单位都是字节可以通

2020-11-28 10:50:02 136

原创 Redis-概述

1、SQL与NOSQL的区别 1.1 SQL 1.1.1 特点 行存储,二维 结构化 表与表之间的关联 SQL语句 ADID(事务特性) 1.1.2 缺点 1.扩容难 1.1垂直扩容,增大磁盘,不支持动态扩容、缩容 1.2需要水平扩容需要别的技术,分库分...

2020-11-22 14:26:43 1058

原创 Spring AOP

AOP面向切面编程,解决代码复用问题,将与主业务逻辑无关的代码(如日志,事务,安全检查等)分离,实现解耦。一、 应用场景: 1.日志记录 2.事务 3.权限 4.性能监控 5.异常处理 二、底层实现原理 动态代理 JDK 基于接口 CGLIB 基于字节码(继承)可以参考代理模式...

2020-10-23 14:32:23 174 1

原创 Spring IoC

IOC(DI)控制反转: 一、XML配置方式 IOC是一种思想,对对象权的转移,由Spring IoC容器创建对象,然后将对象的使用权交出去。 XML配置bean 可以配置多个类型相同的对象,初始化的时候会调用多次构造方法 可以指定获取对象的优先级,primary="true",这样如果通过类型获取,会优先匹配到一个对象 ...

2020-10-23 11:43:17 106

原创 Spring 5.0全览

一、简化开发的基本策略: 1.基于POJO的轻量级和最小侵入性编程 2.通过依赖注入和面向接口松耦合 3.基于切面和惯性进行声明式编程 4.通过切面和模板减少样板式代码二、模块划分 1.核心模块 spring-core 依赖注入IOC与DI的最基本实现 spring-beans Bean工厂与Bean的装配 spring-context 定义基础...

2020-10-19 16:13:28 387

原创 JVM——使用指南

一、JVM全局理解图:二、使用场景: 1、OOM(OutOfMemory) 可以通过如MAT分析dump文件,定位OOM 2、GC优化 通过不断调整,观察GC日志的吞吐量和停顿时间,寻找最佳值 如使用如下设置:-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseG1GC -Xloggc:gc.log ,然后通过(在线分析...

2020-10-15 10:53:19 465

原创 JVM参数

一、参数类型: 1、标准参数 1)不随着JDK版本的不同而改变的,如java -version,java -help 2、-X参数 1)非标准参数,如java -Xint -version,java -xmixed -version 3、-XX参数 1)使用最多,进行相关设置 2)bool类型:-XX:[+/-] ,+或-进行开启或关闭,如 -XX:+UseG1GC...

2020-10-15 10:39:11 176

原创 JVM——垃圾回收机制

一、判断对象是否是垃圾 1、引用计数法 GC线程不定时回收时,如果对象被引用的话,年龄会加1,被回收掉一个对象就会减去1,当年龄为0岁,就会被垃圾回收机制认为是不可达对象,会被清理。 循环依赖问题:有两个对象A和B,当A = B;B = A ; A = null; B = null; 此时这两个对象就不知道到底为不为0,导致对象无法被回收。该方法已被淘汰。 2、可达性分析(根搜索法(GC Roots)) 由GC Root出发,开始寻找,看看某...

2020-10-14 15:12:28 135

原创 JVM内存模型

内存模型图: 一、堆内存划分 1.新生代(Eden:s0:s1=8:1:1) (对应Minor GC) 1.1 Eden区 新建对象存放在该区 1.2 Survivor区 1.2.1 S0区(from) 在Eden区活跃的对象会被移到该区 1.2.2 S1区(to) 同S0区一样,但...

2020-10-14 14:46:05 132

原创 JVM——运行时数据区

与虚拟机生命周期一致的区域(线程不安全)1、方法区各线程共享,虚拟机启动时创建 存储已被虚拟机加载的类信息、常量、静态变量,即编辑器编译后的代码等数据 常被描述为堆的一个逻辑部分,别名Non-Heap(非堆),为了区分java堆区 当无法满足内存分配时,抛出OutOfMemoryError异常 JDK8中是Metaspace(元空间),JDK6或7中是Perm Space(永久代) Run-Time Constant Pool(运行时常量池) 在方法区分配2、堆虚拟机所管理内存中最大

2020-10-13 15:41:29 61

原创 ArrayList源码分析

ArrayList是日常开发中使用非常频繁的容器,今天看一下它的源码。ArrayList的源码其实很简单,它就是一个动态数组,我们先从new开始看起: /** * Constructs an empty list with an initial capacity of ten. */ public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;}上述是ArrayList

2020-08-25 11:36:36 158

原创 第八章 网络安全基础

第八章 网络安全基础 1.网络安全概述 识记 网络安全基本概念 网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断 典型网络安全威胁 窃听 插入 假冒 劫持 网络安全基本属性...

2020-07-02 20:27:50 363

原创 第七章 无线与移动网络

第七章 无线与移动网络 1.无线网络 识记 无线网络基本结构 无线主机 无线链路 基站 网络基础设施 领会 无线网络特点 信号强度的衰减 干扰 多径传播 A站点正在向B站点发送...

2020-07-01 22:26:42 531

原创 第六章 物理层

第六章 物理层 1.数据通信基础 识记 数据通信基本概念 在一点精确或近似地再生另一点的信息 数据通信系统模型 信源、发送设备、信道、接收设备、信宿、噪声源 领会 数据、信号概念与分类 数据是对客观事物的性质状态以及相互关系等进行记载的符号及其组合 信号:传递信息需要有适...

2020-07-01 21:28:40 173

原创 第五章 数据链路层与局域网

第五章 数据链路层与局域网 1.数据链路层服务 识记 数据链路层功能 组帧 链路接入 可靠交互 差错控制 领会 组帧 将传输的数据封装成帧 2.差错控制 识记 差错控制基本概念 通过差...

2020-07-01 08:17:13 335

原创 第四章 网络层

第四章 网络层 1.网络层服务 识记 网络层服务 介于传输层和数据链路层之间,网络层关注的是如何将承载传输层报文段的网络层数据报从源主机送达目的主机 网络层重要的功能 转发 路由选择 领会 转发与路由的基本概念 转发:将分组从输入接口转移到输出接口 ...

2020-06-30 21:14:03 3703

原创 第三章 传输层

第三章 传输层 1.传输层基本服务 识记 传输层基本服务 为应用进程之间提供端到端的逻辑通信服务 领会 复用与分解的基本概念 支持众多应用进程公用同一个传输层协议,并能够将接收到的数据准确交付给不同的应用进程 UDP与TCP实现复用与分解的方法 UDP 创建一个U...

2020-06-28 22:23:52 339

原创 第八章 I/O设备管理

第八章 I/O设备管理 1.I/O设备管理基本概念 识记 I/O设备管理的任务 解决I/O设备性能同CPU性能不匹配的矛盾 提供简单易用的接口实现对设备的统一管理 保证设备的安全性 设备分类 按使用特性分类 输入设备 输出设备...

2020-06-26 17:08:36 249

原创 第七章 文件系统

第七章 文件系统 1.文件管理的基本概念 识记 文件管理的任务 文件目录是这样实现的 怎样管理存储空间 文件存储位置 磁盘识记运作方式 存取速度 磁盘利用率 文件的存储介质及存取方式 磁带 ...

2020-06-26 16:41:05 174

原创 第六章 存储管理

第六章 存储管理 1.存储管理的任务 识记 内存空间的划分 系统区 用以存储操作系统常驻内存部分,用户不能占用这部分空间 用户区 装入并存储用户程序和数据 内存管理问题 内存管理方法 内存的分配和释放算法 ...

2020-06-26 16:23:50 309

原创 第五章 死锁

第五章 死锁 1.死锁的产生 领会 死锁的定义 在多道程序系统中,一组进程中的每一个进程均无限期地等待被该组进程中的另一个进程所占有且永远不会释放的资源 死锁产生的原因 竞争资源,系统资源在分配时出现失误,进程间对资源的相互争夺所造成僵局 多道程序运行时,进程推进顺序不合理 死锁产生的必要条件 ...

2020-06-26 11:11:51 207

原创 第四章 进程同步与互斥

第四章 进程同步与互斥 1.进程间的相互作用 识记 与时间有关的错误 进程同步互斥举例 2.进程互斥 领会 临界区 使用临界资源的程序 临界区的使用规则 有空让进 无空等待 多中择一 有限等待 ...

2020-06-26 09:56:51 321

原创 第三章 进程与线程

第三章 进程与线程 1.多道程序设计 识记 程序的顺序执行 一个具有独立运行功能的程序独占处理机直到得到最终结果的过程 顺序执行的特点 顺序性 封闭性 程序执行结果的确定性 程序执行结果的课再现性 程序的并发执行 两个或两个...

2020-06-26 08:40:50 183

原创 第二章 操作系统运行环境

第二章 操作系统运行环境 1.处理器状态机状态转换 领会 特权指令和非特权指令 特权指令:只能由操作系统使用的指令 非特权指令:用户可以使用的指令 控制寄存器及程序状态字 用户可见寄存器 编译器分配,减少程序运行时访问内存储器的次数 如:数据寄存器、地址寄存器、条...

2020-06-25 16:25:54 167

原创 第一章 操作系统概论

第一章 操作系统概论 1.操作系统的地位和作用 识记 操作系统是计算机资源的管理者 组织和管理计算机系统中的硬件及软件资源 操作系统通过接口为用户提供各种服务 操作系统是虚拟机和扩展的机器 2.操作系统的特征 领会 并发性 在计算机系统中同时存在若干个运行着的程序,从宏观上看,这些程序在同时向前推进...

2020-06-25 15:13:25 158

原创 第二章 网络应用

第二章 网络应用 1.网络应用体系结构 识记 网络应用特性结构与分类 客户/服务器(C/S)结构 纯P2P结构 混合结构 领会 C/S网络应用、P2P网络应用以及混合网络应用的特点、区别与联系 C/S最主要的特征是通信只在客户与服务器之间进行,客户与客户之间不进行直接通信 ...

2020-06-22 22:51:44 213

原创 第一章 计算机网络概述

第一章 计算机网络概述 1.计算机网络基本概念与网络结构 识记 计算机网络的概念 互联的、自治的计算机的集合 网络协议的概念 网络通信实体之间在数据交换过程中需要遵循的规则或约定 计算机网络的分类 个域网 局域网 城域网 广...

2020-06-22 07:45:12 511

原创 HashMap(1.8)源码分析

HashMap是我们日常开发中使用非常频繁的集合框架,平时只会使用,却不知道底层是如何实现的,今天在这里对HashMap的底层实现做一系列的分析。如有不对的地方,欢迎指正。我们知道HashMap是用来存储数据的一个容器,使用key-value来存储数据,当key重复的时会覆盖前一次的value值。那么HashMap是如何做到存储数据和读取数据的呢?我们知道1.8之后的HashMap底层使用了数组、链表+红黑树的数据结构,那么具体的实现是什么样的呢?让我一步一步介绍。首先,HashMap是在什么时候.

2020-06-14 22:54:15 728 1

原创 状态模式

定义:状态模式也称为状态机模式,是允许对象在内部状态发生改变时改变它的行为,对象看起来好像是修改了它的类。应用场景:1. 行为随状态改变而改变的场景2. 一个操作中含有庞大的多分支结构,并且这些分支取决于对象的状态在实际开发中如电商类项目的订单,审核流程等可以使用状态模式,下面使用电梯来举例状态模式的应用:/*** create by Alan at 2020/3/26 9:3...

2020-03-27 10:00:44 115

原创 策略模式

定义:策略模式也称政策模式,它是将定义的算法家族分别封装起来,让它们之间可以相互替换,从而让算法的变化不会影响到使用算法的用户。可以避免多重分支if-else和switch语句。适用场景:1. 假如系统中有很多类,而他们的区别仅仅在于他们的行为不同。2. 一个系统需要动态地在几种算法中选择一种。3. 需要屏蔽算法规则。上周刚好遇到这种大量if-else的业务场景,业务场景如下:我们项...

2020-03-15 10:13:10 103

原创 组合模式

定义:组合模式也称整体-部分模式,它的宗旨是通过将单个对象(叶子节点)和组合对象(树枝节点)用相同接口进行表示。作用:使客户端对当个对象和组合对象保持一致的方式处理。适用场景:1. 希望客户端可以忽略组合对象与单个对象的差异时。2. 对象层次具备整体和部分,如(树形结构,树形菜单,操作系统目录等)。实例代码:/*** 所有文件的根节点*/public abstract ...

2020-03-08 10:49:20 89

原创 享元模式

定义:享元模式又称轻量级模式,是对象池的一种实现。我个人的理解就是共享元数据,将常用的对象装到容器里,以便使用的人可以直接使用,而节省了创建、销毁所消耗的资源。应用场景:连接池、线程池等。代码:public class ConnectionPool { private Vector<Connection> pool; private int poolSi...

2020-03-08 10:38:06 77

原创 装饰器模式

定义:装饰器模式也叫包装模式,是指在不改变原有对象的基础上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有功能)。适用场景:1.用于扩展一个类的功能或给一个类添加附加职责。2.动态的给一个对象添加功能,这些功能有再动态地撤销。装饰器模式和代理模式对比:‘1.装饰器模式就是一种特殊的代理模式。2.装饰器模式强调自身的功能扩展。3.代理模式强调代理过程的控制。...

2020-03-07 11:54:49 120

原创 代理模式

概念:通过代理控制对象的访问,可以详细访问某个对象的方法,在这个方法调用之前或调用后进行处理。既(AOP微实现),AOP的核心技术面向切面编程。应用场景:SpringAOP、事务原理、日志打印、权限控制、远程调用、安全代理。(可以隐藏真实角色)一、静态代理(静态定义代理类),代码如下(为了方便,这里把多个class放到一起展示,直接复制到编辑器里是会报编译错误的,因为一个java文件只能有一...

2020-02-06 10:32:08 329

原创 Nginx从入门到精通

一、Nginx入门1.Nginx背景 和Apache一样都是WEB服务器,基于REST架构风格,以统一资源描述符URI或者统一资源定位符URL作为沟通依据,通过HTTP协议提供各种网络服务。 Apache的发展时期很长,是世界第一大服务器,它稳定、开源、跨平台。但是,由于它兴起的年代,互联网行业远远比不上现在,所以它被设计为一个重量级的。不支持高并发的服务器。 这些都决定...

2020-02-04 23:02:54 422

空空如也

空空如也

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

TA关注的人

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