自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小旋锋 的博客

专注于大数据,Java后端类技术分享。记录一名平凡的程序猿的技术成长之路

原创 MySQL Binlog 解析工具 Maxwell 详解

maxwell 简介 Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收...

2019-03-11 09:56:44

阅读数 11745

评论数 11

原创 MySQL Binlog 介绍

Binlog 简介 MySQL中一般有以下几种日志: 日志类型 写入日志的信息 错误日志 记录在启动,运行或停止mysqld时遇到的问题 通用查询日志 记录建立的客户端连接和执行的语句 二进制日志 记录更改数据的语句 中继日志 从复制主服务器接收的数据更改 慢查询日...

2019-03-09 23:54:32

阅读数 2217

评论数 1

转载 写给工程师的十条精进原则

本文转载自:美团技术团队(公众号ID:meituantech)    作者:云鹏 引言 时间回到8年前,我人生中的第一份实习工作,是在某互联网公司的无线搜索部做一个C++工程师。当时的我可谓意气风发,想要大干一场,结果第一次上线就写了人生中第一个Casestudy。由于对部署环境的不了解...

2019-01-30 23:13:48

阅读数 1259

评论数 0

原创 利用Zookeeper实现 - 分布式锁

微信原文: 利用Zookeeper实现 - 分布式锁 博客原文:利用Zookeeper实现 - 分布式锁 在许多场景中,数据一致性是一个比较重要的话题,在单机环境中,我们可以通过Java提供的并发API来解决;而在分布式环境(会遇到网络故障、消息重复、消息丢失等各种问题)下要复杂得多,常见的解...

2019-01-28 22:55:52

阅读数 770

评论数 1

原创 利用Zookeeper实现 - 数据发布订阅

原文始发于:利用Zookeeper实现 - 数据发布订阅 数据发布/订阅 所谓的数据发布/订阅,意思是发布者将数据发布到Zookeeper上的一个或一系列节点上,通过watcher机制,客户端可以监听(订阅)这些数据节点,当这些节点发生变化时,Zookeeper及时地通知客户端,从而达到动态获...

2019-01-24 02:25:06

阅读数 880

评论数 3

原创 利用Zookeeper实现 - Master选举

原文始发于:利用Zookeeper实现 - Master选举 Zookeeper 是一个高可用的分布式数据管理与协调框架,基于ZAB协议算法的实现,该框架能够很好的保证分布式环境中数据的一致性。Zookeeper的典型应用场景主要有:数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管...

2019-01-23 00:21:12

阅读数 1347

评论数 3

原创 Zookeeper 分布式协调服务介绍

公众号原文:Zookeeper 分布式协调服务介绍 博客原文:Zookeeper 分布式协调服务介绍 分布式系统 分布式系统的简单定义:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。 分布式系统的特征: 分布性:系统中的计算机在空间上随...

2019-01-21 23:02:04

阅读数 1413

评论数 0

原创 分布式系统 | CAP 定理图解

博客原文:分布式系统 | CAP 定理图解 CAP定理是分布系统中的一个基本定理,它指出任何分布系统最多可以具有以下三个属性中的两个。 一致性 (Consistency) 可用性 (Availability) 分区容错性 (Partition tolerance) 本文将以图解的形式简明地...

2019-01-16 01:57:01

阅读数 1000

评论数 3

原创 设计模式 | 解释器模式及典型应用

微信原文:设计模式 | 解释器模式及典型应用 博客原文:设计模式 | 解释器模式及典型应用 本文主要介绍解释器模式,在日常开发中,解释器模式的使用频率比较低 解释器模式 解释器模式(Interpreter Pattern):定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的 “...

2019-01-13 23:47:54

阅读数 1141

评论数 1

原创 ArrayList 源码分析

公众号原文:ArrayList 源码分析 博客原文:ArrayList 源码分析 以下源码分析使用的 Java 版本为 1.8 1. 概览 ArrayList 是基于数组实现的,继承 AbstractList, 实现了 List、RandomAccess、Cloneable、Serializa...

2019-01-09 22:49:32

阅读数 679

评论数 0

原创 Elasticsearch源码分析 | 单节点的启动和关闭

本文主要简要介绍Elasticsearch单节点的启动和关闭流程。Elasticsearch版本:6.3.2 相关文章 1、Google Guice 快速入门 2、Elasticsearch 中的 Guice 3、教你编译调试Elasticsearch 6.3.2源码 4、Elasticsearc...

2019-01-08 02:10:44

阅读数 1237

评论数 1

原创 设计模式 | 单例模式及典型应用

单例是最常见的设计模式之一,实现的方式非常多,同时需要注意的问题也非常多。 本文主要内容: 介绍单例模式 介绍单例模式的N中写法 单例模式的安全性 序列化攻击 反射攻击 单例模式总结 介绍单例模式的典型应用 单例模式 单例模式(Singleton Pattern):确保某一个类只有一个实...

2019-01-07 01:39:54

阅读数 1428

评论数 3

原创 Java 动态代理详解

博客原文:http://laijianfeng.org/2018/12/Java-动态代理详解/ 动态代理在Java中有着广泛的应用,比如Spring AOP、Hibernate数据查询、测试框架的后端mock、RPC远程调用、Java注解对象获取、日志、用户鉴权、全局性异常处理、性能监控,甚...

2018-12-21 01:56:25

阅读数 1142

评论数 1

原创 Java反射机制详解

原文:http://laijianfeng.org/2018/12/Java反射机制详解/ 对于一般的开发者,很少需要直接使用Java反射机制来完成功能开发,但是反射是很多框架譬如 Spring, Mybatis 实现的核心,反射虽小,能量却很大。 本文主要介绍反射相关的概念以及API的使用,...

2018-12-19 02:31:08

阅读数 1616

评论数 1

原创 Spark SQL 分析 Nginx 访问日志

前言 项目地址 github: Spark SQL 分析 Imooc 访问日志 环境说明 Java版本:1.8 Scala版本:2.11.12 Hadoop版本:hadoop-2.6.0-cdh5.14.0 spark版本:spark-2.3.1-bin-2.6.0-cdh5.14.0(自己编译...

2018-12-16 23:11:42

阅读数 1304

评论数 1

原创 基于ELK 的 Apache 日志可视化分析

Apache日志可视化分析 项目地址:https://github.com/whirlys/Elastic-In-Practice/tree/master/apache_log_demo 在网站的运营过程中,网站访问者的各种信息对于网站运营者来说,是非常有价值的信息。而网站日志则是这些信息的来...

2018-12-05 00:15:41

阅读数 1936

评论数 0

原创 MapReduce 计算气温最大/最小/平均值

本实验来自于 《Hadoop权威指南》第4班 第2章 项目地址:https://github.com/whirlys/BigData-In-Practice/tree/master/ch2noaa 前置条件 安装好Java、maven、Hadoop等环境 美国国家气候数据中心-气象数据集下载...

2018-11-27 00:16:59

阅读数 1502

评论数 0

原创 Java代码是怎么运行的?

极客时间《深入拆解Java虚拟机》学习笔记 课程地址:http://gk.link/a/1018S 个人博客:http://laijianfeng.org Java 和 C++ 在运行方式上的区别? Java 代码有很多种不同的运行方式,比如在开发工具中运行、双击执行 jar 文件运行、在命令...

2018-11-06 00:52:56

阅读数 3961

评论数 0

原创 为什么我们要学习Java虚拟机?

《深入拆解Java虚拟机》学习笔记 专栏地址:http://gk.link/a/1018S Java 技术体系结构 Java虚拟机(Java Virtual Machine 简称 JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。 Ja...

2018-11-05 22:13:38

阅读数 1661

评论数 0

原创 一个大学消息通知系统

GitHub地址:https://github.com/whirlys/ntim 一个个人完成的不成熟的学生课程设计作品,仅供参考,Netty聊天部分主要修改自 qiqiim-server (题目源于自己一个想改善大学消息通知效率的一个想法,所有功能都是自己DIY的,也许并不可行) ...

2018-11-04 23:23:07

阅读数 1108

评论数 0

原创 设计模式 | 责任链模式及典型应用

本文的主要内容: 介绍责任链模式 请假流程示例 责任链模式总结 源码分析Tomcat Filter中的责任链模式 责任链模式 一个事件需要经过多个对象处理是一个挺常见的场景,譬如采购审批流程,请假流程,软件开发中的异常处理流程,web请求处理流程等各种各样的流程,可以考虑使用责任链模式来实现。...

2018-10-31 23:00:54

阅读数 2288

评论数 0

原创 设计模式 | 中介者模式及典型应用

本文的主要内容: 介绍中介者模式 数据同步示例 中介者模式总结 源码分析中介者模式的典型应用 Java Timer 中的中介者模式 中介者模式 世界上存在着各种各样的数据库,不同数据库有各自的应用场景,对于同一份数据,最开始可能使用关系型数据库(如MySQL)进行存储查询,使用Redis...

2018-10-26 01:03:40

阅读数 2517

评论数 1

原创 设计模式 | 备忘录模式及典型应用

本文的主要内容: 介绍备忘录模式 示例 备忘录模式总结 备忘录模式 备忘录模式经常可以遇到,譬如下面这些场景: 浏览器回退:浏览器一般有浏览记录,当我们在一个网页上点击几次链接之后,可在左上角点击左箭头回退到上一次的页面,然后也可以点击右箭头重新回到当前页面 数据库备份与还原:一般的数...

2018-10-25 00:56:18

阅读数 3107

评论数 3

原创 设计模式 | 观察者模式及典型应用

本文主要内容: 介绍观察者模式 微信公众号的发布/订阅示例 观察者模式总结 分析观察者模式的典型应用 JDK 提供的观察者接口中的观察者模式 Guava EventBus 中的观察者模式 JDK 委托事件模型DEM中的观察者模式 Spring ApplicationContext 事件机制中的...

2018-10-24 01:05:45

阅读数 1619

评论数 3

原创 设计模式 | 策略模式及典型应用

本文的主要内容: 介绍策略模式 示例 商场购物打折策略的实现 策略模式总结 源码分析策略模式的典型应用 Java Comparator 中的策略模式 Spring Resource 中的策略模式 Spring Bean 实例化中的策略模式 策略模式 在软件开发中,我们也常常会遇到类...

2018-10-18 20:54:46

阅读数 593

评论数 0

原创 设计模式 | 迭代器模式及典型应用

本文的主要内容: 介绍迭代器模式 源码分析迭代器模式的典型应用 Java集合中的迭代器模式 Mybatis中的迭代器模式 更多内容请访问我的个人博客:http://laijianfeng.org 迭代器模式 迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象,...

2018-10-11 23:09:59

阅读数 1096

评论数 0

原创 设计模式 | 模板方法模式及典型应用

本文的主要内容: 介绍模板方法模式 源码分析模板方法模式的典型应用 Servlet 中的模板方法模式 Mybatis BaseExecutor接口中的模板方法模式 模板方法模式 在程序开发中,经常会遇到这种情况:某个方法要实现的算法需要多个步骤,但其中有一些步骤是固定不变的,而另一些步骤...

2018-10-11 00:41:07

阅读数 1501

评论数 0

原创 设计模式 | 组合模式及典型应用

本文的主要内容: 介绍组合模式 示例 组合模式总结 源码分析组合模式的典型应用 java.awt中的组合模式 Java集合中的组合模式 Mybatis SqlNode中的组合模式 更多内容可访问我的个人博客:http://laijianfeng.org 推荐阅读 设计模式 | 简单工厂...

2018-10-05 17:36:55

阅读数 1704

评论数 4

原创 设计模式 | 享元模式及典型应用

文章目录享元模式角色示例享元模式总结源码分析享元模式的典型应用String中的享元模式Integer 中的享元模式Long中的享元模式Apache Commons Pool2中的享元模式推荐阅读 享元模式 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。...

2018-09-25 01:27:18

阅读数 1622

评论数 0

原创 设计模式 | 适配器模式及典型应用

适配器模式 适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得...

2018-09-20 01:37:29

阅读数 27197

评论数 11

原创 设计模式 | 装饰者模式及典型应用

前言 本文的主要内容: 介绍装饰者模式 示例 源码分析装饰者模式的典型应用 Java I/O 中的装饰者模式 spring session 中的装饰者模式 Mybatis 缓存中的装饰者模式 总结 装饰者模式 装饰者模式(Decorator Pattern)...

2018-09-18 21:16:34

阅读数 2874

评论数 0

原创 设计模式 | 外观模式及典型应用

前言 本文的主要内容: 介绍外观模式 示例 自己泡茶 到茶馆喝茶 外观模式总结 外观模式的典型应用 spring JDBC 中的外观模式 Mybatis中的外观模式 Tomcat 中的外观模式 SLF4J 中的外观模式 外观模式 外观模式是一种使用频率非常高的结构型设计模式,它通过...

2018-09-16 20:59:32

阅读数 6619

评论数 0

原创 设计模式 | 原型模式及典型应用

前言 本文的主要内容如下: 介绍原型模式 示例 Java语言的clone 浅克隆与深克隆 实现深克隆 原型模式的典型应用 原型模式 原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。 ...

2018-09-15 00:49:41

阅读数 480

评论数 0

原创 设计模式 | 建造者模式及典型应用

本文目录 建造者模式 角色 示例 建造者模式总结 建造者模式的典型应用和源码分析 java.lang.StringBuilder 中的建造者模式 java.lang.StringBuffer 中的建造者方法 Google Guava 中的建造者模式 mybatis 中的建造者模式 ...

2018-09-12 14:05:21

阅读数 1406

评论数 0

原创 设计模式 | 抽象工厂模式及典型应用

抽象工厂模式 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。 在抽象工厂模式中,每一个具体工厂都提供了多个工厂方法用于产生多种不同类型的产品。 角...

2018-09-11 15:12:30

阅读数 191

评论数 1

原创 设计模式 | 工厂方法模式及典型应用

工厂方法模式 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。 工厂方法模式又简称为工厂模式(Factory Pattern),又可称作虚拟构造器模式(Virtual Constru...

2018-09-09 17:38:52

阅读数 432

评论数 0

原创 设计模式 | 简单工厂模式及典型应用

前言 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。 本文主要介绍简单工厂模式及典型应用,内容如下: 简单工厂模式的介绍 简单工厂模式的典型应用及源码分析 ...

2018-09-07 23:30:40

阅读数 1097

评论数 2

转载 zsh与/etc/profile

在 /etc/profile 中配置无效 查看zsh的相关文档发现,zsh其实并不使用 /etc/profile文件,而是使用 /etc/zsh/ 下面的 zshenv、zprofile、zshrc、zlogin 文件,并以这个顺序进行加载。...

2018-09-07 18:24:06

阅读数 599

评论数 0

原创 Elasticsearch 6.3.2 启动过程

前言 本文探究Elasticsearch 6.3.2的启动流程 环境准备 使用工具:IDEA,XMind 关于ES调试环境的搭建,可以参考前面的文章 《教你编译调试Elasticsearch 6.3.2源码》 然后通过设置断点,从 org.elasticsearch.bootstra...

2018-09-01 20:54:36

阅读数 1694

评论数 0

转载 并发工具类 CountDownLatch

本文转载自:码农历险记 CountDownLatch CountDownLatch介绍 CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有框架服务之后执行。 C...

2018-09-01 16:38:46

阅读数 684

评论数 0

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