摘要: sleep、wat都会暂停当前的线程。 sleep不会释放锁,所以线程会进入阻塞态。 wait会释放锁,线程进入等待队列。notify 之后,线程会进入锁池状态。 sleep 让线程从 【running】 -> 【阻塞态】 时间结束/interrupt -> 【runnable】 wait 让线程从 阅读全文
posted @ 2017-06-17 15:57 知己一生 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 一. 分布式rpc框架有很多,比如dubbo,netty,还有很多其他的产品。但他们大部分都是基于nio的, nio是非阻塞的io,那么它的内部机制是怎么实现的呢。 1.由一个专门的线程处理所有IO事件,并负责分发。 2.事件驱动机制,事件到来的时候触发操作,不需要阻塞的监视事件。 3.线程之前通过 阅读全文
posted @ 2017-06-08 17:10 知己一生 阅读(3441) 评论(0) 推荐(0) 编辑
摘要: 代理模式是一种使用非常广泛的设计模式。在spring中的AOP,dubbo等框架中都有他的身影。 它的简单结构如下: 下面是静态代理模式的简单实现。 接口: 阅读全文
posted @ 2017-06-08 15:51 知己一生 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 在Java不支持泛型之前,一旦把一个对象加入到集合中,集合就会忘记对象的类型,把所有的对象都当做Object来处理。 但是当程序从集合中取出对象时,又会判断对象的类型,这时就会发生类型转换。这种转换不仅代码臃肿,而且容易出现 类型转换异常。 JDK1.5之后引入了参数化类型,允许我们在创建集合时,指 阅读全文
posted @ 2017-06-08 15:44 知己一生 阅读(165) 评论(0) 推荐(0) 编辑
摘要: dubbo是国内一个十分受欢迎的分布式rpc框架。 这篇博客是从dubbo官网出发,来说明下dubbo的技术架构。首先我们看下官网的架构图。 节点角色说明: Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 M 阅读全文
posted @ 2017-05-23 20:12 知己一生 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 说到JVM,GC(垃圾回收)是非常重要的机制。 那么首先的问题是: GC在什么时候会发生? GC的触发包括两种情况:1.程序调用System.gc()的时候。2.系统自身决定是否需要GC。 系统进行GC的依据:1.eden区满会触发 Minor GC。 2.FULL GC的触发条件: (1)调用Sy 阅读全文
posted @ 2017-05-19 20:10 知己一生 阅读(1284) 评论(0) 推荐(0) 编辑
摘要: 消息时的系统通信,通常基于网络协议实现。常见的协议包括TCP/IP,UDP/IP。 TCP/IP等协议用于数据传输,但要完成通信,还需要对数据进行处理。例如读取和写入数据。 I/O可以分为两种:同步IO和异步IO,同步I/O最常见的是 BIO(Blocking IO)、NIO(Non-Blockin 阅读全文
posted @ 2017-05-19 13:07 知己一生 阅读(4601) 评论(0) 推荐(1) 编辑
摘要: 最近越来越多的开发者都开始选择 spring-boot,与传统的 spring 相比,spring-boot又有哪些优势呢? 1.追求开箱即用的效果,只需要很少的配置就可以直接开始运行项目。 例如各种 starter 简化 maven 配置。 对于一个web应用只需要做如下配置,就可以直接启动。 2 阅读全文
posted @ 2017-05-18 21:29 知己一生 阅读(924) 评论(0) 推荐(0) 编辑
摘要: 因为工作经验的原因,没有遇到很高并发的场景。所以对各种技术的应用场景都比较模糊。 今天偶尔看到了dubbo的官方文档。觉得上面的用户指南特别棒,让自己的思路一下子清晰了很多。 下面截了dubbo官网的一张图片 可以很清楚的看到系统集群在不同数量的时候,该采用何种架构。 单一应用架构: 当网站流量很小 阅读全文
posted @ 2017-05-12 13:31 知己一生 阅读(154) 评论(0) 推荐(0) 编辑
摘要: JVM是Java的一大利器。它可以屏蔽各个计算机平台相关软件和硬件之间的差异。把平台相关的耦合统一工作交由JVM的实现者。 JVM(Java 虚拟机),它通过模拟一个计算机来达到一个计算机所拥有的计算功能。 为了了解JVM的体系结构,所以我们先看一台真实计算机的体系包括哪些结构: 1、指令集:这台计 阅读全文
posted @ 2017-05-12 13:14 知己一生 阅读(226) 评论(0) 推荐(0) 编辑