目   录01_进程和线程1.1、进程进程:是正在运行的程序。是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。线程依赖于进程而存在。在一个进程内部,可以执行一个或多个任务,每个任务可以看成一个线程。1.2、线程线程:是进程中的单个顺序控制流,是一条执行路径。单线程:一个进程如果只有一条执行路径,则称为单线程程序。多线程:一个进程如果有多条执行路径,            
                
         
            
            
            
            消息发布时的权衡 失败确认在发送消息时设置mandatory标志,告诉RabbitMQ,如果消息不可路由,应该将消息返回给发送者,并通知失败。可以这样认为,开启mandatory是开启故障检测模式。注意:它只会让RabbitMQ向你通知失败,而不会通知成功。如果消息正确路由到队列,则发布者不会受到任何通知。带来的问题是无法确保发布消息一定是成功的,因为通知失败的消息可能会丢失。 &nbs            
                
         
            
            
            
            2018年10月22日,QCon全球软件开发大会上海站成功落下帷幕。融云联合创始人兼首席架构师李淼再次受邀出席大会,并进行《高性能消息数据存储引擎的设计解析》的主题演讲,为参会者深入剖析了融云首次公开的最新技术研究成果“数据存储引擎设计”。融云消息存储历程首先是融云在开始时的原型产品验证阶段,大概是在2013年初创阶段,为了验证融云的即时通信业务模式,此时的消息都是存储在MySQL中,其特点是开发            
                
         
            
            
            
            设置具体数据库启动Service Broker服务,如下图:我这里试例数据库的名字为“ghj_Demo”,修改 Broker Enabled 属性为 true。 你也可以用SQL 语句来修改,修改的SQL语句如下:ALTER DATABASE ghj_Demo SET ENABLE_BROKER确保你将使用的数据库帐户具有必需的权限你在后面连接这个数据库的帐户,要确保对这个数据库具有 SUBSCR            
                
         
            
            
            
            复习下JAVA线程基础知识:1、线程的状态:创建状态:创建了线程对象,此时线程有了相应的内存空间和其他资源,但处于不可运行状态。就绪状态:线程对象调用start()方法启动线程,进入就绪状态,此时线程进入线程队列排队,此时已经具备运行的条件。运行状态:线程抢占到cpu资源,此时线程进入运行状态,自动调用run()方法。阻塞状态:正在运行的线程,让出cpu资源并暂时中止自己的执行,进入阻塞状态,在可            
                
         
            
            
            
            源码分析之消息消费Rebalance(针对集群消费模式)(1)消费Group下的所有消费者(2)Topic的所有Queue队列(3)Queue分配策略触发时机(1)消费者启动(2)消费者加入或者退出消费组(3)定时触发Rebalance(10s)举例	假设,一个topic中有4个队列,有一个Producer往4个队列中发数据,在集群消费中,在一个消费者分组中如果只有一个消费者。那么这个消费者肯定会            
                
         
            
            
            
            Java生产者消费者模型
    在Java中线程同步的经典案例,不同线程对同一个对象同时进行多线程操作,为了保持线程安全,数据结果要是我们期望的结果。  生产者-消费者模型可以很好的解释这个现象:对于公共数据data,初始值为0,多个线程对其进行增加或者减少,但是我们的目的是无论多少个线程同时操作他,结果都是:当data=0时,只能进行增加,data=1时只能            
                
         
            
            
            
            物联网推送一般用mqtt协议,其中用到最多的且相对成熟的有EMQ官网文档是最好的老师,对于大型企业用到的应该是付费版本,目前本人经历过得几百人的公司和几个创业型公司用的都是免费版本,且商用。下面是自己搭建的一些记录,可以参考 环境 ubuntu16.04 版本emq3.0建议 初步接触mqtt的情况下务必先了解mqtt的工作流程,是做什么的,原理是什么。对于emq的初步使用看文档即可。emq无非是            
                
         
            
            
            
            哥最近在微博上看到有这么一个话题:网友们:哎呀妈呀脑瓜疼,简直就像在做英语阅读理解!的确,哥上网冲浪常常看到一些黑话,如zqsg、nsdd、plmm、xfxy,使哥迷惑,仿佛回到了用火星文的那个非主流年纪。以及还有一些谐音梗,比如「关你peace」、「听你funpee」、「真skr小机灵鬼」,那,照葫芦画瓢,哥是不是可以自称为「雅skr」???不得不说,互联网上「中文首字母缩写」确实有赶超英语的趋            
                
         
            
            
            
            一、前言面大厂时,MQ 这一中间件基本都是必问的,本文是面试时被问到的其中一题的答案。二、为什么丢消息一条消息从产生到被消费,中间会经历三个环节:生产者、MQ 内部、消费者,消息在这三个环节中均有可能出现丢失。在生产者环节丢失当生产者往 MQ 中写数据时,可能出现网络故障,消息压根就没到达 MQ 内部,生产者端对这个异常没有捕获,不做任何处理,这种场景会导致消息丢失。当消息达到 MQ 所在的机器,            
                
         
            
            
            
            作为一个数据分析师,应该信奉一句话——“一图胜千言”。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!!表情包不仅仅是一种符号,更是一种文化——是促进社交乃至社会发展的动力之一,就像懒。我们坚持认为,一张优秀的表情包,应该是一幅艺术品,是那忽如一夜春风来的灵感爆发,是那嘈嘈切切错杂弹的情思激荡,是那直挂云帆济沧海的壮志豪情,是那一览天下众山小的荣耀胜利——是不可以容忍码农用            
                
         
            
            
            
            这是一篇从去年写到今年的文章,希望大家会喜欢1.背景 分布式事务一直是一个老生常谈的一个话题,在我的公众号下面下面已经写过很多篇分布式事务相关的文章了,但是依旧没有将其完全剖析。在之前的文章中我也多次提到我们可以使用消息队列来实现我们的分布式事务,但是大多都是一笔带过,很多读者都对这一块产生了很多疑问,希望读完这篇文章能让你理解如何用消息队列实现分布式事务。当然首先要回顾一下我们的一些基本概念:C            
                
         
            
            
            
            1 RocketMQ 整体架构设计 2 Broker        Broker是RocketMQ的核心模块,负责接收并存储消息,同时提供Push/Pull接口来将消息发送给Consumer。        Consum            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-17 11:19:14
                            
                                339阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一.我们为什么需要CSS?使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离 在没有CSS之前,我们想要修改HTML元素的样式需要为每个HTML元素单独定义样式属性,当HTML内容非常多时,就会定义很多重复的样式属性,并且修改的时候需要逐个修改,费心费力。是时候做出改变了,所以CSS就出现了。CSS的出现解决了下面两个问题:将HTML页面的内容与样式分离。提高web            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-26 21:39:12
                            
                                56阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RabbitMQ消息丢失的3种情况 
生产者在消息传入的过程中丢失 a)RabbitMQ提供的事务功能,就是生产者发送数据之前打开RabbitMQ事务channel.txSelect,然后发送消息,如果消息没有成功被RabbitMQ接收到,那么生产者会收到异常报错,此时就可以回滚事务channel.txRollback,然后重试发送消息;如果收到了消            
                
         
            
            
            
            发布确认生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出,broker 回传给生产者的确            
                
         
            
            
            
             029-云E办_RabbitMQ介绍和安装一、MQ介绍1、简介:2、实现:3、特点:4、优缺点:1.解耦2.异步处理3.流量削锋4.缺点5、使用场景二、为什么使用RabbitMQ1.介绍不同的MQ2、RabbitMQ为什么要使用RabbitMQ 总结如下:三、安装RabbitMQ1、由于Erlang编写的,先安装Erlang2、安装RabbitMQ3、管理界面基本操作1.管理界面添加用户与权限分            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-17 11:16:33
                            
                                96阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            丢数据的情况分两种:1.mq自己弄丢的2.消费者消费的时候弄丢的以rabbitMQ为例:rabbitMQ可能存在消息丢失的问题:1.生产者往MQ写消息的时候,消息没到MQ,在网络传输过程中丢了或者是消息到了MQ但是MQ内部出错导致没有保存下来选择使用的rabbitMQ的事务功能,就是生产者发送消息之前开启rabbit MQ的事务(channel.txSelect),然后发送消息,如果消息没有被ra            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-13 18:44:41
                            
                                861阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            概述这个一个基础的消息通信架构,只在解决服务端与客户端消息通信,可应用于消息推送,即时通信以及由此衍生出来的消息通信业务。本项目基于其他开源项目的基础上,如t-io,wildfirechat,希望通过合理的分布式架构,解决大规模并发链接的问题,从而适应互联网用户不断增长的需求,本项目将会采用微服务的开发与设计模式进行架构设计,尽量保持各个业务的单一性和高可用性。这样的目的也是基于业务扩展的方式,方            
                
         
            
            
            
            
   android下播放gif图片功能似乎并不常用,很多时候还是以展示静态图片为主,可能是由于gif图体积比较大吧。不过像表情动画什么的,可能还是需要gif图的。本文主要给大家介绍了关于Android中GIF动图的播放控制和监听的相关资料,需要的朋友可以参考下。 
   前言最近接手的项目里涉及到了 GIF 动图的播放与监听,在上一版本中对于 GIF 的处理是由 H5 来实现的,因为考虑到用户