文章
这次源码解析借鉴《肥朝》前辈的dubbo源码解析,进行源码学习。总结起来就是先总体,后局部.也就是先把需要注意的概念先抛出来,把整体架构图先画出来.让读者拿着"地图"跟着我的脚步,并且每一步我都提醒,现在我们在哪,我们下一步要做什么,这样才不会迷失方向。前期首先是总体出发了解整体的架构,涉及到概念,在学习dubbo会更加理解透彻。下面对上面这张图做简要的分析:(1)cluster是集群,主要是In
  • arick
  • 2019-09-12 22:10:33
  • 46
前言    买了本《Netty权威指南》来看,目前粗略看了一些,感觉写得很好,为了能记录一些学习成果,便有了这篇文章,如果有地方写错了,也请各位指正。(文中演示代码并没考虑太多真实情况,比如 粘包/拆包 问题 )概念介绍常见I/O模型1)阻塞I/O(blocking I/O)2)非阻塞I/O (nonblocking I/O)3) I/O复用(select,poll,epoll) (I/O mul
  • arick
  • 2019-09-06 14:17:28
  • 171
版本elasticsearch-6.0.0.tar.gz kibana-6.0.0-linux-x86_64.tar.gzelasticsearch搭建 1. ES不能使用root用户启动,所以我们需要先增加用户:(查询了许多博客,别的博主说更改一些相关配置就可以使用root用户启动elasticsearch了,但是我配置过后仍旧不可以使用root用户启动,不明原由,希望解决了相关问题的小伙伴留言
  • arick
  • 2019-09-03 19:27:52
  • 173
采用 MySQL 实现方式在只使用单数据库时,使用自增主键ID无疑是最适合的。但在集群、主从架构上时就会有一些问题,比如 : 主键的全局唯一在集群环境下除自增ID 外的其它创建主键的方案1> 通过应用程序生成一个 GUID,然后和数据一起插入切分后的集群优点 : 维护简单,实现也容易缺点 : 应用的计算成本较大,且 GUID 的长度比较长,占用数据库存储空间较大,涉及到应用的开发2> 通过独立的应
  • arick
  • 2019-08-28 14:16:09
  • 312
摘要: 本文所讨论的计算资源是指用来执行 Task 的资源,是一个逻辑概念。本文会介绍 Flink 计算资源相关的一些核心概念,如:Slot、SlotSharingGroup、CoLocationGroup、Chain等。并会着重讨论 Flink 如何对计算资源进行管理和隔离,如何将计算资源利用率最大化等等。理解 Flink 中的计算资源对于理解 Job 如何在集群中运行的有很大的帮助,也有利于我
  • arick
  • 2019-08-20 10:08:15
  • 314
分布式事务——消息最终一致性方案前言分布式事务一直是服务化拆分后一个绕不开的话题,原来在单体应用中执行的多个逻辑操作,现在被拆分成了多个服务之间的远程调用。虽然服务化为我们的系统带来了水平伸缩的能力,然而随之而来挑战就是分布式事务问题,多个服务之间使用自己单独维护的数据库,它们彼此之间不在同一个事务中,假如A执行成功了,B执行却失败了,而A的事务此时已经提交,无法回滚,那么最终就会导致两边数据不一
  • arick
  • 2019-08-19 15:06:23
  • 385
CompletableFuture是Java 8引入的,一个很好用的特性,但被Lambda、Stream等的光环给盖住了。总的来说,CompletableFuture把Java 5引入的Future的锅都补上了,具体直接看例子吧。例子说明本文所述的例子纯属虚构,如有雷同,纯属巧合(可联系作者删除),版权归作者所有。例子主要服务于问题/原理讲解,以通熟易懂为主。可能与现实或常识脱钩,请别太较真。这是
  • arick
  • 2019-08-14 11:41:33
  • 466
1.JVM体系结构概览2.GC算法分类:引用计数法:每个对象维护一个引用计数器记录其被引用数,当被引用数为0时即可回收 跟踪法(可达性分析算法):从GC Roots出发向下搜索,不可达的对象即可回收 GC Roots对象: 虚拟机栈(栈帧中的本地变量表)中引用的对象本地方法栈中JNI(即native方法)引用的对象方法区中类静态属性引用的对象方法区中常量引用的对象在可达性分析算法中不可达的对象,也
  • arick
  • 2019-08-12 16:49:29
  • 370
一、java的核心机制java有两种核心机制:java虚拟机(JavaVirtual Machine)与垃圾收集机制(Garbage collection):1、Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境,在其上面运行Java代码编译后的字节码程序,java虚拟机实现了平台无关性。2、Java垃圾回收(Garbage Collection):自动释放不用对象内存空
  • Carrey
  • 2019-08-01 17:09:55
  • 420
多线程问题: 1、java中为什么要使用多线程使用多线程,可以把一些大任务分解成多个小任务来执行,多个小任务之间互不影像,同时进行,这样,充分利用了cpu资源。2、java中简单的实现多线程的方式继承Thread类,重写run方法;class MyTread extends Thread{ public void run() {System.out.println(Thread.currentTh
  • Carrey
  • 2019-08-01 17:05:56
  • 502
  • 1
  • 2
  • 3
  • 跳至
Rick ©2018