Dubbo是SOA(面向服务架构)服务治理方案的核心框架。用于分布式调用,其重点在于分布式的治理。
简单的来说,可以把它分为四个角色。服务提供方(Provider)、服务消费方(Consumer)、注册中心和监控中心。通过注册中心对服务进行注册和订阅,通过监控中心对服务进行监控。
Dubbo的SPI机制与JDK机制的不同及原理分析
2019年7月26日
Dubbo是SOA(面向服务架构)服务治理方案的核心框架。用于分布式调用,其重点在于分布式的治理。
简单的来说,可以把它分为四个角色。服务提供方(Provider)、服务消费方(Consumer)、注册中心和监控中心。通过注册中心对服务进行注册和订阅,通过监控中心对服务进行监控。
虚拟机把描述类的数据结构从Class文件中加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。
G1是一款面向服务器应用的垃圾收集器,目标是用在多核、大内存的机器上。
它在满足高吞吐量的同时满足GC停顿的时间尽可能地短。
应用场景:
收集算法是内存回收的方法论,而垃圾收集器就是内存回收的具体实现。主要垃圾收集器分为下面几种,而G1收集器将在另一篇文章中介绍。
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
wait方法和notify方法并不是Thread特有的方法,而是Object中的方法。
wait方法介绍
在计算机中,所有的运算操作都是由CpU的寄存器来完成的,在CPU Cache模型没出来之前,CPU所访问的数据只能是计算机的主存,但CPU本身的计算速度与主内存的读写速度远远不一致,所以在中间添加了Cache模型,在程序运行的时候,程序会把从内存中读取的数据*
在上文中,我写了ReentrantLock有关的代码分析,它是基于Lock基础类的。在Java中一般有两种实现锁的方式,一种是基于Lock的,一种是基于JVM的synchonized锁的,在本文中将要介绍后面一种方式。jDK官网中对它进行了这样的解释:它可以实现一个简单的策略来防止线程干扰和内存一致性错误,如果一个对象对多个线程是可见的,那么对该对象的所有读或者写都将通过同步的方式来继续来进行。