摘要: 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毛 阅读(367) 评论(0) 推荐(0)
摘要: Java 领域的对象如何传输 基于 socket 进行对象传输 先举个简单的例子,基于我们前面几次课程的只是,写一个 socket 通信的代码 User public class User { private String name; public String getName() { return 阅读全文
posted @ 2019-09-15 09:47 千里送e毛 阅读(214) 评论(0) 推荐(0)
摘要: 首先,我们得知道应用层是 OSI 七层网络模型的第七层,不同类型的网络应用有不同的通信规则,因此应用层协议是多种多样的,比如 DNS、FTP、Telnet、SMTP、HTTP、 等协议都是用于解决其各自的一类问题。 http 通信协议的基本原理 http 协议在远程通信场景中的应用还是挺广泛的,包括 阅读全文
posted @ 2019-09-14 16:13 千里送e毛 阅读(702) 评论(0) 推荐(0)
摘要: 一个 http 请求的整个流程 那么在分布式架构中,有一个很重要的环节,就是分布式网络中的计算机节点彼此之间需要通信。这个通信的过程一定会涉及到通信协议相关的知识点,当然大家也可能知道一些,但是我会尽可能的把通信这一块的内容串起来,加深大家的理解。我们每天都在用浏览器访问各种网站,作为用户来说,只需 阅读全文
posted @ 2019-09-14 11:48 千里送e毛 阅读(194) 评论(0) 推荐(0)
摘要: 架构的本质 一个软件系统随着功能越来越多,调用量急剧增长,整个系统逐渐碎片化,越来越无序,最终无法维护和扩展,所以系统在一段时间的野蛮生长后,也需要及时干预,避免越来越无序。架构的本质就是对系统进行有序化重构,使系统不断进化那架构是如何实现无序到有序的呢? 基本的手段就是分和合,先把系统打散,然后重 阅读全文
posted @ 2019-09-14 10:15 千里送e毛 阅读(438) 评论(0) 推荐(0)
摘要: 什么是线程池 在 Java 中,如果每个请求到达就创建一个新线程,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多。 如果在一个 Jvm 里创建太多的线程,可能会使系统由于过度消耗内存或“切换过度”而导致系统资源不足为了解决这个问题,就有了线程池 阅读全文
posted @ 2019-09-11 15:46 千里送e毛 阅读(519) 评论(0) 推荐(0)
摘要: 我相信大家都有使用过分布式消息队列,比如 ActiveMQ、kafka、RabbitMQ 等等,消息队列的是有可以使得程序之间实现解耦,提升程序响应的效率。如果我们把多线程环境比作是分布式的话,那么线程与线程之间是不是也可以使用这种消息队列的方式进行数据通信和解耦呢? 阻塞队列的使用案例 假如我们模 阅读全文
posted @ 2019-09-10 14:09 千里送e毛 阅读(681) 评论(0) 推荐(0)
摘要: 线程这块的一些工具类,基本都会以原理为主,通过分析别人代码的设计和实现,给自己提供积累一些方法和工具。 Condition 在前面学习 synchronized 的时候,有讲到 wait/notify 的基本使用,结合 synchronized 可以实现对线程的通信。那么这个时候我就在思考了,既然 阅读全文
posted @ 2019-09-10 00:44 千里送e毛 阅读(456) 评论(0) 推荐(0)
摘要: J.U.C 简介 Java.util.concurrent 是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。并发包的作者是大名鼎鼎的 Doug Lea。我们在接下来剖析一些经典的比较常用的组件的设计思想。 Lock Lock 阅读全文
posted @ 2019-09-09 21:32 千里送e毛 阅读(5382) 评论(1) 推荐(8)
摘要: 初步认识 Volatile 下面这段代码,演示了一个使用 volatile 以及没使用 volatile 这个关键字,对于变量更新的影响 public class VolatileDemo { public /*volatile*/ static boolean stop=false; public 阅读全文
posted @ 2019-09-07 17:58 千里送e毛 阅读(393) 评论(0) 推荐(0)