自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 雪花算法 Snowflake & Sonyflake

唯一ID算法Snowflake相信大家都不墨生,他是Twitter公司提出来的算法。非常广泛的应用在各种业务系统里。也因为Snowflake的灵活性和缺点,对他的改造层出不穷,比百度的UidGenerator、美团的Leaf、索尼的Sonyflake等等。这篇帖子主要是讲一下原生的Snowflak...

2019-12-31 16:31:16

阅读数 258

评论数 0

原创 MySQL性能优化:MySQL中的隐式转换造成的索引失效

数据库优化是一个任重而道远的任务,想要做优化必须深入理解数据库的各种特性。在开发过程中我们经常会遇到一些原因很简单但造成的后果却很严重的疑难杂症,这类问题往往还不容易定位,排查费时费力最后发现是一个很小的疏忽造成的,又或者是因为不了解某个技术特性产生的。 于数据库层面,最常见的恐怕就是索引失效了...

2019-12-29 16:33:03

阅读数 327

评论数 0

原创 研发环境容器化实施过程(docker + docker-compose + jenkins)

目录 背景介绍 改造思路 容器构建 基础准备 中间件容器 外部依赖容器 业务应用容器 容器整合 自动构建容器 Maven相关 非Maven项目 总结 ...

2019-12-28 16:32:44

阅读数 186

评论数 0

原创 rabbitmq template发送的消息中,Date类型字段比当前时间晚了8小时

前言 前一阵开发过程遇到的问题,用的rabbitmq template发送消息,消息body里的时间是比当前时间少了8小时的,这种一看就是时区问题了。 就说说为什么出现吧。 之前的配置是这样的: @Bean public RabbitTemplate rabbitTemplate(...

2019-12-27 16:32:19

阅读数 174

评论数 0

原创 【原】移动端vue页面点透事件 - 分析与解决

近期项目遇到了vue页面事件被带到下一个页面的问题,也就是我们常说的点透事件,主要表现在android机器上,花了不少时间折腾,简单做下总结~ vue页面之间的切换通过Vue Router的router.push方法 b.vue之前已经访问过,数据通过vuex管理,从a.vue进入到b.v...

2019-12-26 16:33:05

阅读数 180

评论数 0

原创 (Java多线程系列二)线程间同步

Java多线程间同步 1、什么是线程安全 通过一个案例了解线程安全 案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。 先来看一个线程不安全的例子 class SellTicketRunnable implements Run...

2019-12-24 16:33:54

阅读数 369

评论数 1

原创 十分钟快速创建 Spring Cloud 项目

一般来说,Intelij IDEA 可以通过 Maven Archetype 来快速生成Maven项目,其实 IDEA 集成了 Spring 官方提供的 Spring Initializr,可以非常方便的创建 Maven 项目,而且能自动生成启动类和单元测试代码。 下面我们学习如何快速搭建一个 ...

2019-12-23 16:34:46

阅读数 444

评论数 0

原创 你想要的 HBase 原理都在这了

目录 一、 集群架构 集群角色 工作机制 二、存储机制 A. 存储模型 B. LSM 与 Compaction C. Region 分裂 D. 自动均衡 三、访问机制 四、 ...

2019-12-22 16:35:12

阅读数 163

评论数 0

原创 简单使用一下IDEA 的HTTP Client

前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 相信大家都用过POSTMAN吧,后端在开发的时候写完接口总得去自测调用一下,看符不符合自己的预期。 因为我们的接口可...

2019-12-21 16:34:34

阅读数 166

评论数 0

转载 JAVA 使用jgit管理git仓库

最近设计基于gitops新的CICD方案,需要通过java读写git仓库,这里简单记录下。 JGit是一款pure java的软件包,可以读写git仓库,下面介绍基本使用。 引入jgit maven引入: <!-- https://mvnrepository.com/...

2019-12-20 16:34:35

阅读数 164

评论数 0

原创 【集合系列】- 深入浅出分析 ArrayDeque

一、摘要 在 jdk1.5 中,新增了 Queue 接口,代表一种队列集合的实现,咱们继续来聊聊 java 集合体系中的 Queue 接口。 Queue 接口是由大名鼎鼎的 Doug Lea 创建,中文名为道格·利,关于这位大神,会在后期进行介绍,翻开 JDK1.8 源代码,可以将 ...

2019-12-18 15:34:48

阅读数 161

评论数 0

原创 浅谈Redis面试热点之工程架构篇[1]

前言 前面用两篇文章大致介绍了Redis热点面试中的底层实现相关的问题,感兴趣的可以回顾一下:【决战西二旗】|Redis面试热点之底层实现篇【决战西二旗】|Redis面试热点之底层实现篇(续) 接下来我们继续来一起研究下Redis工程架构相关的问题,这部分内容出现的概率相对大一些,因为并不是所...

2019-12-17 15:34:03

阅读数 168

评论数 0

原创 Golang 在电商即时通讯服务建设中的实践

马蜂窝技术原创文章,更多干货请搜索公众号:mfwtech ​即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商。 从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣、食、住、行等方方面面;从消费金额来看,往往单次消费额度较大;对目的地的陌生、在行程中可能的问题,这些因...

2019-12-16 15:32:58

阅读数 190

评论数 0

原创 mysql存储引擎简介

mysql存储引擎简介 什么是存储引擎 mysql存储引擎是数据库如何存储数据、怎样建立索引以及如何查询更新数据等技术的实现方法,数据通过使用不同的技术存储在文件中,使用不同的存储机制、索引方式来提供不同的功能。在mysql这种关系型数据中心来说,数据是以表的方式来存储的,因此,简单点来说,存...

2019-12-15 15:32:37

阅读数 178

评论数 0

原创 (译)An introduction to Kubernetes

原文:https://www.jeremyjordan.me/kubernetes/(博客园团队推荐的) 这篇博客文章将对Kubernetes进行介绍,以便您了解该工具背后的动机,含义以及使用方式。在后续文章中,我将讨论如何使用更具体的(数据科学)示例来利用Kubernetes增强数据科学工作...

2019-12-14 15:31:41

阅读数 163

评论数 0

原创 Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31

作者 | 徐迪、李传云、黄珂、汪萌海、张晓宇、何淋波 、陈有坤、李鹏审核 | 陈俊 上游重要进展 1. Kubernetes v1.17 版本发布 功能稳定性是第一要务。v1.17 包含22 个增强功能:14 个增强功能已逐渐稳定,4 个增强功能已进入 beta 版,4 个增强功能已进入 a...

2019-12-13 15:31:37

阅读数 161

评论数 0

原创 android 点击无效验证

背景 在写一个东西滑动删除列表的时候,出现了一个问题。我的需求是,左滑然后出现delete,然后点击delete,让该滑块消失。 我在点列表的第一行的时候,左滑,出现delete,点击删除,ok的,完美。然后我点击第三个,同样左滑出现delete,点击delete没有任何反应。 然后我再点击第一...

2019-12-12 15:31:34

阅读数 175

评论数 0

原创 解密国内BAT等大厂前端技术体系-阿里篇(长文建议收藏)

进入2019年,大前端技术生态似乎进入到了一个相对稳定的环境,React在2013年发布至今已经6年时间了,Vue 1.0在2015年发布,至今也有4年时间了。 整个业界在前端框架不断迭代中,也寻找到了许多突破方向,例如跨平台中的RN、Flutter,服务端GraphQL、Serverless...

2019-12-11 15:32:13

阅读数 174

评论数 0

原创 Java 从入门到进阶之路(十一)

之前的文章我们介绍了一下 Java 中的继承,接下来我们继续看一下 Java 中的继承。 在有些时候,我们通过类继承的方式可以获取父类的方法,但是有些时候父类为我们提供的方法并不完全符合我们的需求,这时候我们就要对类方法进行重写,如下: 1 public class HelloWorl...

2019-12-10 15:32:33

阅读数 166

评论数 0

原创 TestNG系列(二)TestNG注解

前言 TetsNG提供了很多注解,允许测试人员灵活地组织测试用例 一、@Test @Tets是TestNG的核心注解,被注解的方法,表示为一个测试方法。 description属性 @Test(description = "yuhao") public void...

2019-12-09 15:32:30

阅读数 167

评论数 0

原创 Spring Securtiy 认证流程(源码分析)

当用 Spring Security 框架进行认证时,你可能会遇到这样的问题: 你输入的用户名或密码不管是空还是错误,它的错误信息都是Bad credentials。 那么如果你想根据不同的情况给出相应的错误提示该怎么办呢? 这个时候我们只有了解 Spring Securiy 认证的流程才能...

2019-12-08 15:32:30

阅读数 167

评论数 0

原创 伪共享 FalseSharing (CacheLine,MESI) 浅析以及解决方案

起因 在阅读百度的发号器uid-generator源码的过程中,发现了一段很奇怪的代码: /** * Represents a padded {@link AtomicLong} to prevent the FalseSharing problem<p> * * T...

2019-12-07 15:31:47

阅读数 165

评论数 0

原创 Java 从入门到进阶之路(十)

之前的文章我们介绍了一下 Java 中的引用型数组类型,接下来我们再来看一下 Java 中的继承。 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子...

2019-12-06 15:31:19

阅读数 173

评论数 0

原创 【决战西二旗】|理解Sort算法

前言 前面两篇文章介绍了快速排序的基础知识和优化方向,今天来看一下STL中的sort算法的底层实现和代码技巧。 众所周知STL是借助于模板化来支撑数据结构和算法的通用化,通用化对于C++使用者来说已经很惊喜了,但是如果你看看STL开发者强大的阵容就意识到STL给我们带来的惊喜绝不会止步于通用化...

2019-12-05 15:30:35

阅读数 151

评论数 0

原创 纵论WebAssembly,JS在性能逆境下召唤强援

webassembly的作用 webassembly是一种底层的二进制数据格式和一套可以操作这种数据的JS接口的统称。我们可以认为webassembly的范畴里包含两部分 wasm: 一种体积小、加载快并且可以在Web浏览器端运行的底层二进制数据格式,并且可以由C++等语言转化而来 ...

2019-12-04 15:30:29

阅读数 166

评论数 0

转载 在Spring Security框架下JWT的实现细节原理

一、回顾JWT的授权及鉴权流程 在笔者的上一篇文章中,已经为大家介绍了JWT以及其结构及使用方法。其授权与鉴权流程浓缩为以下两句话 授权:使用可信用户信息(用户名密码、短信登录)换取带有签名的JWT令牌 鉴权:解签JWT令牌,校验用户权限。具有某个接口访问权限,开放该接口访问。 二、S...

2019-12-02 15:29:39

阅读数 159

评论数 0

原创 【笔记】vue+springboot前后端分离实现token登录验证和状态保存的简单实现方案

简单实现 token可用于登录验证和权限管理。 大致步骤分为: 前端登录,post用户名和密码到后端。 后端验证用户名和密码,若通过,生成一个token返回给前端。 前端拿到token用vuex和localStorage管理,登录成功进入首页。 之后前端每一次权限操作如跳转路由,都...

2019-12-01 15:29:27

阅读数 478

评论数 0

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