- 博客(8)
- 收藏
- 关注
原创 dubbo源码总结
源码导读:http://dubbo.apache.org/zh-cn/docs/source_code_guide/export-service.html 概念 Invoker:实体域。Invoker是Dubbo的核心模型,其它模型都向它靠扰或转换成它,它代表一个可执行体,可向它发起invoke调用。 它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。 提供者的invoker 1.本质上应该是一个代理,经过层层包装最终进行了发布。当消费者发起请求的时候,会获得这个invoker进行调用。
2020-06-06 16:37:04 201
原创 kafka总结
知识点 1个topic的不同分区中的数据是不一样的。 zookeeper的作用:1.kafka集群选举mater(基于顺序节点,broker.id最小的节点为master)。2.存储分区的副本集信息。 partition 1个partition只能被1个consumer连接(3个partition4个consumer时,有1个consumer会闲置)。 1个consumer可以连接多个partition(2个partition1个consumer时,这2个partition都由这个consumer消费)。
2020-06-06 16:32:39 171
原创 dubbo-SPI
SPI 1.ExtensionLoader.getExtensionLoader:创建指定类型的ExtensionLoader对象 1.new ExtensionLoader(type):创建指定类型的ExtensionLoader对象 ->AdaptiveExtensionFactory objectFactory = ExtensionLoader.getExtensionLoader(ExtensionFactory.class).getAdaptiveExtension():初始化这个exte
2020-05-24 22:18:46 99
原创 JMM的可见性和原子性
1.可见性:当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。 happens-before概念:happens-before仅仅要求前一个操作(执行的结果)对后一个操作可见,并不意味着前一个操作必须要在后一个操作之前执行。 程序顺序规则:一个线程中的每个操作,happens-before于该线程中的任意后续操作。 一个方法中相邻的2行代码不一定按从上到下的顺序执行:JMM允许编译器和处理器对指令重排序。 as-if-serial语义:不管怎么重排序(编译器和处理器为了提高并行
2020-05-10 10:02:20 261
原创 理解interrupt
1.thread.interrupt 中断可以理解为线程的一个标识位属性,它表示一个运行中的线程是否被其他线程进行了中断操作。 中断好比其他线程对该线程打了个招呼,其他线程通过调用该线程的interrupt()方法对其进行中断操作。 thread.interrupt会把isInterrupted设置成true,isInterrupted默认是false。 isInterrupted(中断状态)是线程的一个标识位,而中断操作是一种简便的线程间交互方式,而这种交互方式最适合用来取消或停止任务。 停止线程(thr
2020-05-10 09:49:23 408
原创 线程状态与阻塞
线程的状态 NEW:初始状态。线程被创建。 RUNNABLE:运行状态。java的运行状态(RUNNABLE)状态包括操作系统中的就绪(READY)和运行中(RUNNING)两种状态。 Thread.start会使线程进入Runnable状态。 yield会使线程从RUNNING状态进入READY状态。 BLOCKED:阻塞状态。表示线程等待获取监视器锁,线程阻塞于锁。 当线程调用同步方法时,在没有获取到锁的情况下,线程将会进入到阻塞状态。线程等待进入synchronized方法/代码块。 BLOCKED状
2020-05-10 09:40:37 291
原创 线程池总结
1.Executors Executors.newFixedThreadPool:可控制线程的最大并发数,超出的线程会在队列中等待。适用于执行1个长期的任务。底层是ThreadPoolExecutor。它使用了LinkedBlockingQueue。 Executors.newSingleThreadExecutor:只会用唯一的工作线程来执行任务,保证所有任务都按照指定顺序执行。底层是ThreadPoolExecutor。它使用了LinkedBlockingQueue。 Executors.newCach
2020-05-10 09:02:40 78
原创 NIO概念
概要:本文阐述我对NIO中的一些基本概念的理解:Selector、Channel、Buffer、同步与异步、阻塞与非阻塞、多路复用。其中selector与channel进行交互,channel与buffer进行交互。 Selector Selector是SelectableChannel 对象的多路复用器。Selector可以同时监控多个SelectableChannel的IO状况,也就是说,利用...
2020-02-29 07:52:19 146 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人