自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

淡淡的倔强的博客

不怕千万人阻挡,只怕自己投降!

原创 SpringBoot启动流程简析(二)

前面分析了SpringBoot启动时,创建SpringApplication实例的流程,接下里分析调用SpringApplication的run()方法的主要执行流程。 代码入口: SpringApplication.run(String… args)方法 public ConfigurableA...

2020-01-22 17:14:30 83 0

原创 SpringBoot启动流程简析(一)

最近在业务中碰到SpringBoot启动流程相关问题,故梳理记录下: 要点:本章主要梳理SpringBoot启动流程中是如何创建SpringApplication实例的。 启动主类代码如下: @Slf4j @SpringBootApplication public class ItemFootpr...

2020-01-22 11:49:06 56 0

原创 java程序执行linux命令

因某些情况下需要调用Java程序执行Linux命令,过程中有写坑,记录下: @Slf4j public class CommandUtil { public static Result<Boolean> run(List<String> commandArr){ ...

2020-01-19 11:27:58 194 0

转载 Java中SPI机制详解

本文转载于高级开发必须理解的Java中SPI机制 本文通过探析JDK提供的,在开源项目中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。 一、 SPI是什么 SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展...

2019-10-10 15:46:12 72 0

转载 Elasticsearch系列(十)ES线上常用监控命令

原文地址:干货 | Elasticsearch Top10 监控指标 Elasticsearch具有通用性,可扩展性和实用性的特点,集群的基础架构必须满足如上特性。合理的集群架构能支撑其数据存储及并发响应需求。相反,不合理的集群基础架构和错误配置可能导致集群性能下降、集群无法响应甚至集群崩溃。 适...

2019-09-30 18:03:44 303 0

转载 Elasticsearch系列(九)ElasticSearch脑裂问题

原文地址:ES脑裂问题 概述: 一个正常es集群中只有一个主节点,主节点负责管理整个集群,集群的所有节点都会选择同一个节点作为主节点所以无论访问那个节点都可以查看集群的状态信息。 而脑裂问题的出现就是因为从节点在选择主节点上出现分歧导致一个集群出现多个主节点从而使集群分裂,使得集群处于异常状态。 ...

2019-09-30 16:43:28 68 0

转载 Elasticsearch系列(八)ElasticSearch 配置详解

原文地址:ES线上部署 elasticsearch的config文件夹里面有两个配置文 件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日 志的,所以logging.yml里的设置按普通log4j配置文件...

2019-09-30 15:10:16 58 0

转载 Elasticsearch系列(七)ES数据搜索之原理分析

本文转载于ES映射和分析 前言 在探究ES数据搜索原理时,先了解下ES的mapping和analysis机制,关于mapping的详细可以参考之前的文章:Elasticsearch系列(三)mapping详解 映射(mapping)机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(st...

2019-03-01 14:37:06 2302 0

转载 Elasticsearch系列(六)ES数据搜索之基本流程

一、搜索过程 文档能够从主分片或任意一个复制分片被检索。 下面我们罗列在主分片或复制分片上检索一个文档必要的顺序步骤: (1) 客户端给Node 1发送get请求。 (2) 节点使用文档的_id确定文档属于分片0。分片0对应的复制分片在三个节点上都有。此时,它转发请求到Node 2。 (3) N...

2019-02-28 21:48:29 2823 0

转载 Elasticsearch系列(五)ES数据写入

本文转载自:ES数据写入 一、路由 它被存储在单独一个主分片上。Elasticsearch是如何知道文档属于哪个分片的呢?当你创建一个新文档,它是如何知道是应该存储在分片1还是分片2上的呢? 当你索引一个文档,它被存储在单独一个主分片上。Elasticsearch是如何知道文档属于哪个分片的呢?当...

2019-02-28 20:40:20 1468 0

转载 Elasticsearch系列(四)ES数据基本知识

本文转载自:ES数据操作 本章就不详细示例ES数据的基本操作,只记录一些知识点,便于读者阅读后面的章节有帮助; 一、文档及文档元数据 对象(object)是一种语言相关,记录在内存中的的数据结构。为了在网络间发送,或者存储它,我们需要一些标准的格式来表示它。JSON (JavaScript Obj...

2019-02-28 17:27:20 736 0

转载 Elasticsearch系列(三)ES集群

本文转载自:ES分布式集群 前言 本章我们解释一些通用的术语,例如集群(cluster)、节点(node)和分片(shard),Elasticsearch的扩展机制,以及它如何处理硬件故障。我们在使用Elasticsearch的时候可以长时间甚至永远都不必担心分片、复制和故障转移——但是它会帮助...

2019-02-28 12:04:46 263 0

转载 Redis缓存使用-穿透、雪崩、热点key问题

一、缓存穿透 redis缓存穿透:查询一个数据库中不存在的数据,比如商品详情,查询一个不存在的ID,每次都会访问DB,如果有人恶意破坏,很可能直接对DB造成过大地压力。 解决方案: 1、缓存空对象 当查询一个不存在的key时,缓存为空,去查询DB,当DB为空时,将该Key对应的值设为空对象,并设...

2019-02-25 21:10:40 232 0

原创 Elasticsearch系列(三)mapping详解

一、前言 Elasticsearch中mapping创建类似MYSQL中的表schema,本文大致记录下ES中mapping创建遇到的一些问题,供彼此学习,更多的请查看官网。 Elasticsearch-mapping 一、示例分析 curl -XPUT &quot;http://lo...

2019-01-26 18:12:56 2000 0

原创 Elasticsearch系列(二)SpringBoot集成Spring-Data-Elasticsearch

一、添加依赖 SpringBoot版本需2.0x以上: &lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &l...

2018-11-24 15:12:26 330 0

原创 Elasticsearch系列(一)Elasticsearch及相关插件安装

我这边安装的是ES5.5版本,官方文档地址:ES-5.5安装 Elastic5.5 需要 Java 8 环境。安装完 Java后,就可以跟着官方文档安装 Elastic。直接下载压缩包比较简单。 1、下载安装包 curl -L -O https://artifacts.elastic.co/...

2018-11-13 20:44:40 223 0

转载 删除本地仓库中所有的.lastUpdated

windows系统 cd %userprofile%\.m2\repository for /r %i in (*.lastUpdated) do del %i linux系统 find /app/maven/localRepository -name "*.lastUpdated&q...

2018-10-15 15:39:56 1501 0

转载 动态代理系列(扩展篇)RPC实现原理

本文转载自:扒一扒RPC 因为RPC是基于动态代理的。想必大家都听过RPC,但是可能并没有针对的去了解过,因此本文打算以如下结构讲一讲RPC: ①尽量浅显易懂的描述RPC的工作原理。 ②分析一个RPC的Demo。 一、 走近RPC 1.1 什么是RPC RPC是Remote P...

2018-09-17 17:39:04 499 1

转载 Http长连接及短连接

本文转载自HTTP长连接、短连接究竟是什么? 一、HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递...

2018-09-14 17:11:57 121 0

转载 HTTP断点续传(分块传输)

本文转载自HTTP断点续传(分块传输) 简述 断点续传:指的是在上传/下载时,将任务(一个文件或压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传/下载,如果碰到网络故障,可以从已经上传/下载的部分开始继续上传/下载未完成的部分,而没有必要从头开始上传/下载。可以节省时间,提高速度。...

2018-09-14 15:45:46 1208 0

转载 TCP可靠传输的实现

本文转载自:TCP可靠传输的实现 TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。 一、滑动窗口协议 关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。 ...

2018-09-13 18:06:44 208 0

转载 动态代理系列(三)JDK动态代理和CGLIB代理的区别

本文转载自:动态代理:JDK动态代理和CGLIB代理的区别 代理模式:代理类和被代理类实现共同的接口(或继承),代理类中存有指向被代理类的索引,实际执行时通过调用代理类的方法、实际执行的是被代理类的方法。 而AOP,是通过动态代理实现的。 一、简单来说:   JDK动态代理只能对实现了...

2018-09-07 19:11:31 700 0

转载 动态代理系列(二)CGLib动态代理

转载自:CGLib动态代理的介绍及用法(单回调、多回调、不处理、固定值、懒加载) 本文将介绍下CGLib动态代理及几种用法。CGLib(Code Generation Library)是一个高效的代码生成库,底层实现是使用asm来转换字节码生成类。在生成代理类的场景中,由于JDK动态代理必须要求...

2018-09-07 19:04:39 148 0

转载 动态代理系列(一)JDK动态代理-超详细源码分析

本文转载自JDK动态代理-超详细源码分析 一、为什么需要动态代理 1.1 从代理模式说起 代理模式是指给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。这种模式有什么用呢?它可以在原对象的基础上增强原对象的功能,比如在原对象调用一个...

2018-09-07 17:06:51 1967 0

转载 Spring BeanFactory和FactoryBean的区别

有些东西可能知其用,但也需知其所以然,特转载该篇Spring BeanFactory和FactoryBean的区别 org.springframework.beans 及 org.springframework.context 包是 Spring IoC 容器的基础。 一、BeanFactor...

2018-09-07 11:48:14 255 1

转载 Paxos算法

本文转载自:Paxos算法 一、Paxos算法的描述 通过一个决议分为两个阶段: 1、prepare阶段: (1) proposer选择一个提案编号n并将prepare请求发送给acceptors中的一个多数派; (2) acceptor收到prepare消息后,如果提案的...

2018-08-27 15:06:31 121 0

转载 Zookeeper的leader选举过程

本文转载自:Zookeeper的leader选举过程 一、Leader选举过程 Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下两种情况之一时,需要进入Leader选举。 (1) 服务器初始化启动。 (2) 服务器运行期间无法和Leader保...

2018-08-27 14:44:13 922 3

转载 Zookeeper的ZAB协议

本文转载自:Zookeeper的ZAB协议 一、ZAB协议 Zookeeper使用了Zookeeper Atomic Broadcast(ZAB,Zookeeper原子消息广播协议)的协议作为其数据一致性的核心算法。ZAB协议是为Zookeeper专门设计的一种支持崩溃恢复的原子广播协议。...

2018-08-27 14:21:09 163 0

转载 kafka数据可靠性深度解读

转载kafka数据可靠性深度解读

2018-08-27 11:17:29 153 0

转载 Spring Cloud各组件总结归纳

Spring Cloud应用组件有很多,特转载一篇文章总结归纳下各组件。 原文地址:Spring Cloud各组件总结归纳 Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负...

2018-08-24 14:33:01 81 0

原创 重载与重写的区别

有些基础的东西,可能平常用习惯了,有些情况可能漏掉,所以mark下。 重写方法的规则: 1)、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。 2)、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。 3)、访问修饰符的限制一定要大于被重写方法的访...

2018-08-22 14:08:27 87 0

转载 触发JVM进行Full GC的情况及应对策略

本文转载自触发JVM进行Full GC的情况及应对策略 前言 堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Fu...

2018-08-18 20:42:28 135 0

转载 动态生成字节码--Javassist

前言 Javaassist是一个高层的Java字节码处理类库,能运行时动态生成类,修改类。Javaassit能动态生成类的基础源于JavaClass的字节码技术:只要遵从规范,JavaClass可以来自任何地方。类似的技术还有:bcel,asm等,他们相对于Javaassit,偏向底层,效率较高...

2018-08-15 18:31:41 677 0

转载 Hive开发规范

一、建表规范: Hiive分为内部表和外部表,一般情况,只允许建外部表,不建议使用内部表。 1、LZO标准建表模板如下所示: create EXTERNAL table app_sku_pur_attrib ( stat_dt string comment '统计日期'...

2018-08-15 18:14:31 1271 0

转载 HBase之Rowkey设计总结

本文转载自:HBase之Rowkey设计总结及易观方舟实战篇 一、引言 HBase由于其存储和读写的高性能,在OLAP即时分析中越来越发挥重要的作用,在易观精细化运营产品–易观方舟也有广泛的应用。作为Nosql数据库的一员,HBase查询只能通过其Rowkey来查询(Rowkey用来表示唯一一...

2018-08-15 18:03:14 2001 0

转载 机器学习算法系列(6)--bisecting-k-means

本文转载自:bisecting-k-means|endymecy 前言 二分k-means算法是层次聚类(Hierarchical clustering)的一种,层次聚类是聚类分析中常用的方法。 层次聚类的策略一般有两种: 聚合。这是一种自底向上的方法,每一个观察者初始化本身为一类,然...

2018-08-10 18:33:00 179 0

转载 机器学习算法系列(5)--k-means

本文转载自:k-means|endymecy 前言 k-means、k-means++以及k-means||算法分析 本文会介绍一般的k-means算法、k-means++算法以及基于k-means++算法的k-means||算法。在spark ml,已经实现了k-means算法以及k-me...

2018-08-10 18:20:13 443 0

转载 Spark常用参数解释及建议值

spark的默认配置文件位于堡垒机上的这个位置: $SPARK_CONF_DIR/spark-defaults.conf,用户可以自行查看和理解。 spark及依赖环境版本如下: spark 2.1.0, hadoop 2.7.1 , hive 1.2.1, scala 2.11.8, jdk7...

2018-08-10 13:56:34 815 0

转载 机器学习算法系列(4)--ALS

本文转载自:endymecy|ALS 一、什么是ALS ALS是交替最小二乘(alternating least squares)的简称。在机器学习中,ALS特指使用交替最小二乘求解的一个协同推荐算法。它通过观察到的所有用户给商品的打分,来推断每个用户的喜好并向用户推荐适合的商品。举个例子,我...

2018-08-10 11:54:19 920 0

转载 机器学习算法系列(3)--决策树(decision-tree)

本文转载自: decision tree|endymecy 一、决策树理论 1.1 什么是决策树 所谓决策树,顾名思义,是一种树,一种依托于策略抉择而建立起来的树。机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。 树中每个节点表示某个对象,而每个分...

2018-08-10 11:02:40 626 0

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