自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(231)
  • 资源 (11)
  • 收藏
  • 关注

原创 最近一直在准备PMP证书考试,停更!

最近一直在准备PMP证书考试,以及进了新公司工作。学到了很多新东西与新知识,已经没有什么精力打理博客了,暂时停更了。代码仓库会不间断更新新功能后续更新:哈哈,已经过了...

2021-03-15 21:18:00 83

原创 消息队列为了提高性能使用了哪些细节?

1 采用异步设计假设使用同步实现,伪装代码如下:Transfer(accountFrom, accountTo, amount) { // 先从 accountFrom 的账户中减去相应的钱数 Add(accountFrom, -1 * amount) // 再把减去的钱数加到 accountTo 的账户中 Add(accountTo, amount) retu...

2020-12-15 21:30:00 387

原创 TCP三次握手,UDP,四次挥手,TIME_WAIT

三次握手过程  1 客户端的协议栈向服务器端发送了SYN包,并告诉服务器端当前发送序列号j,客户端进入SYNC_SENT状态;  2 服务器端的协议栈收到这个包之后,和客户端进行ACK应答,应答的值为j+1,表示对SYN包j的确认,同时服务器也发送一个SYN包,告诉客户端当前我的发送序列号为k,服务器端进入SYNC_RCVD状态;  3 客户端协议栈收到ACK之后,使得应用程序从...

2020-11-18 22:09:00 306

原创 散列冲突解决的方式

一、散列思想 散列表的英文叫Hash Table,也叫哈希表或者Hash表。散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。可以说,如果没有数组,就没有散列表。 散列表时间复杂度是O(1)的特性。我们通过散列函数把元素的键值映射为下标,然后将数据存储在数组中对应下标的位置。当我们按照键值查询元素时,我们用同样的...

2020-11-16 23:32:00 1806

原创 冒泡排序和递归算法优化

冒泡排序第一,冒泡排序是原地排序算法吗?冒泡的过程只涉及相邻数据的交换操作,只需要常量级的临时空间,所以它的空间复杂度为 O(1),是一个原地排序算法。第二,冒泡排序是稳定的排序算法吗?在冒泡排序中,只有交换才可以改变两个元素的前后顺序。为了保证冒泡排序算法的稳定性,当有相邻的两个元素大小相等的时候,我们不做交换,相同大小的数据在排序前后不会改变顺序,所以冒泡排序是稳定的排...

2020-11-15 14:14:00 271

原创 持续集成

持续集成 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Helvetica }互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。p.p1 { margin: 0.0px 0.0px 0.0px 0.0...

2019-05-29 11:01:00 161

原创 持续集成 - 省事方便的自动构建

互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。持续集成持续集成指的是,频繁地(一天多次)将代码集成到主干。它的好处主要有两个:快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致...

2019-05-29 11:01:00 80

原创 MyCat - 数据库中间插件

MyCat - 数据库中间插件 什么是MyCat是目前最流行的分布式数据库中间插件为什么使用MyCat如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安...

2019-05-28 15:11:00 198

原创 Protobuf 完整解析 - 公司最常用的数据交互协议

Protobuf 完整解析 - 公司最常用的数据交互协议 Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。数据交互xml、json、protobuf格式比较1、json: 一般的web项目中,最流行的主要还是json。因...

2019-05-20 11:09:00 1105

原创 Elasticsearch (2) - 映射

Elasticsearch (2) - 映射 常用映射类型核心的字段类型如下:String字符串包括text和keyword两种类型:1、textanalyzer通过analyzer属性指定分词器。下边指定name的字段类型为text,使用ik分词器的ik_max_word分词模式。"name...

2019-05-08 15:32:00 161

原创 Elasticsearch (1) - 索引库 文档 分词

Elasticsearch (1) - 索引库 文档 分词 创建索引库ES的索引库是一个逻辑概念,它包括了分词列表及文档列表,同一个索引库中存储了相同类型的文档。它就相当于MySQL中的表,或相当于Mongodb中的集合。关于索引这个语:索引(名词):ES是基于Lucene构建的一个搜索服务,它要从索引库搜索符合条件索引数据。...

2019-05-07 15:09:00 716

原创 客户端负载均衡 - Ribbon

客户端负载均衡 - Ribbon Ribbon是Netflix公司开源的一个负载均衡的项目(https://github.com/Netflix/ribbon),它是一个基于HTTP、TCP的客户端负载均衡器。服务端负载均衡负载均衡是微服务架构中必须使用的技术,通过负载均衡来实现系统的高可用、集群扩容等功能。负载均衡可通过硬件设备及软件...

2019-05-05 19:28:00 251

原创 分布式文件系统 - fastDFS

分布式文件系统 - fastDFS fastDSF介绍FastDFS是用c语言编写的一款开源的分布式文件系统,它是由淘宝资深架构师余庆编写并开源。FastDFS专为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。fast...

2019-05-04 15:39:00 114

原创 微服务架构ServiceMesh

微服务架构ServiceMesh 公司用的架构,在此找了资料作为记录复看所用:什么是Service Mesh?Service Mesh的概念最早是由Buoyant公司的CEO William Morgan在一篇文章里提出,他给出的服务网格的定义是:A service mesh is a dedicated infrastructure la...

2019-05-01 22:10:00 503

原创 微服务路由

微服务路由 服务路由的应用场景分组调用。一般来讲,为了保证服务的高可用性,实现异地多活的需求,一个服务往往不止部署在一个数据中心,而且出于节省成本等考虑,有些业务可能不仅在私有机房部署,还会采用公有云部署,甚至采用多家公有云部署。服务节点也会按照不同的数据中心分成不同的分组,这时对于服务消费者来说,选择哪一个分组调用,就必须有相应的路由...

2019-05-01 21:09:00 650

原创 微服务治理

微服务治理 微服务远程调用可能有如下问题:注册中心宕机;服务提供者B有节点宕机;服务消费者A和注册中心之间的网络不通;服务提供者B和注册中心之间的网络不通;服务消费者A和服务提供者B之间的网络不通;服务提供者B有些节点性能变慢;服务提供者B短时间内出现问题。...

2019-05-01 18:20:00 181

原创 rabbitMq 初步

rabbitMq 初步 RabbitMQ的工作原理它的基本结构组成部分说明如下:Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue。Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的...

2019-04-29 21:38:00 114

原创 API网关【gateway 】- 3

API网关【gateway 】- 3 最近在公司进行API网关重写,公司内采用serverMesh进行服务注册,调用,这里结合之前学习对API网关服务进行简单的总结与分析。 由于采用了大量的nginx相关的东西,所以在此记录一下:在nginx使用openresty加入nginx模块编辑nginx下conf配置文件nginx.conf# v...

2019-04-13 14:20:00 177

原创 API网关【gateway 】- 2

API网关【gateway 】- 2 最近在公司进行API网关重写,公司内采用serverMesh进行服务注册,调用,这里结合之前学习对API网关服务进行简单的总结与分析。由于采用了大量的nginx相关的东西,所以在此记录一下:配置连接数worker_processes:表示开启nginx的worker进程的个数,nginx启动会开两种...

2019-04-12 11:05:00 222

原创 API网关【gateway 】- 1

API网关【gateway 】- 1 最近在公司进行API网关重写,公司内采用serverMesh进行服务注册,调用,这里结合之前学习对API网关服务进行简单的总结与分析。网关的单节点场景:网关的多节点场景:这里的多节点是根据模块进行多节点分布,我们公司采用的是单模块多集群分布,没有进行多模块【模块越来越多会导致更加复杂】。...

2019-04-11 10:31:00 381

原创 springboot2 生产部署注意事项【持续更新】

springboot2 生产部署注意事项【持续更新】 注意事项1. 去除不需要的 jar  开发工具 jar :springs-boot-devtools2. 监控一定要做好权限制或者去除  控制 jar :spring-boot-starter-actuator 监控  druid 的监控  swagger的接口3 打包的时候要跳过测试...

2019-04-08 14:11:00 209

原创 SpringBoot2 使用Spring Session集群

SpringBoot2 使用Spring Session集群 有几种办法:1.扩展指定server利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略。缺点:耦合Tomcat/Jetty等Servlet容器,不能随意更换容器。2.利用Filter利用HttpServletReq...

2019-04-08 10:47:00 122

原创 vue.js - 2

vue.js - 2 最近开发公司vue前端项目,做一下笔记,偶尔上来查漏补缺组件操作:使用flag标识符结合v-if和v-else切换组件页面结构:<div id="app"> <input type="button" value="toggle" @click="flag=!fl...

2019-03-28 16:27:00 72

原创 vue.js

vue.js 最近开发公司vue前端项目,做一下笔记,偶尔上来查漏补缺Vue指令之v-bind的三种用法直接使用指令v-bind使用简化指令:在绑定的时候,拼接绑定内容::title="btnTitle + ', 这是追加的内容'"Vue指令之v-on的缩写和事件修饰符事件修饰符:...

2019-03-25 16:51:00 75

原创 vue.js - 1

最近开发公司vue前端项目,做一下笔记,偶尔上来查漏补缺Vue指令之v-bind的三种用法直接使用指令v-bind使用简化指令:在绑定的时候,拼接绑定内容::title="btnTitle + ', 这是追加的内容'"Vue指令之v-on的缩写和事件修饰符事件修饰符:.stop 阻止冒泡.prevent 阻止...

2019-03-25 16:51:00 54

原创 SpringBoot2 web

SpringBoot2 web 验证框架SpringBoot支持JSR-303,Bean等验证框架JSR-303JSR-303是Java的标准验证框架,已有实现Hibernate validator.JSR-303验证类型空检查@Null 验证对象是否为null@NotNull 验证对象是否不为null, 无法查检...

2019-02-19 23:25:00 144

原创 SpringBoot2 配置

一.Properties与YamlSpringBoot支持properties与yaml两种配置文件application.properties/application.ymlyaml简单使用1.yaml简介yaml是以数据为中心的,比json,xml更适合做配置文件2.yaml基本语法k: v:形式的键值对,:后面必须有空格以空格缩进来控制层级关系大小写敏感例子:...

2019-02-18 15:04:46 85

原创 SpringBoot2 配置

SpringBoot2 配置 一.Properties与YamlSpringBoot支持properties与yaml两种配置文件application.properties/application.ymlyaml简单使用1.yaml简介yaml是以数据为中心的,比json,xml更适合做配置文件2.yaml基本语法k: v:形式的键值...

2019-02-18 15:00:00 104

原创 springBoot2 基础语法

请求响应request对象request 对象其实是HttpServletRequest 类型, 通过它可以获取请求相关的一切信息, 包含请求信息 、 以及请求参数 ,甚至可以当成往里面存储数据【暂定】@RequestMapping("/aa") @ResponseBody public String aa(HttpServletRequest request , H...

2019-02-13 11:47:24 318

原创 springBoot2 基础语法

springBoot2 基础语法 请求响应 request对象 request 对象其实是HttpServletRequest 类型, 通过它可以获取请求相关的一切信息, 包含请求信息 、 以及请求参数 ,甚至可以当成往里面存储数据【暂定】 @RequestMapping("/aa") @ResponseBody publi...

2019-02-12 12:17:00 239

原创 微服务统一登陆认证怎么做?JWT ?

无状态登录原理1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用...

2019-01-26 15:28:41 1107

原创 区块链分布式系统核心问题

“区块链其实是一种分布式系统”分布式系统的问题一致性问题在分布式系统中,一致性(Consistency,早期也叫 Agreement)是指对于系统中的多个服务节点,给定一系列操作,在协议(往往通过某种共识算法)保障下,试图使得它们对处理结果达成某种程度的一致。如果分布式系统能实现“一致”,对外就可以呈现为一个功能正常的,且性能和稳定性都要好很多的“虚处理节点”。举个例子,某影视公司旗下...

2019-01-26 15:27:11 386

原创 区块链的一些特点

“区块链是一个自带对账功能的分布式账本” 区块链的演化区块链1.0 比特币数据结构   例如:张三100   例如:李四55 算法(转账)   张三100 -10 = 90   李四55 + 10 = 65 世界状态变化   100, 55 function() 90,65 区块链2.0 以太坊(智能合约)数据结构   开始丰富:整形,数组,ma...

2019-01-25 19:17:39 492

原创 hash的安全性

在区块链中,我们面临着两个问题:隐私问题 快速对账问题由于区块链中,每个人都存在着一个账本,当一个人有收入的时候,将会进行广播到所有人的账本,例如张三收入xxx钱,这样子所有的账本才能同步更新。但这种情况面临的问题是,我们并不想让别人知道我们收入了多少,这就是隐私问题。既然有广播,每个人的账本都能收到广播消息,当账本越来越多,消息越来越多,账本如何快速更新对账,同样是一个问题。 ...

2019-01-25 19:16:53 1823

原创 中心化和去中心化

我们先看一个斗地主的故事:商务男,老爷爷和小男孩在一起斗地主, 地主赢了得10块钱, 农民赢了每人得5块钱.为了避免赖账, 他们约定每人拿出来100块钱, 存在圣诞老人那里, 圣诞老人负责记账.  圣诞老人是他们都信任的中心,每次打完牌都把比赛结果告诉圣诞老人,圣诞老人负责记账.例如商务男作为地主赢得了第一局比赛,这时候,我们问题来了:问题圣诞老人年迈已高, 要...

2019-01-25 19:15:45 1607

原创 区块链分布式系统核心问题

区块链分布式系统核心问题 “区块链其实是一种分布式系统”分布式系统的问题一致性问题在分布式系统中,一致性(Consistency,早期也叫 Agreement)是指对于系统中的多个服务节点,给定一系列操作,在协议(往往通过某种共识算法)保障下,试图使得它们对处理结果达成某种程度的一致。如果分布式系统能实现“一致”,对外就可以呈现为一个功能正常...

2019-01-19 23:59:00 406

原创 hash的安全性

在区块链中,我们面临着两个问题:隐私问题快速对账问题由于区块链中,每个人都存在着一个账本,当一个人有收入的时候,将会进行广播到所有人的账本,例如张三收入xxx钱,这样子所有的账本才能同步更新。但这种情况面临的问题是,我们并不想让别人知道我们收入了多少,这就是隐私问题。既然有广播,每个人的账本都能收到广播消息,当账本越来越多,消息越来越多,账本如何快速更新对账,同样...

2019-01-18 10:18:00 477

原创 【转】数据安全优秀思想

数据泄露介绍以及历史回顾类似于 Equifax 这样的大规模数据泄露事件在互联网时代时不时地会发生。上一次如此大规模的数据泄露事件主角应该是雅虎。继 2013 年大规模数据泄露之后,雅虎在 2014 年又遭遇攻击,泄露出 5 亿用户的密码,直到 2016 年有人在黑市公开交易这些数据时才为大众所知。雅虎股价在事件爆出的第二天就下跌了 2.4%。而此次 Equifax 的股价下跌超...

2018-12-20 21:46:00 133

原创 微服务统一登陆认证怎么做?JWT ?

无状态登录原理1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,...

2018-11-23 11:55:00 991

原创 微服务 - Eureka注册中心

我们来解决微服务的第一问题,服务的管理。服务中心对外提供服务,需要对外暴露自己的地址。而consumer(调用者)需要记录服务提供者的地址。将来地址出现变更,还需要及时更新。这在服务较少的时候并不觉得有什么,但是在现在日益复杂的互联网环境,一个项目肯定会拆分出十几,甚至数十个微服务。此时如果还人为管理地址,不仅开发困难,将来测试、发布上线都会非常麻烦,这与DevOps的思想是背道而驰...

2018-11-22 10:40:00 111

C++面向对象程序设计习题解答与上机指导习题参考答案 72页

C++面向对象程序设计习题解答与上机指导习题参考答案 72页 大学时候用的

2018-04-19

FUSIONCHARTS XT API PHP CLASS

FUSIONCHARTS XT API PHP CLASS 可以看看博客http://www.cnblogs.com/zhenghongxin/

2016-11-24

phpmailer 邮件

phpmailer

2016-11-05

验证用户是否已经登录与实现自动登录Demo

验证用户是否已经登录与实现自动登录Demo

2015-05-04

张孝祥正在整理Java就业面试题大全

张孝祥正在整理Java就业面试题大全

2015-04-17

Sun_Java程序员认证考试题库(有精力的同学看看)

Sun_Java程序员认证考试题库(有精力的同学看看)

2015-04-17

50道编程题(有精力的同学看看)答案

50道编程题(有精力的同学看看)答案 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

2015-04-10

Android移动应用开发从入门到精通

Android移动应用开发从入门到精通 一个外国的电子书文档 一个外国的电子书文档

2015-02-15

记事本 编辑器

java老师叫我们做的记事本,分享给大家

2014-12-13

响应式HTML5模板

响应式HTML5模板,包含对pc电脑端的网页版,mobile网页版,smartphone网页版三种网页。 适用于广大响应式网页爱好者

2014-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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