自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 雪花算法 Snowflake & Sonyflake

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

2019-12-31 16:31:16 1178

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

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

2019-12-29 16:33:03 1282

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

目录 背景介绍 改造思路 容器构建 基础准备 中间件容器 外部依赖容器 业务应用容器 容器整合 自动构建容器 Maven相关 非Maven项目 总结 背景介绍 目前公司内部系统(代号GMS)研发团队,项目整体微服务规模大概是4+9+3的规...

2019-12-28 16:32:44 1112

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

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

2019-12-27 16:32:19 1630

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

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

2019-12-26 16:33:05 1711

原创 HTTP超详细总结

HTTP协议概述 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP协议的主要特点可概括如下:1.支持客户/服务器模式...

2019-12-25 16:33:40 162

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

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

2019-12-24 16:33:54 1192 1

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

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

2019-12-23 16:34:46 1487

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

目录 一、 集群架构 集群角色 工作机制 二、存储机制 A. 存储模型 B. LSM 与 Compaction C. Region 分裂 D. 自动均衡 三、访问机制 四、 鉴权 五、 高可靠 1.集群高可靠 2. 隔离性 3. ...

2019-12-22 16:35:12 1195

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

前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 相信大家都用过POSTMAN吧,后端在开发的时候写完接口总得去自测调用一下,看符不符合自己的预期。 因为我们的接口可能会有很多参数或者我们的参数是json格式的(等等原因),直接用浏览器去请求不太方便,而且使用浏览器去...

2019-12-21 16:34:34 1131 1

转载 JAVA 使用jgit管理git仓库

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

2019-12-20 16:34:35 1645

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

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

2019-12-18 15:34:48 982

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

前言 前面用两篇文章大致介绍了Redis热点面试中的底层实现相关的问题,感兴趣的可以回顾一下:【决战西二旗】|Redis面试热点之底层实现篇【决战西二旗】|Redis面试热点之底层实现篇(续) 接下来我们继续来一起研究下Redis工程架构相关的问题,这部分内容出现的概率相对大一些,因为并不是所有人都会去研究源码,如果面试一味问源码那么可能注定是一场尬聊。 面试时在不要求候选人对Redis非常...

2019-12-17 15:34:03 931

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

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

2019-12-16 15:32:58 1298

原创 mysql存储引擎简介

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

2019-12-15 15:32:37 969

原创 (译)An introduction to Kubernetes

原文:https://www.jeremyjordan.me/kubernetes/(博客园团队推荐的) 这篇博客文章将对Kubernetes进行介绍,以便您了解该工具背后的动机,含义以及使用方式。在后续文章中,我将讨论如何使用更具体的(数据科学)示例来利用Kubernetes增强数据科学工作负载。但是,这有助于您首先了解基本原理-这是本文的重点。 先决条件:我将假设您熟悉Docker等容器...

2019-12-14 15:31:41 888

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

作者 | 徐迪、李传云、黄珂、汪萌海、张晓宇、何淋波 、陈有坤、李鹏审核 | 陈俊 上游重要进展 1. Kubernetes v1.17 版本发布 功能稳定性是第一要务。v1.17 包含22 个增强功能:14 个增强功能已逐渐稳定,4 个增强功能已进入 beta 版,4 个增强功能已进入 alpha 版本。 Major Theme 云提供商标签达到 GA 这个自 1.2 版本就引入的...

2019-12-13 15:31:37 915

原创 android 点击无效验证

背景 在写一个东西滑动删除列表的时候,出现了一个问题。我的需求是,左滑然后出现delete,然后点击delete,让该滑块消失。 我在点列表的第一行的时候,左滑,出现delete,点击删除,ok的,完美。然后我点击第三个,同样左滑出现delete,点击delete没有任何反应。 然后我再点击第一个,又可以删除。 模型如下: 子模型: ps: 黑色的是最外层,蓝色的是在黑块中,然后delet...

2019-12-12 15:31:34 927

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

进入2019年,大前端技术生态似乎进入到了一个相对稳定的环境,React在2013年发布至今已经6年时间了,Vue 1.0在2015年发布,至今也有4年时间了。 整个业界在前端框架不断迭代中,也寻找到了许多突破方向,例如跨平台中的RN、Flutter,服务端GraphQL、Serverless,前端和客户端的融合越来越紧密,前端在Node和Electron的加持下,也扩展了自己的版图到服...

2019-12-11 15:32:13 1288

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

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

2019-12-10 15:32:33 903 1

原创 TestNG系列(二)TestNG注解

前言 TetsNG提供了很多注解,允许测试人员灵活地组织测试用例 一、@Test @Tets是TestNG的核心注解,被注解的方法,表示为一个测试方法。 description属性 @Test(description = "yuhao")public void case1(){ System.out.println("case1方法");} 在测试报告中体现出来 ...

2019-12-09 15:32:30 1092

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

当用 Spring Security 框架进行认证时,你可能会遇到这样的问题: 你输入的用户名或密码不管是空还是错误,它的错误信息都是Bad credentials。 那么如果你想根据不同的情况给出相应的错误提示该怎么办呢? 这个时候我们只有了解 Spring Securiy 认证的流程才能知道如何修改代码。 好啦,来看下面的例子,大部分人的 WebSecurityConfig 的 co...

2019-12-08 15:32:30 993

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

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

2019-12-07 15:31:47 981

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

之前的文章我们介绍了一下 Java 中的引用型数组类型,接下来我们再来看一下 Java 中的继承。 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。 在日常生活中,我们会养些猫和狗,从程序的角度讲猫和狗都属于对象,那么我们就可...

2019-12-06 15:31:19 922 1

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

前言 前面两篇文章介绍了快速排序的基础知识和优化方向,今天来看一下STL中的sort算法的底层实现和代码技巧。 众所周知STL是借助于模板化来支撑数据结构和算法的通用化,通用化对于C++使用者来说已经很惊喜了,但是如果你看看STL开发者强大的阵容就意识到STL给我们带来的惊喜绝不会止步于通用化,强悍的性能和效率是STL的更让人惊艳的地方。 STL极致表现的背后是大牛们炉火纯青的编程技艺和追求...

2019-12-05 15:30:35 986

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

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

2019-12-04 15:30:29 1319

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

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

2019-12-02 15:29:39 996

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

简单实现 token可用于登录验证和权限管理。 大致步骤分为: 前端登录,post用户名和密码到后端。 后端验证用户名和密码,若通过,生成一个token返回给前端。 前端拿到token用vuex和localStorage管理,登录成功进入首页。 之后前端每一次权限操作如跳转路由,都需要判断是否存在token,若不存在,跳转至登录页。 前端之后的每一个对后端的请求都要在请求头上带...

2019-12-01 15:29:27 12097 9

wangeditor3集成highlightJs实现代码高亮

wangeditor3.x版本开始,不再支持highlight.js语法高亮,作者将语言选择的下拉选择给去掉了,不过在GitHub上给出了实现思路,我参照他的思路实现了此功能,大家如果不愿意动手,或者前端基础薄弱的,可直接下载我这个,亲测可用!

2020-09-29

SwingQQ详解(不才之作,敬请欣赏)

用Swing模仿QQ,实现了简单的聊天、添加删除修改群组、添加删除好友、收到消息头像闪烁,可以发送文字(样式)和图片,详情大家转到:http://www.iteye.com/topic/1137293

2015-03-02

空空如也

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

TA关注的人

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