井底之蛙

学而知不足,思而得远虑

排序:
默认
按更新时间
按访问量

Cron4j调度框架学习与改造

1、cron4j表达式cron4j支持的表达式是类似unix定时任务的字符串表达式,目前支持由5部分组成分:从0到59时:从0到23天:从1到31,字母L可以表示月的最后一天月:从1到12,可以别名:"jan", "feb",...

2018-07-09 15:15:44

阅读数:123

评论数:2

Zipkin原理学习--Zipkin支持PostgreSQL存储追踪日志

    目前Zipkin官方支持Memory、Mysql、Elasticsearch和Cassandra作为追踪日志的存储方式,由于公司业务需要目前使用的PostgreSQL数据库,因此基于MySQL方式实现了Zipkin支持PostgreSQL作为存储媒介。1、GitHub地址        h...

2018-06-10 10:40:18

阅读数:189

评论数:0

ZipKin原理学习--Zipkin多线程及线程池中追踪一致性问题解决

    在学习Zipkin分布式追踪系统中我们了解到Trace在整个调用链是一致的,在web服务中可以通过在header设置Trace值在不同的服务中进行传递,那样在一个服务内部不同的线程,甚至是线程池中Zipkin是如何处理的,接下来我们来了解学习一下。单个线程    在单个线程的调用过程中,我...

2018-05-19 20:34:45

阅读数:135

评论数:0

Tomcat启动停止慢问题查找解决实战

Tomcat启动停止慢问题查找解决一、概述  使用封装的tomcat组件进行web服务部署时,导致tomcat服务在服务启动和停止中用时比较长,结合tomcat的运行日志进行问题分析。运行日志如下:二、tomcat服务停止慢问题1、现象根据tomcat的运行日志发现,进行了3次tomcat停止操作...

2018-03-01 18:46:29

阅读数:489

评论数:0

Dubbo源码学习--SPI实现@SPI和@Adaptive

上一篇博客 Dubbo入门学习--Dubbo服务提供接口SPI机制我们已经简单介绍了Dubbo的SPI机制,这篇博客我们来剖析一下Dubbo是如何使用SPI机制的,在接口中使用@SPI("值")使用默认的实现类,如果我们不想使用默认的实现类是如何处理的。1、获取...

2017-08-23 22:21:15

阅读数:1998

评论数:0

NIO学习--Reactor模型

通过之前的Unix的IO模型介绍,想必也了解到了5种IO模型。java的NIO是属于同步非阻塞IO,关于IO多路复用,java没有相应的IO模型,但有相应的编程模式,Reactor 就是基于NIO中实现多路复用的一种模式。本文将从以下几点阐述Reactor模式:reactor 是什么为何要用,能解...

2018-07-13 10:03:35

阅读数:34

评论数:0

NIO学习--IO模型

上一篇我们讲到了关于TCP/IP协议的一些内容,这些是网络编程的必备知识。在了解NIO之前我们必须要了解一下对应的系统层IO模型,比如java的NIO对应是那种IO模型,阻塞和同步的差异在哪里,又是否相同。了解了这些更方便我们的后续的NIO探解。一、同步、异步、阻塞、非阻塞同步、异步,阻塞、非阻塞...

2018-07-13 10:02:18

阅读数:27

评论数:0

NIO学习--TCP探秘

在介绍NIO之前有必要了解下TCP协议,因为目前多数应用都是给予应用层进行操作,导致隐藏了大量的网路细节,知道这些细节以及原理对我们的问题排查很有益处。一、TCP 特性TCP 是一种面向连接的协议,它给用户进程提供可靠的全双工的字节流。确保数据包的可靠,有序,以及支持流量控制。关于TCP 为何要做...

2018-07-13 10:01:32

阅读数:34

评论数:0

Elasticsearch学习--ES源码下载、导入及运行

源码下载    1、在github上可以下载其发布的任意一个版本 地址:https://github.com/elastic/elasticsearch/releases导入   1、 Elasticsearch使用gradle对依赖的jar进行维护,工程可以转为Eclipse或者IDEA的工程。...

2018-05-27 17:13:31

阅读数:170

评论数:0

Mysql聚集索引和非聚集索引(堆组织表和索引组织表)

1.堆组织表(HOT)和索引组织表(IOT)有什么区别?    myisam使用的堆组织表(Heap Organize Table, HOT),没有聚集索引的概念,使用B-tree索引的存储格式,显示都是随机顺序。    innodb表是索引组织表(Index Organized Table, I...

2018-05-24 20:49:43

阅读数:351

评论数:0

Elasticsearch原理学习--为什么Elasticsearch/Lucene检索可以比MySQL快?

同样都可以对数据构建索引并通过索引查询数据,为什么Lucene或基于Lucene的Elasticsearch会比关系型数据库如MySQL搜索性能更优?两者有什么区别?各自选型的依据是什么?它们各自又有什么优势?本文针对于以上问题,基于个人理解及参考网上相关资料,给出说明。由于个人技术能力有限,若文...

2018-05-20 19:53:11

阅读数:153

评论数:0

Elasticsearch学习--索引快速检索

如何快速检索?Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型数据库的b-tree索引快在哪里?到底为什么快呢?笼统的来说,b-tr...

2018-05-20 19:52:47

阅读数:105

评论数:0

OpenTracing语义标准

OpenTracing语义标准版本号: 1.1综述这是正式的OpenTracing语义标准。OpenTracing是一个跨编程语言的标准,此文档会避免具有语言特性的概念。比如,我们在文档中使用"interface",因为所有的语言都包含"int...

2018-05-19 16:25:50

阅读数:77

评论数:0

Java中CAS详解

在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放...

2018-05-19 12:25:59

阅读数:79

评论数:0

ZipKin原理学习--ZipKin Server集成Elasticsearch使用

1、Zipkin Server在启动时指定使用elasticsearch作为追踪日志存储方式:java -jar zipkin-server-2.8.3-exec.jar --STORAGE_TYPE=elasticsearch --DES_HOSTS=http://localhost:9200 ...

2018-05-19 10:02:01

阅读数:723

评论数:4

ZipKin原理学习--ZipKin入门介绍

ZipKin入门介绍

2018-05-12 16:05:49

阅读数:388

评论数:0

Java 多线程:InheritableThreadLocal 实现原理

前言介绍 InheritableThreadLocal 之前,假设对 ThreadLocal 已经有了一定的理解,比如基本概念,原理,如果没有,可以参考:Java 多线程:threadlocal关键字。这里再复习下 ThreadLocal 的原理,因为会对 InheritableThreadLoc...

2018-05-11 11:40:00

阅读数:122

评论数:0

RabbitMQ原理学习-- Headers交换器类型

      Headers类型的exchange使用的比较少,它也是忽略routingKey的一种路由方式。是使用Headers来匹配的。Headers是一个键值对,可以定义成Hashtable。发送者在发送的时候定义一些键值对,接收者也可以再绑定时候传入一些键值对,两者匹配的话,则对应的队列就可...

2018-05-06 20:50:39

阅读数:65

评论数:0

RabbitMQ原理学习-- Topic交换器类型

    topic类型简单来说和direct类似,只不过是topic的routeKey是一个匹配规则,如果匹配规则满足会将消息广播到Exchange和routeKey对应的queue中。“#”表示0个或若干个关键字,“*”表示一个关键字。如“log.*”能与“log.warn”匹配,无法与“log...

2018-05-06 20:45:34

阅读数:49

评论数:0

RabbitMQ原理学习-- Direct交换器类型

    任何发送到Direct Exchange的消息都会被转发到RouteKey中指定的Queue。1.这种模式下不需要将Exchange进行任何绑定(binding)操作2.消息传递时需要一个“RouteKey”,可以简单的理解为要发送到的队列名字。3.如果vhost中不存在RouteKey中...

2018-05-05 22:28:05

阅读数:45

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭