09 2019 档案

摘要:本篇包含 1、 RabbitMQ 的可靠性消息的发送 2、 RabbitMQ 集群的原理与高可用架构的搭建 3、 RabbitMQ 的实践经验 上篇包含 1、MQ 的本质,MQ 的作用 2、RabbitMQ 的特性,工作模型,交换机详解 3、Java API 编程,UI 管理界面 4、进阶知识:TT 阅读全文
posted @ 2019-09-22 10:28 千里送e毛 阅读(1081) 评论(0) 推荐(1) 编辑
摘要:1、了解 MQ 的本质和 RabbitMQ 的特性; 2、掌握 RabbitMQ 的 Java API 编程和 Spring 集成 RabbitMQ 1. MQ 了解 1.1. 消息队列简介 1.1.1.MQ 的诞生历程 我们要去用 MQ,先来了解一下 MQ 是怎么诞生的,这样对于它解决了什么问题理 阅读全文
posted @ 2019-09-19 23:15 千里送e毛 阅读(1380) 评论(0) 推荐(2) 编辑
摘要:点击图片可查看高清图 阅读全文
posted @ 2019-09-15 13:01 千里送e毛 阅读(141) 评论(0) 推荐(0) 编辑
摘要:2.Netty 与 NIO 之前世今生 本文围绕一下几点阐述: 1、 NIO 的核心组件 Buffer、Selector、Channel。 2、何谓多路复用? 3、Netty 支持的功能与特性。 2.1 Java NIO 三件套 在 NIO 中有几个核心对象需要掌握:缓冲区(Buffer)、选择器( 阅读全文
posted @ 2019-09-15 12:45 千里送e毛 阅读(622) 评论(0) 推荐(0) 编辑
摘要:1.Java IO 演进之路 本文围绕着一下几个问题 1、Java 中 BIO、NIO、AIO 之间的区别及应用场景。 2、阻塞(Block)与非阻塞(Non-Block)区别。 3、同步(Synchronization)和异步(Asynchronous)的区别。 1.1 几个概念 1.1.1 阻塞 阅读全文
posted @ 2019-09-15 11:07 千里送e毛 阅读(364) 评论(0) 推荐(0) 编辑
摘要:Java 领域的对象如何传输 基于 socket 进行对象传输 先举个简单的例子,基于我们前面几次课程的只是,写一个 socket 通信的代码 User public class User { private String name; public String getName() { return 阅读全文
posted @ 2019-09-15 09:47 千里送e毛 阅读(208) 评论(0) 推荐(0) 编辑
摘要:首先,我们得知道应用层是 OSI 七层网络模型的第七层,不同类型的网络应用有不同的通信规则,因此应用层协议是多种多样的,比如 DNS、FTP、Telnet、SMTP、HTTP、 等协议都是用于解决其各自的一类问题。 http 通信协议的基本原理 http 协议在远程通信场景中的应用还是挺广泛的,包括 阅读全文
posted @ 2019-09-14 16:13 千里送e毛 阅读(645) 评论(0) 推荐(0) 编辑
摘要:一个 http 请求的整个流程 那么在分布式架构中,有一个很重要的环节,就是分布式网络中的计算机节点彼此之间需要通信。这个通信的过程一定会涉及到通信协议相关的知识点,当然大家也可能知道一些,但是我会尽可能的把通信这一块的内容串起来,加深大家的理解。我们每天都在用浏览器访问各种网站,作为用户来说,只需 阅读全文
posted @ 2019-09-14 11:48 千里送e毛 阅读(177) 评论(0) 推荐(0) 编辑
摘要:架构的本质 一个软件系统随着功能越来越多,调用量急剧增长,整个系统逐渐碎片化,越来越无序,最终无法维护和扩展,所以系统在一段时间的野蛮生长后,也需要及时干预,避免越来越无序。架构的本质就是对系统进行有序化重构,使系统不断进化那架构是如何实现无序到有序的呢? 基本的手段就是分和合,先把系统打散,然后重 阅读全文
posted @ 2019-09-14 10:15 千里送e毛 阅读(421) 评论(0) 推荐(0) 编辑
摘要:什么是线程池 在 Java 中,如果每个请求到达就创建一个新线程,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多。 如果在一个 Jvm 里创建太多的线程,可能会使系统由于过度消耗内存或“切换过度”而导致系统资源不足为了解决这个问题,就有了线程池 阅读全文
posted @ 2019-09-11 15:46 千里送e毛 阅读(505) 评论(0) 推荐(0) 编辑
摘要:我相信大家都有使用过分布式消息队列,比如 ActiveMQ、kafka、RabbitMQ 等等,消息队列的是有可以使得程序之间实现解耦,提升程序响应的效率。如果我们把多线程环境比作是分布式的话,那么线程与线程之间是不是也可以使用这种消息队列的方式进行数据通信和解耦呢? 阻塞队列的使用案例 假如我们模 阅读全文
posted @ 2019-09-10 14:09 千里送e毛 阅读(653) 评论(0) 推荐(0) 编辑
摘要:线程这块的一些工具类,基本都会以原理为主,通过分析别人代码的设计和实现,给自己提供积累一些方法和工具。 Condition 在前面学习 synchronized 的时候,有讲到 wait/notify 的基本使用,结合 synchronized 可以实现对线程的通信。那么这个时候我就在思考了,既然 阅读全文
posted @ 2019-09-10 00:44 千里送e毛 阅读(444) 评论(0) 推荐(0) 编辑
摘要:J.U.C 简介 Java.util.concurrent 是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。并发包的作者是大名鼎鼎的 Doug Lea。我们在接下来剖析一些经典的比较常用的组件的设计思想。 Lock Lock 阅读全文
posted @ 2019-09-09 21:32 千里送e毛 阅读(5336) 评论(1) 推荐(8) 编辑
摘要:初步认识 Volatile 下面这段代码,演示了一个使用 volatile 以及没使用 volatile 这个关键字,对于变量更新的影响 public class VolatileDemo { public /*volatile*/ static boolean stop=false; public 阅读全文
posted @ 2019-09-07 17:58 千里送e毛 阅读(386) 评论(0) 推荐(0) 编辑
摘要:多线程基本原理-1 由一个问题引发的思考 线程的合理使用能够提升程序的处理性能,主要有两个方面: 第一个是能够利用多核 cpu 以及超线程技术来实现线程的并行执行; 第二个是线程的异步化执行相比于同步执行来说,异步执行能够很好的优化程序的处理性能提升并发吞吐量 同时,也带来了很多麻烦,举个简单的例子 阅读全文
posted @ 2019-09-07 15:37 千里送e毛 阅读(672) 评论(0) 推荐(0) 编辑
摘要:并发基础-初步认识 线程的应用 在 Java 中,有多种方式来实现多线程。继承 Thread 类、实现 Runnable 接口、使用 ExecutorService、Callable、Future 实现带返回结果的多线程。 Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线 阅读全文
posted @ 2019-09-05 18:20 千里送e毛 阅读(245) 评论(0) 推荐(0) 编辑
摘要:ConcurrentHashMap 的初步使用及场景 CHM 的使用 ConcurrentHashMap 是 J.U.C 包里面提供的一个线程安全并且高效的 HashMap,所以 ConcurrentHashMap 在并发编程的场景中使用的频率比较高,从 ConcurrentHashMap 的使用上 阅读全文
posted @ 2019-09-05 11:50 千里送e毛 阅读(672) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示