自定义博客皮肤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)
  • 收藏
  • 关注

转载 [消息中间件]ActiveMQ详细入门使用教程

ActiveMQ介绍MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。特点: 1、支持多种语言编写客户端 2、对spring的支持,很容易和spring整合 ...

2019-05-30 09:34:33 539

转载 熟练掌握各种MQ

目录1.有Broker的暴力路由:Kafka 2.有Broker的复杂路由:RabbitMQ 3.无Broker的通信流派:ZeroMQ 4.总结 写在前面 我们知道,目前市面上的MQ包括Kafka、RabbitMQ、ZeroMQ、RocketMQ等等。 那么他们之间究竟有什么本质区别,分别适用于什么场景呢?上述抛...

2019-05-29 17:17:39 214

转载 java内存区域

基本问题:介绍下Java内存区域(运行时数据区)。 Java对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么) 对象的访问定位的两种方式(句柄和直接指针两种方式)拓展问题:String类和常量池 8种基本类型的包装类和常量池1 概述(为什么要学习Java内存区域)对于Java程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序...

2019-05-29 16:37:47 122

转载 [分布式]如何设计一个百万级用户的抽奖系统

目录1.抽奖系统的背景引入 2.结合具体业务需求分析抽奖系统 3.一个未经过优化的系统架构 4.负载均衡层的限流 5.Tomcat线程数量的优化 6.基于Redis实现抽奖业务逻辑 7.发放礼品环节进行限流削峰 8.系统架构设计总结 1、抽奖系统的背景引入本文给大家分享一个之前经历过的抽奖系统的流量削峰...

2019-05-29 15:56:34 1278 1

转载 分布式事务方案 - 最终一致性

在分布式时代,分库分表是很常见的,微服务系统中,各个系统通常使用独立的数据库,所以,事务很难靠数据库本身保证,只能靠业务系统来解决。例如支付宝中的余额宝、花呗,具体不清楚,但猜测应该就是2个服务,不是同一个数据库,我们还花呗的时候通常都是从余额宝中扣除的,这就是分布式事务,一个系统中扣减钱,一个系统中增加钱。下面我们分析下最终一致性的实现方案,最终一致性通常都是使用消息中间件来实现的,系统...

2019-05-29 13:58:45 123

转载 为什么阿里巴巴建议集合初始化时,指定集合容量大小

关于集合类,《阿里巴巴Java开发手册》中其实还有另外一个规定:本文就来分析一下为什么会有如此建议?如果一定要设置初始容量的话,设置多少比较合适?为什么要设置HashMap的初始化容量我们先来写一段代码在JDK 1.7 (jdk1.7.0_79)下面来分别测试下,在不指定初始化容量和指定初始化容量的情况下性能情况如何。(jdk 8 结果会有所不同,我会在后面的文章中分析)p...

2019-05-29 10:15:15 189

转载 HashMap?面试?我是谁?我在哪

现在是晚上11点了,学校屠猪馆的自习室因为太晚要关闭了,勤奋且疲惫的小鲁班也从屠猪馆出来了,正准备回宿舍洗洗睡,由于自习室位置比较偏僻所以是接收不到手机网络信号的,因此小鲁班从兜里掏出手机的时候,信息可真是炸了呀,小鲁班心想,微信群平时都没什么人聊天,今晚肯定是发生了什么大事,仔细一看,才发现原来是小鲁班的室友达摩(光头)拿到了阿里巴巴JAVA开发实习生的offer,此时小鲁班真替他室友感到高兴的...

2019-05-29 09:49:27 272

转载 [大数据]Hadoop的文件契约算法

很多Java开发同学经常有一个疑惑,搞Java开发也需要懂算法吗?本文咱们就来谈谈这个问题。其实如果你开发一个非常复杂而且有挑战的大型系统,那么必然会在系统中使用算法。同理,如果你可以将算法进行合理的优化,那么也可以将系统性能提升几十倍!空口无凭,下面用真实案例来进行说明。我们一起来看看Hadoop在部署了大规模的集群场景下,大量客户端并发写数据的时候,文件契约监控算法的性能优...

2019-05-29 09:00:25 261

转载 消息中间件消费到的消息处理失败怎么办?的【满分】回答

目录1、日趋流行的面试问法 2、消息中间件在生产系统中的使用 3、经典生产案例:早教盒子APP的发货 4、死信队列的使用:处理失败的消息 5、总结 本文转自公众号:狸猫技术窝1、日趋流行的面试问法现在网上很多面试题,主要是针对技术本身的提问,比如:你聊聊对Dubbo的理解?你说说分布式事务是什么?这些问题就好比中学考试的送分题,比如...

2019-05-28 21:52:12 317

转载 面对十亿数据量的技术挑战,如何对系统进行性能优化?

“这篇文章,我们来聊一聊在十亿级的大数据量技术挑战下,世界上最优秀的大数据系统之一的Hadoop是如何将系统性能提升数十倍的?如果对Hadoop这个大数据系统一点了解都没有,可以先看之前的一篇文章快速入个门:《兄弟,用大白话告诉你小白都能看懂的Hadoop架构原理》首先一起来画个图,回顾一下Hadoop HDFS中的超大数据文件上传的原理。其实说出来也很简单,比如有...

2019-05-28 21:33:44 237

转载 用大白话告诉你小白都能看懂的Hadoop架构原理

目录一、前奏二、HDFS的NameNode架构原理一、前奏Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术。包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等。有些朋友可能听说过Hadoop,但是却不太清楚他到底是个什么东西,这篇文章就用大白话给各位阐述一下。...

2019-05-28 21:24:46 314

转载 【转载】为什么Map桶中个数超过8才转为红黑树

这是笔者一个好友面试阿里时,被问及的一个问题,应该不少人看到这个问题都会一面懵逼。因为,大部分的文章都是分析链表是怎么转换成红黑树的,但是并没有说明为什么当链表长度为8的时候才做转换动作。笔者第一反应也是一样,只能初略的猜测是因为时间和空间的权衡。要弄明白这个问题,我们首先要明白为什么要转换,这个问题比较简单,因为Map中桶的元素初始化是链表保存的,其查找性能是O(n),而树结...

2019-05-28 20:52:05 121

转载 【分布式】分布式Session共享解决方案

分布式Session一致性?说白了就是服务器集群Session共享的问题Session的作用?Session 是客户端与服务器通讯会话跟踪技术,服务器与客户端保持整个通讯的会话基本信息。客户端在第一次访问服务端的时候,服务端会响应一个sessionId并且将它存入到本地cookie中,在之后的访问会将cookie中的sessionId放入到请求头中去访问服务器,如果通过这个sess...

2019-05-28 20:45:36 135

转载 [IDE]看源码,我为什么推荐IDEA

1.条件断点看源码的时候,经常遇到这个情况,源码中有个for循环,关键是这个list的size有时候长达数百个.但是我们只想debug一种情况.肥朝就曾经见过,在for循环中打了断点,一直按跳过,按了数十下之后.才找到自己想debug的值.这样效率不高比如下文这个1@Test2publicvoidtestList()throwsException{3List&l...

2019-05-28 20:32:27 692

转载 高并发的核心技术 - 幂等的实现方案

一、背景我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。例如:1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;4. 创建业务订单,一次业务请求只能创建一个,创建...

2019-05-28 16:22:04 228

转载 Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解)

前言本教程详细介绍了如何使用ssm框架实现支付宝支付功能。本文章分为两大部分,分别是「支付宝测试环境代码测试」和「将支付宝支付整合到ssm框架」,详细的代码和图文解释,自己实践的时候一定仔细阅读相关文档,话不多说我们开始。本教程源代码:https://github.com/OUYANGSIHAI/sihai-maven-ssm-alipay一、支付宝测试环境代码测试1. 下载电...

2019-05-28 09:18:06 182

转载 [数据库]MySQL是如何解决幻读的

一、什么是幻读在一次事务里面,多次查询之后,结果集的个数不一致的情况叫做幻读。而多出来或者少的哪一行被叫做幻行二、为什么要解决幻读在高并发数据库系统中,需要保证事务与事务之间的隔离性,还有事务本身的一致性。三、MySQL 是如何解决幻读的如果你看到了这篇文章,那么我会默认你了解了脏读、不可重复读与可重复读。1. 多版本并发控制(MVCC)(快照读/一致性读)多...

2019-05-28 08:56:39 1508

转载 【励志】如何有技巧地自律

两年前我写了篇文章,《千万别小看一个又忙又美的女人》,留言分两类。一类觉得又忙又美,是值得学习的榜样;另一类认为又忙又美,是最励志的谎言。996工作制度试试?养两个孩子试试?配偶是猪队友试试?跟婆婆住一起试试?分分钟让你坐拥条形码似的唇纹,隔夜菜般的脸色,干爽网面的皮肤,一“懒”众“衫”小的身材,别说美,连健康都难。但我不信,我确实看到不少又忙又美的姑娘,笑...

2019-05-27 21:18:54 308

转载 [励志]知乎热门:做事情三分钟热度怎么破?

眨眼2019年已过去将近一半,把年初制定计划时的热情同现状相比,真可谓是一顿操作猛如虎,实际行动懒如狗。仔细盘点就发现,失败的计划无一例外都死在三分钟热度上,不是觉得计划无聊放弃,就是认为目标太大放弃,又或是觉得坚持太难放弃了,总之,计划时有多雄心壮志,现实中就有多打脸。很多人说,三分钟热度都是因为毅力不足所导致的,但真的如此吗?先给大家看一个哈佛大学终身教授埃尔德·...

2019-05-27 21:04:52 1649

转载 [分布式]设计抗住千万级流量的架构思路

随着互联网的发展,各项软件的客户量日益增多,当客户量达到一定峰值时,当数以万计的流量来临时,程序的顺利运行以及即时响应则显得尤为重要,就像双11那天的淘宝一样。那么,如何设计架构才能够抗住这千万级的流量。首先,要在我们架构设计的时候建立一些原则。  1.实现高并发  服务拆分:将整个项目拆分成多个子项目或者模块,分而治之,将项目进行水平扩展。  服务化:解决服务调用复杂之后的服务的...

2019-05-27 16:12:52 323

转载 [分布式]100亿数据,非“双倍”扩容,如何不影响服务,数据平滑迁移?

适用什么场景?互联网有很多“数据量较大,并发量较大,业务复杂度较高”的业务场景,其典型系统分层架构如下:(1)上游是业务层biz,实现个性化的业务逻辑;(2)中游是服务层service,封装数据访问;(3)下游是数据层db,存储固化的业务数据;服务化分层架构的好处是,服务层屏蔽下游数据层的复杂性,例如缓存、分库分表、存储引擎等存储细节不需要向调用方暴露,而只向上游提供...

2019-05-27 15:47:47 479 2

转载 [分布式]这一波优雅的操作,会把你的中间件系统架构带到另一个Level

目录1、Master-Slave架构2、异步日志持久化机制3、检查点机制:定时持久化全量数据4、引入检查点节点5、总结 & 思考“这篇文章,给大家来聊一个生产级的中间件系统的架构设计实践,希望给对中间件系统感兴趣的同学一点启发。(1)Master-Slave架构这个中间件系统的本质是希望能够用分布式的方式来处理一些数据,但是具体的作用涉...

2019-05-27 14:01:04 155

转载 【转载】那些极度自卑的人,后来都怎么样了?

作为一个鲜少在社交网站上发布照片的人,我曾经深刻地反省,根本原因是不是因为我如今仍然自卑?这也正常,长相差强人意,身材马马虎虎,总有一些自卑的理由。有时候看偶像剧,看别人的高中都风生水起热烈恣意,我的心底常常愤恨难平。因为纵观我的青春期,简直可以用“灾难”二字来形容。我那时候是个小胖子,经常因此而受到朋友们的调侃。比如我站在窗前忧郁地说:“学习太累,真想跳下去一死了之。”朋友立马接一句:“...

2019-05-26 13:54:49 681

转载 为什么每天做1个俯卧撑的人,比一次做100个的更牛

首先问大家一个问题:一次做100个俯卧撑,难不难?可能大部分人都会说,很难。那一次做1个俯卧撑,难不难?相信大部分人都会说不难。但是,如果连续一个月,每天都做1个俯卧撑,难吗?你可以问一下自己,也可以试一试。如果你能做到的话,恭喜你!你很有成为牛人的潜质。因为,很多牛人之所以成功,不是具备一次做100个俯卧撑的能力,而...

2019-05-26 11:29:45 1521

转载 自律的人生不需要焦虑:不妨坚持个10年试试,你会成为什么样的人呢?

10000小时理论践行者一直关注我的读者,应该都知道,我是“10000”小时理论的忠实践行者。那天和朋友说到10000小时,她感叹,想想就很久啊,什么时候才能坚持完。我和她说,我在写作上,已经完成了第一个10000小时计划了,并且,只用了6年。她很惊讶。因为我们是朋友,在这6年里,我们几乎每天都有微信联系,还经常聚会吃饭。她没想到我能在上课之后、下班之后、各种时间的间隙里完成这1...

2019-05-26 11:00:42 444

转载 【分布式】分布式系统唯一ID生成方案汇总

系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。1. 数据库自增长序列或字段最常见的方式。利用数据库,全数据库唯一。优点:1)简单,代码方便,性能可以接受。2)数字ID天然排序,对分页或者需要排序的结果很有帮助。...

2019-05-26 10:47:17 505

转载 [分布式]Redis和IO多路复用

几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的,所以 I/O 操作在一般情况下往往不能直接返回,这会导致某一文件的 I/O 阻塞导致整个进程无法对其它客户提供服务,而I/O 多路复用就是为了解决这个问题而出现的。Blocking I/O先...

2019-05-26 10:37:36 518

转载 [IDE]常见的Maven插件

我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompi...

2019-05-24 16:04:55 554

转载 [消息中间件]几种常用的消息中间件对比

本文将从,Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ 17 个方面综合对比作为消息队列使用时的差异。# 资料文档Kafka:中。有kafka作者自己写的书,网上资料也有一些。 rabbitmq:多。有一些不错的书,网上资料多。 zeromq:少。没有专门写zeromq的书,网上的资料多是一些代码的实现和简单介绍。 rocketmq:少。没有专...

2019-05-24 15:44:55 3051

转载 【高可用】keepalived高可用集群介绍

阅读目录(Content)一、Keepalived服务介绍 二、LVS directors failover功能 三、Keepalived故障切换转移原理介绍 四、VRRP协议简单介绍 五、keepalived工作原理一、Keepalived服务介绍  Keepalived起初是专为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入了VRRP的功能,因此除了...

2019-05-22 21:21:43 235

转载 zabbix监控windows服务

下载客户端http://www.zabbix.com/download.phphttp://www.zabbix.com/downloads/3.0.4/zabbix_agents_3.0.4.win.zip把文件放到C盘 、创建zabbix文件夹 解压、有两个文件 bin conf、bin目录里有32位和64位两个文件夹、根据自己的系统选择版本(这里是64位系统)、里面...

2019-05-22 21:12:52 8327 1

转载 [高可用]keepalived安装和配置

两台虚拟机两台配置操作一样环境配置[root@lb01 /]# yum -y install openssl openssl-devel[root@lb01 /]# yum -y install kernel-devel 做个软连接 用tab键补全2.6.32-642.6.2.el6.x86_64[root@lb01 /]# ln -s /usr/src/...

2019-05-22 20:57:07 144

转载 keepalived实现高可用

第1章 keepalived服务说明1.1 keepalived是什么?  Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。  Keepali...

2019-05-22 09:38:33 264

转载 【数据库】MySQL、SqlServer、Oracle三种数据库区别在哪里

一、MySQL优点:体积小、速度快、总体拥有成本低,开源;支持多种操作系统;是开源数据库,提供的接口支持多种语言连接操作;MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的mysql能很容易充分利用CPU;MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器...

2019-05-14 21:56:00 1765

转载 【励志】坚持做哪些事情,可以保证你越来越差

昨天晚上和室友一起去健身房练背,他说背部的发力感刚开始不好找,但慢慢练好了之后,可以让我们看起来更加结实。现在,他的背部轮廓已经都出来了,虽然毕业季事多无法经常健身,但基础打好,再往后就是慢慢雕刻肌肉了。促使我系统学习健身的原因有两个,一是源于室友的蜕变,他健身一年半之后身体比之前壮了很多,改变明显;另一个是因为我以前理解的健身仅限于跑步和一些简单的有氧运动,学习了一些健身知识之后,无知让我羞...

2019-05-14 21:40:54 241

转载 【数据库】跨库分页的几种常见方案

转载自:http://mp.weixin.qq.com/s/h99sXP4mvVFsJw6Oh3aU5A一、需求缘起分页需求互联网很多业务都有分页拉取数据的需求,例如:(1)微信消息过多时,拉取第N页消息(2)京东下单过多时,拉取第N页订单(3)浏览58同城,查看第N页帖子这些业务场景对应的消息表,订单表,帖子表分页拉取需求有这样一些特点:(1)有一个业务主键...

2019-05-14 20:38:23 1730

转载 为什么阿里巴巴不建议在for循环中使用”+”进行字符串拼接

本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。字符串拼接字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起。我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。这样设计有很多好处,比如可以缓存ha...

2019-05-13 15:44:43 171

转载 [网络编程]一篇文章读懂HTTPS及其背后的加密原理

HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版。本文,就来深入介绍下其原理。为什么需要 https使用https的原因其实很简单,就是因为 http 的不安全。当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用 http 进行通信。那么安全性...

2019-05-13 13:39:34 169

转载 [Linux]crontab 详细用法 定时任务

转自:http://blog.chinaunix.net/uid-25785357-id-3434344.html使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行如何往 cron 中添加一个作业?# crontab –e0 5 * * * /root/bin/backup.sh这将会在每天早上5...

2019-05-13 10:36:51 141

转载 [分布式][zookeeper]基于zookeeper的分布式锁实现

1. 背景最近在学习 Zookeeper,在刚开始接触 Zookeeper 的时候,完全不知道 Zookeeper 有什么用。且很多资料都是将 Zookeeper 描述成一个“类 Unix/Linux 文件系统”的中间件,导致我很难将类 Unix/Linux 文件系统的 Zookeeper 和分布式应用联系在一起。后来在粗读了《ZooKeeper 分布式过程协同技术详解》和《从Paxos到Zo...

2019-05-13 10:25:08 110

空空如也

空空如也

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

TA关注的人

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