摘要: HTTP 什么是HTTP? HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。 详细解释 HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。 什么是socket 套接字,TCP/IP网络的API。S 阅读全文
posted @ 2021-05-22 15:45 longda666 阅读(146) 评论(0) 推荐(1)
摘要: RabbitMQ的集群 普通集群(副本集群) 官网介绍: All data/state required for the operation of a RabbitMQ broker is replicated across all nodes. An exception to this are m 阅读全文
posted @ 2021-03-09 02:39 longda666 阅读(172) 评论(0) 推荐(0)
摘要: 消息的可靠投递 在使用Rabbitmq的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景.Rabbitmq为我们提供了两种方式用来控制消息的投递可靠性模式 confirm确认模式 return模式 rabbitmq整个消息投递的路径为: provider --> rabbitmq broke 阅读全文
posted @ 2021-03-09 02:18 longda666 阅读(315) 评论(0) 推荐(0)
摘要: 什么是MQ? ​ MQ(Message Queue):翻译为消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断地从队列中获取消息.因为消息的生产和消费都是异步的,而且只关心消息的发送和接受,没有业务逻辑的入侵,轻松的实现系统间解耦.别名为消息中间件通过利用高效可靠的消 阅读全文
posted @ 2021-03-09 01:44 longda666 阅读(256) 评论(0) 推荐(0)
摘要: 什么是线程池? 线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。 如果每个请求都创建一个线程去处理,那么服务器的资源很快就会被耗尽,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。 为什么要使用线程池? 创建线程和销毁线程的 阅读全文
posted @ 2021-03-02 21:09 longda666 阅读(62) 评论(0) 推荐(0)
摘要: CAS(CompareAndSweep)工作方式 ​ CAS是乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。 ​ CAS 操作中包含三个操作数 —— 需要读写的内存位置(V 阅读全文
posted @ 2021-03-02 20:42 longda666 阅读(232) 评论(0) 推荐(0)
摘要: 可见性 所谓可见性,就是指一个线程改变了共享变量之后,其他线程能够立即知道这个变量被修改。我们知道在Java内存模型中,不同线程拥有自己的本地内存,而本地内存是主内存的副本。如果线程修改了本地内存而没有去更新主内存,那么就无法保证可见性。 退不出的循环 public class ThreadTest 阅读全文
posted @ 2021-03-02 20:13 longda666 阅读(88) 评论(0) 推荐(0)
摘要: 线程通信 等待: public final void wait(); public final void wait(long timeout); //必须在对obj加锁的同步代码块中,在一个线程中,调用obj.wait()时,此线程会释放其拥有的所有锁标记,同时此线程在无限期等待的状态中,释放锁,进 阅读全文
posted @ 2021-03-02 19:27 longda666 阅读(93) 评论(0) 推荐(0)
摘要: 线程安全问题 线程不安全: 当多线程并发访问临界资源时(可共享的对象),如果破坏原子操作,可能会造成数据不一致。 临界资源:共享资源(同一对象),一次仅允许一个线程使用,才可以保证其正确性。 原子操作:不可分割的多步操作,被视作一个整体,其顺序和步骤不可打乱或缺省。 同步方式(1) 同步代码块: s 阅读全文
posted @ 2021-03-02 18:29 longda666 阅读(182) 评论(0) 推荐(0)
摘要: 垃圾回收器分类 按碎片处理方式分,可分为压缩式垃圾回收器和非压缩式垃圾回收器 压缩式垃圾回收器会在回收完成后,对存活对象进行压缩整理,消除回收后的碎片。 再分配对象空间使用:指针碰撞 非压缩式的垃圾回收器不进行这部操作 再分配对象空间使用:空闲列表 按工作的内存区间分,又可以分为年轻代垃圾回收器和老 阅读全文
posted @ 2021-03-01 04:25 longda666 阅读(88) 评论(0) 推荐(0)