_Shallow
码龄7年
关注
提问 私信
  • 博客:163,129
    163,129
    总访问量
  • 45
    原创
  • 435,536
    排名
  • 25
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2017-11-25
博客简介:

大白

博客描述:
Go on and just Do !
查看详细资料
个人成就
  • 获得39次点赞
  • 内容获得11次评论
  • 获得265次收藏
创作历程
  • 47篇
    2019年
成就勋章
兴趣领域 设置
  • 大数据
    hadoophivespark
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

从《大话设计模式》看JDK及框架中常用的设计模式(四)

观察者模式1.介绍模式动机建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式的模式动机。模式定义观察者模式(Observer Pattern):定义对象间...
原创
发布博客 2019.09.11 ·
1429 阅读 ·
1 点赞 ·
2 评论 ·
2 收藏

从《大话设计模式》看JDK及框架中常用的设计模式(三)

文章目录适配器模式1.介绍2. 角色分配3.实例4.应用场景适配器模式1.介绍适配器模式(Adapter Pattern):将一个类的接口转换成希望的另一个接口,让那些接口不兼容的类可以一起工作。如果需要复用已有的类,但是接口不兼容,不能或者不愿修改原有的类或者需要的类。可以使用适配器,用户在调用适配器的方法时在适配器的内部会调用适配者的方法。又称包装器模式。2. 角色分配角色包...
原创
发布博客 2019.09.11 ·
1546 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

从《大话设计模式》看JDK及框架中常用的设计模式(二)

文章目录一 工厂模式1.1 工厂模式的分类1.2 工厂模式的定义1.3 工厂模式优点二 简单工厂模式一 工厂模式1.1 工厂模式的分类简单工厂(Simple Factory)模式,又称静态工厂方法模式(Static Factory Method Pattern)。工厂方法(Factory Method)模式,又称多态性工厂(Polymorphic Factory)模...
原创
发布博客 2019.09.11 ·
1847 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

从《大话设计模式》看JDK及框架中常用的设计模式(一)

最近阅读了《大话设计模式》,本人感觉书中讲的简单易懂,并对书中的Demo做了Java实现,下面我将从这本书中总结一下几种常用的设计模式,首先看最常用的单例模式:单例模式(Singleton)定义保证类仅有一个实例,并提供一个访问它的全局访问点。优点在内存中只有一个对象,节省内存空间。避免频繁的创建销毁对象,可以提高性能。避免对共享资源的多重占用。可以全局访问。实现单例模式的实...
原创
发布博客 2019.09.10 ·
1432 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

分布式事务详解

文章目录数据库事务分布式理论CAP定理BASE理论什么是分布式事务分布式事务的产生的原因数据库分库分表应用SOA化事务的ACID特性原子性(A)一致性(C)隔离性(I)持久性(D)分布式事务的应用场景支付在线下单常见的分布式事务解决方案基于XA协议的两阶段提交消息事务+最终一致性TCC编程模式总结数据库事务在说分布式事务之前,我们先从数据库事务说起。 数据库事务可能大家都很熟悉,在开发过程中也...
原创
发布博客 2019.09.10 ·
2238 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Nginx详解

文章目录Nginx介绍负载均衡服务器反向代理服务器Nginx用途一、静态代理二、负载均衡三、限流四、缓存五、黑白名单Nginx介绍Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月...
原创
发布博客 2019.09.10 ·
1678 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

分布式锁详解

文章目录什么是锁什么是分布式什么是分布式锁需要怎样的分布式锁实现方式基于数据库做分布式锁基于表主键唯一做分布式锁基于表字段版本号做分布式锁基于数据库排他锁做分布式锁基于 Redis 做分布式锁基于 Redis 的 SETNX()、EXPIRE() 方法做分布式锁基于 Redis 的 SETNX()、GET()、GETSET()方法做分布式锁基于 REDLOCK 做分布式锁基于 REDISSON 做...
原创
发布博客 2019.09.10 ·
2113 阅读 ·
0 点赞 ·
0 评论 ·
19 收藏

Docker

认识容器什么是容器官方解释一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。容器化软件适用于基于Linux和Windows的应用,在任何环境中都能够始终如一地运行。容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于...
原创
发布博客 2019.09.10 ·
1677 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

初学shell编程(二)

shell 基本运算符算数运算符下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:运算符说明结果+加法expr $a + $b 结果为 30-减法expr $a - $b 结果为 -10*乘法expr $a * $b 结果为 200/除法expr $b / $a%取余expr $b % $a 结果为 ...
原创
发布博客 2019.09.10 ·
1956 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

初学shell编程(一)

什么是 Shell?简单来说:Shell编程就是对一堆Linux命令的逻辑化处理。首先让我们从下图看看 Shell 在整个操作系统中所处的位置吧,该图的外圆描述了整个操作系统(比如 Debian/Ubuntu/Slackware 等),内圆描述了操作系统的核心(比如 Linux Kernel),而 Shell 和 GUI 一样作为用户和操作系统之间的接口。GUI 提供了一种图形化的用户接...
原创
发布博客 2019.09.10 ·
1802 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

ZooKeeper集群

典型集群模式Master/Slave 模式(主备模式)。在这种模式中,通常 Master服务器作为主服务器提供写服务,其他的 Slave 服务器从服务器通过异步复制的方式获取 Master 服务器最新的数据提供读服务。ZooKeeper集群在 ZooKeeper 中没有选择传统的 Master/Slave 概念,而是引入了Leader、Follower 和 Observer 三种角色。Z...
原创
发布博客 2019.09.10 ·
1796 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Zookeeper特点及理解

ZooKeeper 特点顺序一致性: 从同一客户端发起的事务请求,最终将会严格地按照顺序被应用到 ZooKeeper 中去。原子性: 所有事务请求的处理结果在整个集群中所有机器上的应用情况是一致的,也就是说,要么整个集群中所有的机器都成功应用了某一个事务,要么都没有应用。单一系统映像 : 无论客户端连到哪一个 ZooKeeper 服务器上,其看到的服务端数据模型都是一致的。可靠性: 一旦...
原创
发布博客 2019.09.10 ·
6075 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Zookeeper核心概念

什么是ZooKeeper ?ZooKeeper 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。Zookeeper 一个最常用的使用场景就是用于担任服务生产者和服务消费者的注册中心(提供发布订阅服务)。 服务生产者将自己提供的服务注册到Zoo...
原创
发布博客 2019.09.10 ·
1907 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MQ中消息重复消费及解决

重复消费原因因为在网络延迟的情况下,消息重复发送的问题不可避免的发生,如果非要实现消息不可重复发送,那基本太难,因为网络环境无法预知,还会使程序复杂度加大,因此默认允许消息重复发送。只要通过网络交换数据,就无法避免这个问题。所以解决这个问题的办法就是绕过这个问题。那么问题就变成了:如果消费端收到两条一样的消息,应该怎样处理?重复消费问题例子RabbitMQ、RocketMQ、Kafka,都...
原创
发布博客 2019.09.10 ·
32241 阅读 ·
8 点赞 ·
2 评论 ·
76 收藏

MQ常见消息丢失、消息堆积等问题及解决

1、消息丢失的问题当你系统需要保证百分百消息不丢失,你可以使用生产者每发送一个消息,Broker 同步返回一个消息发送成功的反馈消息。即每发送一个消息,同步落盘后才返回生产者消息发送成功,即生产者收到确认发送消息成功,才继续之后操作,这样只要生产者得到了消息发送生成的返回,事后除了硬盘损坏,都可以保证不会消息丢失。2、同步落盘怎么才能快使用 FileChannel + DirectB...
原创
发布博客 2019.09.10 ·
24585 阅读 ·
4 点赞 ·
0 评论 ·
64 收藏

RabbitMQ详解

RabbitMQ 简介RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息。知道它是一个消息队列就行了。消息模型所有 消息队列从模型抽象上来说都是一样的过程:消费者(consumer)订阅某个队列。生产者(producer)创建消息...
原创
发布博客 2019.09.10 ·
1871 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Redis常见问题

1. Redis的并发竞争问题如何解决?Redis为单进程单线程模式,采用队列模式将并发访问变为串行访问。Redis本身没有锁的概念,Redis对于多个客户端连接并不存在竞争,但是在Jedis客户端对Redis进行并发访问时会发生连接超时、数据转换错误、阻塞、客户端关闭连接等问题,这些问题均是由于客户端连接混乱造成。对此有2种解决方法:客户端角度,为保证每个客户端间正常有序与Redis进行通...
原创
发布博客 2019.09.10 ·
1884 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

Redis集群

什么是 Redis 主从同步?Redis 的主从同步(replication)机制,允许 Slave 从 Master 那里,通过网络传输拷贝到完整的数据备份,从而达到主从机制。主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据。一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。第一次同步时,主节点做一...
原创
发布博客 2019.09.10 ·
1760 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis持久化总结

Reis持久化redis提供了两种持久化的方式:RDB(Redis DataBase)【全量】RDB 持久化,是指在指定的时间间隔内将内存中的数据集快照写入磁盘。实际操作过程是,fork 一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。AOF(Append Only File)【增量】AOF持久化,以日志的形式记录服务器所处理的每一个写、删除操作指令...
原创
发布博客 2019.09.10 ·
1979 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

redis数据结构及使用场景

redis数据结构及使用场景1、字符串(String)String是最常用的一种数据类型,普通的k/v存储都可以归为此类。redis是使用C语言开发,但C中并没有字符串类型,只能使用指针或符数组的形式表示一个字符串,所以redis设计了一种简单动态字符串(SDS)作为底实现。SDS对象,此对象中包含三个属性:len buf中已经占有的长度(表示此字符串的实际长度)free buf中未使...
原创
发布博客 2019.09.10 ·
2471 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏
加载更多