05 2017 档案
关于dubbo的架构
摘要:dubbo是国内一个十分受欢迎的分布式rpc框架。 这篇博客是从dubbo官网出发,来说明下dubbo的技术架构。首先我们看下官网的架构图。 节点角色说明: Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 M 阅读全文
posted @ 2017-05-23 20:12 知己一生 阅读(194) 评论(0) 推荐(0)
GC的时机
摘要:说到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 知己一生 阅读(1314) 评论(0) 推荐(0)
BIO、NIO、AIO三者的比较
摘要:消息时的系统通信,通常基于网络协议实现。常见的协议包括TCP/IP,UDP/IP。 TCP/IP等协议用于数据传输,但要完成通信,还需要对数据进行处理。例如读取和写入数据。 I/O可以分为两种:同步IO和异步IO,同步I/O最常见的是 BIO(Blocking IO)、NIO(Non-Blockin 阅读全文
posted @ 2017-05-19 13:07 知己一生 阅读(4625) 评论(0) 推荐(1)
spring 和 spring boot 的区别
摘要:最近越来越多的开发者都开始选择 spring-boot,与传统的 spring 相比,spring-boot又有哪些优势呢? 1.追求开箱即用的效果,只需要很少的配置就可以直接开始运行项目。 例如各种 starter 简化 maven 配置。 对于一个web应用只需要做如下配置,就可以直接启动。 2 阅读全文
posted @ 2017-05-18 21:29 知己一生 阅读(958) 评论(0) 推荐(0)
系统并发量不同采用何种技术的讨论。
摘要:因为工作经验的原因,没有遇到很高并发的场景。所以对各种技术的应用场景都比较模糊。 今天偶尔看到了dubbo的官方文档。觉得上面的用户指南特别棒,让自己的思路一下子清晰了很多。 下面截了dubbo官网的一张图片 可以很清楚的看到系统集群在不同数量的时候,该采用何种架构。 单一应用架构: 当网站流量很小 阅读全文
posted @ 2017-05-12 13:31 知己一生 阅读(171) 评论(0) 推荐(0)
JVM 体系结构介绍
摘要:JVM是Java的一大利器。它可以屏蔽各个计算机平台相关软件和硬件之间的差异。把平台相关的耦合统一工作交由JVM的实现者。 JVM(Java 虚拟机),它通过模拟一个计算机来达到一个计算机所拥有的计算功能。 为了了解JVM的体系结构,所以我们先看一台真实计算机的体系包括哪些结构: 1、指令集:这台计 阅读全文
posted @ 2017-05-12 13:14 知己一生 阅读(237) 评论(0) 推荐(0)
服务路由和负载均衡介绍。
摘要:分布式应用对业务逻辑复用的需求十分强烈。上层业务都想借用底层服务,来搭建更多、更丰富的应用。 将公共业务拆分出来,形成可共用的服务,最大程度的保障代码和逻辑的复用,这种设计成为SOA(面向服务架构)。 在SOA中,服务消费者通过服务名称,在服务列表中找到需要调用的服务,这称为服务的路由。 而对于负载 阅读全文
posted @ 2017-05-11 17:40 知己一生 阅读(704) 评论(0) 推荐(0)
数据库的隔离级别。
摘要:事务具有四个特征,即我们通常所说的ACID,原子性(Automicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)。 隔离性方面,标准SQL定义了四个事务的隔离级别。 这些级别的判断标准为:1.是否存在脏数据读取。(也就是可以读取到事务处理时的 阅读全文
posted @ 2017-05-09 20:41 知己一生 阅读(146) 评论(0) 推荐(0)
分布式一致性的目的。
摘要:1.随着多线程的兴起,为系统的性能带来了卓越的提升。但也带来了另一个最大的副作用,那就是并发。 2.在分布式系统中,另一个需要解决的问题就是数据的复制。常见的场景如下: 1)增加系统可用性,防止单点故障。 2)提高系统性能,通过负载均衡,让分布在不同地方的数据副本都能够为用户提供服务。 所谓分布式一 阅读全文
posted @ 2017-05-08 20:27 知己一生 阅读(383) 评论(0) 推荐(0)
spring IoC容器的实现。
摘要:控制反转是spring的重要概念。而实现控制反转的IoC容器具体又是如何实现呢。 IoC容器的目的是能够管理系统中各个对象之间的关系和依赖,为了实现这个功能,spring框架对Bean做了进一步抽象 BeanDefinition。 IoC容器的种类当然不止一种,定义IoC容器的规范则是 BeanFa 阅读全文
posted @ 2017-05-06 16:18 知己一生 阅读(196) 评论(0) 推荐(0)
jvm类加载机制
摘要:虚拟机把描述类的Class文件加载到内存,并进行校验、准备、解析、初始化,形成jvm可以直接使用的类型,这被称为jvm的类加载机制。 1. 加载:根据全限定名加载二进制文件到jvm内存。 2.校验: 根据java虚拟机规范,对文件进行验证。 3. 准备: 为类变量分配初始值,在方法区分配。 4. 解 阅读全文
posted @ 2017-05-03 20:18 知己一生 阅读(115) 评论(0) 推荐(0)
java 锁的分类
摘要:java中为了解决多线程并发带来的线程安全问题,引入了锁机制。 一、公平锁和非公平锁 1、公平锁:按照申请锁的顺序(FIFO队列)来获取锁。 2、非公平锁:所有线程都会竞争,获取的锁的顺序和申请顺序无关。 二、共享锁和独占锁 1、共享锁:又称读锁,支持多个线程同时获取锁,可以读数据,无法更新。 2、 阅读全文
posted @ 2017-05-03 11:50 知己一生 阅读(290) 评论(0) 推荐(0)