井底之蛙

学而知不足,思而得远虑

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

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

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

2018-05-19 20:34:45

阅读数:528

评论数:0

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

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

2018-03-01 18:46:29

阅读数:1257

评论数:0

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

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

2017-08-23 22:21:15

阅读数:3165

评论数:2

Spring源码学习--Bean对象循环依赖问题解决(四)

循环依赖就是N个类相互嵌套引用,如果通过new对象的方式产生循环依赖的话会导致程序内存溢出报错,接下来我们了解一下spring是如何解决循环依赖问题。第一种:prototype原型bean循环依赖对于原型bean的初始化过程中不论是通过构造器参数循环依赖还是通过setXxx方法产生循环依赖,Spr...

2017-07-05 18:28:17

阅读数:1520

评论数:0

并发编程--AbstractQueuedSynchronizer介绍和原理分析

AbstractQueuedSynchronizer是并发编程包中最重要的类,是并发编程包的实现基层。简单来说,AbstractQueuedSynchronizer提供了一个基于FIFO的队列,用于存储处于阻塞状态的线程;提供了一个volatile修改的state变量,用于作为锁获取的标识位,对于...

2017-04-17 21:09:19

阅读数:1722

评论数:2

springMVC源码分析--容器初始化(一)ContextLoaderListener

在spring Web中,需要初始化IOC容器,用于存放我们注入的各种对象。当tomcat启动时首先会初始化一个web对应的IOC容器,用于初始化和注入各种我们在web运行过程中需要的对象。当tomcat启动的时候是如何初始化IOC容器的,我们先看一下在web.xml中经常看到的配置: con...

2016-10-10 19:12:48

阅读数:10464

评论数:4

Mybatis逻辑分页原理解析RowBounds

Mybatis提供了一个简单的逻辑分页使用类RowBounds,在DefaultSqlSession提供的某些查询接口中我们可以看到RowBounds是作为参数用来进行分页的,如下接口: public List selectList(String statement, Object param...

2016-09-21 19:14:26

阅读数:23984

评论数:2

ZipKin原理学习--zipkin支持日志打印追踪信息

       目前在zipkin brave已经提供功能在我们使用logback或log4j等时可以在日志信息中将traceId和spanId等信息打印到运行日志,这样可能对我们通过日志查看解决问题有比较大的帮助。       地址:https://github.com/openzipkin/b...

2018-10-20 21:29:43

阅读数:2482

评论数:0

XXL-JOB原理--执行器注册(二)

1、xxl-job添加执行器到任务调度中心有两种方式 (1)客户端执行器自动将名称和机器地址注册到任务调度中心 (2)可以在任务调度中心手动录入执行器名称和相关的机器地址(多个机器地址用逗号隔开) 2、自动注册流程 (1)在执行器客户端配置执行器名称和任务调度中心地址: ### x...

2018-10-17 14:46:01

阅读数:620

评论数:0

Spring Security原理学习--权限校验(四)

      在上一篇博客Spring Security原理学习--用户名和密码认证(三)中我们已经了解到Spring Security关于用户名和密码在UsernamePasswordAuthenticationFilter中的认证处理逻辑,接下来我们看看权限的校验处理。       Sprin...

2018-10-17 09:30:40

阅读数:72

评论数:0

Spring Security原理学习--用户名和密码认证(三)

         在上一篇博客Spring Security原理学习--核心过滤器Filter(二)中我们已经了解到Spring Security相关业务处理的Filter,这篇博客我们通过代码完整的将Spring Security登录、验证和退出的流程了解一下。 一、登录请求 1、Sprin...

2018-10-15 22:08:06

阅读数:113

评论数:0

Spring Security原理学习--核心过滤器Filter(二)

在上一篇博客Spring Security原理学习--简介与示例(一)中已经简单介绍了Spring Security相关的东西, 这篇博客我们介绍一下Spring Security相关的实现机制  。首先Spring Security的认证功能是依赖Filter实现的,当然在认证功能基础上还提供了...

2018-10-14 15:59:18

阅读数:2404

评论数:3

Spring Security原理学习--简介与示例(一)

Spring Security原理学习--核心过滤器Filter(二) Spring Security原理学习--用户名和密码认证(三) 一、简介 中文介绍:https://springcloud.cc/spring-security-zhcn.html Spring Security 提...

2018-10-14 14:31:43

阅读数:374

评论数:0

Elastic-Job原理--任务失败转移(五)

        在上一篇博客Elastic-Job原理--任务调度处理(四)我们已经了解到Elastic-Job依赖quartz定时任务执行分片任务的过程,这篇博客我们简单了解一下Elastic-Job中当某个服务器节点与注册中心断开连接(无法进行任务执行)时其需要执行的任务转移到其他节点的过程。...

2018-10-13 13:43:54

阅读数:268

评论数:0

Elastic-Job原理--任务调度处理(四)

     在上一篇博客Elastic-Job原理--任务分片策略(三)我们已经了解了Elastic-Job的任务分片策略,这篇博客我们了解学习一下Elastic-Job是如何执行分片任务的。       首先,Elastic-Job的定时任务执行机制还是基于quartz开发的,因此Elastic...

2018-10-10 20:11:58

阅读数:75

评论数:0

Elastic-Job原理--任务分片策略(三)

上一篇博客Elastic-Job原理--服务器初始化、节点选举与通知(二)介绍了Elastic-Job的启动流程,这篇博客我们了解学习一下Elastic-Job的任务分片策略,目前提供了三种任务分片策略,分片策略的实现最终是在注册中心zk中在分片的instance中写入实例信息。 目前Ela...

2018-10-10 16:57:22

阅读数:192

评论数:0

Elastic-Job原理--服务器初始化、节点选举与通知(二)

       在上一篇博客Elastic-Job原理--简介与示例(一)中我们简单的介绍了一下Elastic-Job提供的功能,这篇博客我们通过分析Elastic-Job的源码,了解学习一下Elastic-Job的初始化、节点选举、配置变更通知等相关的流程。      Elastic-Job依赖...

2018-10-09 21:22:00

阅读数:110

评论数:0

Quartz任务调度框架--任务执行流程(二)

       上一篇博客Quartz任务调度框架--简介与示例(一)中我们已经简介和示例代码对quartz有了初步的认识,这篇博客我们通过追踪quartz的定时任务执行流程来加深对quartz的了解。 1、运行活动线程 (1)Quartz_Worker-*线程是quartz的线程池初始化的...

2018-10-08 19:39:08

阅读数:49

评论数:0

Quartz任务调度框架--简介与示例(一)

一、简介 1. 介绍 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。 Quartz用一个小J...

2018-10-08 18:55:52

阅读数:62

评论数:0

Cron4j调度框架实现原理

       之前有篇博客我们介绍了Cron4j改造与学习的内容 Cron4j调度框架学习与改造,这篇博客我们从源码上看看Cron4j的实现机制。 示例: public class TestMain { public static void main(String[] args) { ...

2018-10-08 12:46:40

阅读数:121

评论数:0

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