vincent

对coding有独特追求的人。

Elasticsearch 之 监控Elasticsearch性能

        本文翻译原文地址:https://www.datadoghq.com/blog/monitor-elasticsearch-performance-metrics/       本文是关于监控Elasticsearch性能的4部分系列文章的第1部分。 在这篇文章中,我们将介绍E...

2018-10-20 11:43:26

阅读数 465

评论数 0

Spring Security Oauth2 之 核心架构配置

1 ResourceServerConfigurerAdapter (资源服务器配置)内部关联了ResourceServerSecurityConfigurer和HttpSecurity。前者与资源安全配置相关,后者与http安全配置相关 @Override public void con...

2018-04-04 14:39:46

阅读数 8763

评论数 7

Spring Security Oauth2 之 架构源码解读

本篇追踪源码阐述获Security的认证的基本流程 密码模式请求/oauth/token ,获取令牌(access_token)经过客户端认证核心过滤器ClientCredentialsTokenEndpointFilter(attemptAuthentication)    获取clientId...

2018-04-03 23:17:05

阅读数 6766

评论数 0

Spring Security Oauth2 之 理解OAuth 2.0授权流程

      总览        本系列针对Security-Oauth2架构的剖析,包括:oauth2.0认证架构详解、架构源码解读、核心结构配置。        本篇是对oauth2认证流程的概述,喜欢的多多pick!        内容引用书籍:The OAuth 2.0 Authorizat...

2018-04-03 13:26:36

阅读数 9978

评论数 0

分布式事务解决方案(总览)

总览        本系列针对分布式事务提出三种解决方案:可靠消息最终一致性、最大努力通知、TCC。 每种方案分为上下两篇,上篇为原理概述,下篇为具体实现。        本篇是对本地事务和分布式事务的特性理解分析,喜欢的多多pick!事务概念原子性是指事务是一个不可再分割的工作单元,事务中的操作...

2018-04-02 13:23:34

阅读数 14752

评论数 2

Spring Batch 之 ItemProcessor 和 StepListener

ItemProcessor 在开发过程中,我们经常需要读取数据后,经过一系列业务逻辑的操作,进而写入数据到指定持久化过程。Spring Batch为我们提供了ItemProcessor接口进行数据处理。 我们可以构建CompositeItemProcessor 的Bean,存储多个P...

2019-03-17 17:31:58

阅读数 21

评论数 0

Spring Batch 之 ItermWriter

本文重点介绍 WriterReader,如何把数据写入不同的持久化中; JdbcBatchItemWriter 数据写入数据库中 @Configuration public class DbOutputDemoJobWriterConfiguration { @Autowi...

2019-03-16 11:16:34

阅读数 26

评论数 0

Spring Batch 之 ItemReader

本文重点介绍 ItemReader,如何从不同数据源读取数据;以及异常处理及重启机制。 JdbcPagingItemReader 从数据库中读取数据 @Configuration public class DBJdbcDemoJobConfiguration { @Autowi...

2019-03-16 10:47:19

阅读数 31

评论数 0

Spring Batch 之 flow 介绍和使用

         通过前文我们已经知道,Step 是一个独立的、顺序的处理步骤,包含完整的输入、处理以及输出。但是在企业应用中,我们面对的更多情况是多个步骤按照一定的顺序进行处理。因此如何维护步骤之间的执行顺序是我们需要考虑的。Spring Batch 提供了 Step Flow 来解决这个问题。...

2018-12-30 20:03:10

阅读数 1040

评论数 0

Spring Batch 之 Job的创建和调用

     在上一篇文章  Spring Batch 之 背景框架简介   中,已经概述了Batch的基本架构组织,并且运行了简易demo。 在接下来的篇幅中,将逐步介绍每个组件的使用方式,并结合业务进行批处理。   一个job是如何诞生的?  由什么组成的?  Spring Batch 又是...

2018-12-30 17:42:03

阅读数 1088

评论数 0

Spring Batch 之 背景框架简介

            Spring Batch 是一个轻量级的、全面的批处理框架,用于开发对企业系统的日常操作至关重要的健壮批处理应用程序。Spring  Batch提供了处理大量记录所必需的可重用功能,包括日志/跟踪、事务管理、作业处理统计信息、  作业重启、跳过和资源管理。它还提供了更高级...

2018-12-30 16:20:53

阅读数 986

评论数 0

Elasticsearch 之 Elasticsearch面试总结

一、Elasticsearch监控的常用工具 我大概用过如下的监控插件(注意此处插件的版本,不同es的版本,监控工具的安装方式可能不一样)      1. bigdesk 统计分析和图表化elasticsearch的集群信息状态            https://blog.csdn.ne...

2018-10-20 11:54:14

阅读数 902

评论数 0

atomic的实现原理

         在多线程的场景中,我们需要保证数据安全,就会考虑同步的方案,通常会使用synchronized或者lock来处理,使用了synchronized意味着内核态的一次切换。这是一个很重的操作。      有没有一种方式,可以比较便利的实现一些简单的数据同步,比如计数器等等。conc...

2018-09-11 11:31:48

阅读数 2066

评论数 0

ElasticJob -- 分布式作业调度

Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。 Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供最轻量级的分布式任务的协调服务,外部依赖仅Zookeeper。 ...

2018-09-07 15:41:20

阅读数 2030

评论数 0

三种实现分布式锁的方式

一、为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量...

2018-06-14 15:01:57

阅读数 5865

评论数 0

MyBatis 之 十道常见的面试题

1. #{}和${}的区别是什么?#{}是预编译处理,${}是字符串替换。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理${}时,就是把${}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安...

2018-06-13 16:30:29

阅读数 1455

评论数 0

常用排序算法总结(2)-- 非比较排序算法

上一篇总结了常用的比较排序算法,主要有冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。这篇文章中我们来探讨一下常用的非比较排序算法:计数排序,基数排序,桶排序。在一定条件下,它们的时间复杂度可以达到O(n)。这里我们用到的唯一数据结构就是数组,当然我们也可以利用链表来实现下述算法。需要...

2018-06-13 14:18:53

阅读数 485

评论数 0

常用排序算法总结(1)-- 比较排序

我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。排序算法大体可分为两种:一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数...

2018-06-12 15:01:48

阅读数 2734

评论数 0

JVM 之(16)方法调用

前言Java具备三种特性:封装、继承、多态。Java文件在编译过程中不会进行传统编译的连接步骤,方法调用的目标方法以符号引用的方式存储在Class文件中,这种多态特性给Java带来了更灵活的扩展能力,但也使得方法调用变得相对复杂,需要在类加载期间,甚至到运行期间才能确定目标方法的直接引用。方法调用...

2018-06-09 23:20:43

阅读数 433

评论数 0

JVM 之(15)局部变量表

        在《JVM 之(1)运行时数据区》提到,虚拟机栈是描述Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。本篇主要分析局部变量表的原理结构。        局部变量表是一组变量值存储空间,...

2018-06-09 21:25:45

阅读数 1891

评论数 0

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