自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

客人

写博客只为学习效率

原创 云计算

一、云计算总纲 二、下面是章节部分目录: 2.1 JAVA基础: 2.2 Linux基础 2.3SQL优化 2.4Hadoop 2.0大数据 2.5SPARK+STORM+FLUME 2.6PYTHON 2...

2019-05-29 21:10:33 523 0

转载 SpringCloud面试题及答案

1. 什么是 spring cloud? spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动...

2020-07-01 00:57:56 23 0

转载 SpringBoot常见的经典面试题

SpringBoot常见的经典面试题 最近很多人面试时,简历上都说自己熟悉 Spring Boot, 或者说正在学习Spring Boot,一被面试官问道,都只停留在简单的使用阶段,很多东西都不清楚,下面我整理了一些springboot比较常见的面试题。 1、什么是 Spring Boot? S...

2020-06-30 13:00:53 40 0

转载 线程池的执行原则及配置参数详解

池是一种非常优秀的设计思想,通过建立池可以有效的利用系统资源,节约系统性能。Java 中的线程池就是一种非常好的实现,从 JDK 1.5 开始 Java 提供了一个线程工厂 Executors 用来生成线程池,通过 Executors 可以方便的生成不同类型的线程池。但是要更好的理解使用线程池,就...

2020-06-12 09:41:38 85 0

转载 二分查找算法

我周围的人几乎都认为二分查找很简单,但事实真的如此吗?二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的: Although the basic idea of binary search is comparatively straightforward...

2020-06-09 23:36:35 81 0

转载 发现kafka丢消息后的排查

背景: 最近在用kafka做消息中间件,producer从hive中读取消息发送到kafka,后端storm对消息分类发送到elasticsearch建立索引。 问题: hive表中总共350万数据,当时整个全量索引结束后发现,最后索引条数总共310万左右。storm日志没有任何...

2020-06-09 21:58:31 49 0

转载 加密算法及区别

加密技术 常用的加密算法总体可以分为两类:单项加密和双向加密,双向加密又分为对称加密和非对称加密,因此主要分析下面三种加密算法: 对称加密算法、非对称加密算法和单项加密算法(Hash算法)。 双向加密即明文加密后形成的密文,可以通过逆向算法还原出明文。而单向加密只是对信息进行了摘要计算,不能...

2020-06-09 20:12:46 43 0

转载 Servlet、Struts2以及SpringMvc中的线程安全

Servlet是单例多线程 struts2每次处理一个请求,struts2就会实例化一个对象,这样就不会有线程安全的问题了。Struts2 是线程安全的,当然前提情况是,Action 不交给 spring管理,并且不设置为单例。 Spring mvc 线程不安全的原因 请求时多线程请求的,但...

2020-06-09 18:03:57 41 0

转载 分布式事务

前言 最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行CAP的下一阶段的开发工作,不过目前已经告一段落了。 接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。 分布式事务是企业集成中的一个技术难点,也是每一...

2020-06-09 18:03:32 42 0

转载 Eureka和ZooKeeper的区别

首先我们先说下: RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则(A:原子性。C:一致性。I:独立性。D:持久性。)。 NoSql==>(redis,Mogodb等非关系型数据库)遵循的原则是:CAP原则(C:强一致性。A:...

2020-06-08 20:36:40 30 0

转载 java的四种修饰符访问权限

java的访问修饰符有四种:private、protected、public、default. 这四种访问修饰符的访问权限不一样。 java修饰符访问权限 修饰符 所在类 同一个包内其他类 其他包内子类 其他包内非子类 缺省(default) √ √ ...

2020-06-08 18:43:09 66 0

转载 elasticsearch java api查询

/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ QueryBuilder 是es中提供的一个查询接口, 可以对其进行参数设置来进行查用擦还训 package com.wenbronk.j...

2020-06-05 09:50:27 37 0

转载 SparkStreaming项目(实时统计每个品类被点击的次数)

1、项目的流程: 每一个IP对应的名称: 2、需求 实时统计每个品类被点击的次数(用饼状图展示): 3、分析设计项目 新建一个Maven项目: pom文件: <?xml version="1.0" encoding="UTF-8"?> ...

2020-06-05 09:45:40 114 0

转载 ElasticSearch API实现CRUD

目录 2.5、版本控制 2.6、实现映射mapping 2.7、基本查询(Query查询) 2.7.1、数据准备 2.7.2、term查询和terms查询 2.7.3、控制查询返回的数量 2.7.4、返回版本号 2.7.5、match查询(分词器) 2.7.6、控制加载的字段 ...

2020-06-05 09:40:34 45 0

转载 关于HashMap初始化容量问题

关于HashMap初始化容量问题 使用阿里云代码规范插件扫描后出现以下提示: hashmap should set a size when initalizing,即hashmap应该在初始化时设置一个大小 在网上搜到一篇讲解(https://www.cnblogs.com/coderxuy...

2020-06-05 09:37:02 42 0

转载 使用Java泛型和反射机制编写Excel文件生成和解析的通用工具类

前几天被派到一个小项目中做临时维护,工作地点不方便且不说,项目代码那叫一个恶心... 代码几乎完全没有注释。这应该是我们天朝大部分程序员的习惯,代码不写注释,给后面维护的同事带来多大麻烦啊! 几百行的JS代码放在JSP文件中,而且没有格式。个人觉得这么长的代码提取到JS文件中比较好,都堆在JSP...

2020-05-23 15:24:19 77 0

转载 REDIS缓存穿透,缓存击穿,缓存雪崩原因+解决方案

一、前言 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问...

2020-05-16 14:06:24 116 0

转载 ARP地址解析协议原理

概述 网络层以上的协议用IP地址来标识网络接口,但以太数据帧传输时,以物理地址来标识网络接口。因此我们需要进行IP地址与物理地址之间的转化。 对于IPv4来说,我们使用ARP地址解析协议来完成IP地址与物理地址的转化(IPv6使用邻居发现协议进行IP地址与物理地址的转化,它包含在ICMPv6中...

2020-05-10 16:05:56 113 0

转载 iptables详解

iptables详解 iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。 ...

2020-05-10 14:23:42 97 0

转载 淘宝技术架构演进之路

1.概述   本文以淘宝为例,介绍从一百到千万级并发情况下服务端架构的演进过程,同时列举出每个演进阶段遇到的相关技术,让大家对架构的演进有一个整体的认知,最后汇总一些架构的设计原则。 2.基本概念   在介绍架构之前,为了避免读者对架构设计中的一些概念不了解,下面对接个最基础的概念进行介绍:...

2020-05-10 14:19:17 131 0

转载 浮点类型float double 以及BigDecimal

1.引言   float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal...

2020-03-22 14:54:53 95 0

转载 浮点数精度丢失

问题提出:12.0f-11.9f=0.10000038,”减不尽”为什么? 来自MSDN的解释: http://msdn.microsoft.com/zh-cn/c151dt3s.aspx 为何浮点数可能丢失精度,浮点十进制值通常没有完全相同的二进制表示形式。 这是 CPU 所采用的浮点数...

2020-03-22 14:49:36 90 0

转载 hashmap指定容量

本来想写一篇关于HashMap完整的源码分析的,结果我发现整理了一下东西是真的多,而且也怕误人子弟,那就分析一下为什么阿里Java开发手册里为要指定HashMap的容量吧。 让我们带着问题进入: 为什么要使用构造函数指定HashMap的容量 如果不指定会对效率造成多大的影响 其他的关于Hash...

2020-03-22 14:40:45 223 0

转载 KETTLE 使用教程

Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运...

2020-03-22 14:35:07 67 0

转载 Mybatis与iBatis的主要区别对比

Mybatis与iBatis的主要差异对比 他们都是优秀的持久层框架,MyBatis是现在最常用的持久层框架,可以动态地拼接sql语句,非常人性化,更适合逻辑复杂的sql;iBatis就是MyBatis前身,他们有很多相似的地方,今天主要讲一下sqlMap里面的变化。 1. 传入参数 iBatis...

2020-03-22 14:32:07 82 0

转载 nginx搭建网关服务器

一、业务背景分析 前一段时间,需要开发一套业务系统,此系统需要对外统一提供api服务,但这些服务在内部是由多个业务子系统分别提供。 经过分析,此业务系统需要具有以下这么几个特性 1、不同的api服务由不同的子系统负责 2、每一个服务之间是相互独立的 3、每一个服务都需要支持横向扩展和负载均衡 4、...

2020-03-22 14:24:52 160 0

转载 分析connection reset by peer, socket write error错误原因

上次写《connection reset by peer, socket write error问题排查》已经过去大半年,当时把问题“敷衍”过去了。 但是此后每隔一段时间就会又想起来,baidu、google一番,可能也会再拉周围的人小讨论一下,然后无果而终。淡忘,想起,淡忘,又想起,挥之不去。 ...

2020-03-22 14:20:15 142 0

原创 Nginx总结

一、介绍 Nginx是一个高性能的HTTP和反向代理服务器,及电子邮件(IMAP/POP3)代理服务器,同时也可以作为负载均衡器 二、Nginx与Apache优缺点比较 通用的方案是,前端 nginx 抗并发,后端 apache 集群,配合起来会更好 优点: 静态处理性能比 apach...

2020-03-22 13:58:33 589 1

原创 kafka总结

一、为什么需要消息系统 解耦:允许你独立的扩展或修改两边的处理过程 异步通信:很多时候,用户不想也不需要立即处理消息。消息队列提供了异步处理机制 缓冲:有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况 顺序保证 灵活性和峰值处理能力 冗余:消息队列把数...

2020-03-22 13:57:47 535 0

原创 网络知识总结

一、TCP和UDP的区别 TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。 UDP数据传输快,但安全性却一般 TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报 TCP对应的协议和UDP对应的协议不同 TCP对应的协议: FTP:定义了...

2020-03-22 13:57:28 338 0

原创 Mysql总结

一、关系型数据库与非关系型数据库(Nosql) 关系型数据库有Oracle、mysql、SQLite等;非关系型数据库有MongoDb、redis、HBase等 区别: 关系型数据库,是指采用了关系模型来组织数据的数据库,关系模型指的就是二维表格模型,最大特点就是事务的一致性。非关系型数据库...

2020-03-22 13:56:58 204 0

原创 spring总结

一、SpringMVC工作原理 用户发送请求至web服务器,web服务器根据web.xml配置匹配到DispatcherServlet。 DispatcherServlet会根据HandlerMapping、HandlerAdapter会找到对应的Handler处理器 Handler处理器处...

2020-03-22 13:56:36 335 1

转载 ant介绍

1,什么是ant ant是构建工具 2,什么是构建 概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个 3,ant的好处 跨平台   --因为ant是使用java实现的,所以它跨平台 使用简单--与ant的兄弟make比起来 语法...

2018-09-25 20:15:25 209 0

转载 八大排序算法总结

八大排序算法总结 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 本文将依次介...

2018-09-02 20:55:18 439 0

转载 常用数据结构和排序

一、数据结构 链表 链表是一种由节点(Node)组成的线性数据集合,每个节点通过指针指向下一个节点。它是一种由节点组成,并能用于表示序列的数据结构。 单链表:每个节点仅指向下一个节点,最后一个节点指向空(null)。 双链表:每个节点有两个指针p,n。p指向前一个节点,n指向下一个节点;最...

2018-08-23 21:56:23 231 0

转载 nginx+tomcat实现动静分离

nginx+tomcat实现动静分离 本文设计的动静分离结构   在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 Nginx 并且在 B 上安装 Tomcat。配置 Nginx,当请求的是 html、jpg 等静态资源时,就访问 A 主...

2018-08-22 20:48:36 269 0

转载 Jackson,Gson,Fastjson比较

JSON技术的调研报告 一 、各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包, 包括commons-beanutils.jar,commons-collections-3.2.jar...

2018-08-22 11:35:10 391 0

转载 MySQL锁详解

MySQL锁详解 一、概述 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的...

2018-08-18 23:36:09 111 0

转载 MVCC实现机制

1. MVCC简介 1.1 什么是MVCC MVCC是一种多版本并发控制机制。 1.2 MVCC是为了解决什么问题? 大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制.事实上,他们都和MVCC–多版本并发控制来一起使用. 大家都应该知...

2018-08-18 22:42:41 1126 2

转载 mysql面试

1. 主键 超键 候选键 外键 1)超键(super key) :在关系中能唯一标识元组的属性集称为关系模式的超键 2)候选键(candidate key):不含有多余属性的超键称为候选键 3)主键(primary key):用户选作元组标识的一个候选键程序主键 4)外键(foreign ...

2018-08-18 18:47:42 666 0

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