自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 在Feign接口中返回泛型类型——自定义Decoder

前几天对接了一套第三方接口,这几个第三方接口的请求地址一样,请求参数和响应结果中有很多共同的字段,所以就想把这些字段都抽出来,通过Feign定义的接口返回类型直接返回泛型。 Feign定义 @FeignClient(name = "demoFeign", url = "...

2020-06-30 15:53:25 84 0

原创 Https网站中请求Http内容
原力计划

Https网站中请求Http内容Https网站中无法请求Http资源(静态资源、接口等)分析解决方法 Https网站中无法请求Http资源(静态资源、接口等) 今天遇到个问题:Mixed Content: The page at ‘https://*****’ was loaded over HT...

2020-06-12 16:49:11 433 0

原创 服务器又一次被恶意攻击,MongoDB被删库
原力计划

一台裸奔在云服务器上的MongoDB 前几天在自己个人的一台腾讯云服务器上安装了MongoDB,当时着急用,就用的默认配置(端口是默认端口,也没设置密码),后来就把这事抛到脑后了,也因为经常用无线网卡上网,ip经常是动态的,云服务器的安全组就放开了所有的ip。 完全就是一台裸奔在云上的数据库 ??...

2020-06-09 22:53:34 1383 4

原创 客户端、服务器、数据库之间的时区转换

时区问题

2020-05-31 23:56:44 137 0

原创 Facebook第三方登录流程总结
原力计划

这里写自定义目录标题开通Facebook开发者账号新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数...

2020-04-23 19:35:38 430 1

转载 Git恢复之前版本的两种方法reset、revert(图文详解)

一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。 二、背景知识 git的版本管理,及HEAD的理解 使用git的每次提交,Git都会自动...

2019-08-01 14:35:35 5549 2

原创 数据一致性校验

todo

2019-05-28 17:10:01 1321 0

原创 分布式锁原理与实现

这里写自定义目录标题分布式锁一、数据库实现分布式锁二、Redis实现分布式锁三、用Zookeeper实现分布式锁总结 分布式锁 分布式锁可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。 分布式锁的实现方式有: 数据库实现分布式锁:原理简单,性能较差 R...

2019-04-26 10:02:11 783 0

转载 图解MySQL索引--B-Tree(B+Tree)

看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引…或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问!本文中有关存储引擎请查看MySQL存储引擎-InnoDB和MyISAM ...

2019-03-19 00:29:41 211 0

原创 Java多线程知识点精华汇总

2019-02-23 22:19:26 185 0

原创 记一次并发引起的问题及排查过程

问题背景 聚合支付系统(第四方支付),协议支付模块一直有个小问题,商户调用协议支付接口,该模块会调用下层第三方支付渠道的协议支付服务,如果第三方支付渠道没有同步返回支付结果,则协议支付模块会通过定时任务向第三方支付渠道批量第查询支付结果(每查一笔订单就调一次第三方支付渠道,“批量”相当于并发调...

2019-02-16 23:32:09 256 0

原创 SpringBoot使用AOP导致dubbo服务不注册

SpringBoot使用AOP导致dubbo服务不注册

2018-12-20 16:37:48 1496 0

原创 分布式日志调用链追踪

任何系统都无法100%保证不出错误,线上系统报错之后,首先要做的就是在第一时间内找出问题,解决问题,定位线上问题最主要的途径就是看日志。 在单模块下根据日志排查问题,只需要直接搜索关键字就能很清晰地看到线上代码的执行情况。而随着现在越来越多的系统分布式化、微服务化,一个请求往往需要经过多个分布式模...

2018-12-20 15:57:52 3708 0

原创 Mac安装vue.js开发环境

本来以为在Mac上搭建vue.js的环境挺简单的,谁知遇到各种问题(可能是RP问题),网上解决的方法也寥寥无几,这里就记录下遇到的坑。 一、vue.js开发环境 1、安装 brew,这个简单,直接执行远程脚本 /usr/bin/ruby -e "$(curl -fsSL...

2018-10-31 23:28:50 839 0

原创 JVM知识点精华汇总

本文是学习了《深入理解Java虚拟机》之后的总结,主要内容都来自于书中,也有作者的一些理解。一是为了梳理知识点,归纳总结,二是为了分享交流,酝酿了好几天,查阅了上百篇博客和论坛,如有错误之处还望指出,谢谢!(本文以jdk1.7的规范为基础)。 文章大致分为如下几个部分:JVM内存区域、JVM内存...

2018-08-08 00:51:21 3806 81

原创 RSA公钥加密私钥解密实例

1、加密、解密流程 2、实现 (1)RSA加密工具类 RSACrypt.java package club.easyshare.framework.utils; import java.security.InvalidKeyException; import java.securi...

2018-04-16 21:26:44 8814 3

原创 iterm通过代理访问网络

下载fabric的docker镜像的时候,mac已经开了代理,但速度还是巨慢,原来iterm通过代理访问网络还要单独设置,在~/.zshrc 或者~/.bash_profile 配置文件中添加如下配置: export http_proxy=socks5://127.0.0.1:1080 expo...

2018-04-12 15:45:07 4331 0

原创 html页面导出为pdf(jsPDF、iText、wkhtmltopdf)

html页面导出pdf,本来是一件很简单的事情,在浏览器直接打印(Mac快捷键为⌘+p;Windows快捷键为ctrl+p),就可以把页面另存为pdf文件,但对于要经常把页面导出为pdf的用户来说并不友好。 调研了几种html导出pdf的实现方式,这里把要点记录下来分享下。 调研对...

2018-03-29 23:38:17 111171 40

原创 2018 辞旧迎新

2018 辞旧迎新

2018-02-16 12:25:41 445 6

原创 记一次服务器被挖矿木马攻击的经历

背景 利用空余时间买了台服务器做了个小网站玩,今天访问了一下,加载巨慢,一看服务器运行情况,CPU飙到100%,按CPU消耗排序,排在第一的是一个名为“imWBR1”的进程,查了一下是一个挖矿木马,于是赶紧采取办法~ 清除恶意程序 首先比较直观的是imWBR1这个进程,查找它...

2018-01-07 17:27:18 16745 3

原创 数据脱敏——基于Java自定义注解实现日志字段脱敏

要对数据进行脱敏,基本上都是对一些关键的、少数字段进行脱敏,比如某个实体中可能只对password这一个字段进行脱敏处理,所以可以用自定义注解的方式,只需在需要脱敏的字段上添加一个注解,比较方便。 写日志时,序列化之前先把要打印的对象clone一份,然后找出添加脱敏自定义注解的字段进...

2017-09-01 00:16:19 14515 13

原创 数据脱敏——什么是数据脱敏

一、什么是数据脱敏?  数据脱敏(Data Masking),又称数据漂白、数据去隐私化或数据变形。      百度百科对数据脱敏的定义为:指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数...

2017-08-29 23:20:54 72421 15

原创 Dubbo常见问题

dubbo常见问题

2017-07-30 21:11:21 1468 1

原创 Dubbo介绍、原理

dubbo常见错误

2017-07-30 21:10:43 529 1

原创 【hadoop学习笔记】——Hive

Hive

2017-06-30 23:46:01 389 0

原创 【Hadoop学习笔记】——MapReduce

【Hadoop学习笔记】——MapReduce

2017-06-30 23:44:00 430 0

原创 【Hadoop学习笔记】——HDFS

HDFS(HadoopDistributedFileSystem):Hadoop分布式文件存储系统。 分布式文件存储系统 分布式文件存储系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph...

2017-06-30 23:43:05 493 0

原创 【Hadoop学习笔记】——Hadoop基础

大数据时代 当前时代是数据爆炸的时代,全球各个网站、电子设备等都在源源不断地产生着大量数据.2006年数字世界项目统计得出全球数据总量为0.18ZB,2011年全球数据量1.8ZB,2013全球数据量4.4ZB,2014年全球数据总量在6.2ZB左右,2015年全球数据总量在8.6ZB左右,20...

2017-06-30 23:41:47 6662 0

转载 SLF4J和Logback日志框架详解

本文讲述SLF4J和Logback日志框架。SLF4J是一套简单的日志外观模式的Java API,帮助在项目部署时对接各种日志实现。LogBack在运行时使用JMX帮助修改日志配置,在生产状态下无需重启应用程序。SLF4JSLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback、L...

2017-05-31 10:09:01 626 0

原创 【SpringDataJPA】——SpringDataJPA入门实例

Spring经常喜欢做的事情就是封装,经过spring的封装结出的一大果实——SpringDataJPA可以很大程度上提高我们持久层的开发效率。  在SpringDataJPA下,只需要关注业务实现,无需关注持久层的逻辑,需要做的工作只是声明持久层的接口,并不需要亲自实现,实现接口这些工作Spri...

2017-04-01 23:32:31 1478 1

原创 给你的项目添加一个灵活的“开关”

项目中对接了一个代付通道,每次测试代付功能都是发起代付请求之后,需要等十几到二十几分钟才能返回代付结果,甚至期间通道偶尔会出现一些问题,更尴尬的是等了好长时间,返回的结果是代付失败(代付通道测试环境返回的代付结果都是随机的)。   这时候就找到一个办法就是在代付的位置加上一个开关,需要模拟代付成功...

2017-03-22 01:34:34 1240 16

原创 Java内部类

……

2016-08-31 20:58:04 407 1

原创 HashMap实现原理及源码分析

……

2016-08-31 20:57:32 781 1

原创 【SSH快速进阶】——Spring AOP原理及其实现

上篇文章简单总结了一下静态代理以及JDK和Cglib两种方式实现的动态代理。由此也延伸出了一个重要的编程思想:AOP。 AOP原理   AOP(Aspect Oriented Programming):面向切面编程。利用AOP可以对业务逻辑中的各个部分进行隔离,从而使得业务逻辑各部分之间...

2016-07-28 14:17:09 897 9

原创 静态代理与动态代理

静态代理   23种设计模式中,代理模式是一种很经典的模式,当我们想改变一个类的行为的时候(比如添加额外的服务像添加日志等),可以创造一个跟这个类实现相同接口的类,重写对应的方法。这就相当于为一个类创建了一个“替身”。   代理模式的结构如下:   比如要给原来的业务逻辑添加日志功能...

2016-07-28 10:17:28 1767 14

原创 【SSH快速进阶】——Spring抽象公共配置

在设计类的时候,往往把多个类公共的部分抽象出来,做成父类,其余的类继承它。   Spring的配置文件也一样,当多个bean有公共部分时,为了减少配置量,也可以把公共的部分抽出来,其余的部分都“继承”它。   比如下面的两个实体 public class Bean1 { privat...

2016-07-27 11:08:58 442 7

原创 【SSH快速进阶】——Spring属性注入

上篇介绍了Spring IOC容器管理Bean的几种方式,IOC容器会帮助我们管理配置好的Bean及其之间的依赖关系。  除了管理我们自定义的类之间的依赖关系,Spring还可以帮助我们注入一些常用的属性。比如String、int、List、Set等~   比如下面Bean1这个类,IOC容器在...

2016-07-25 16:19:01 589 6

原创 【SSH快速进阶】——Spring IOC容器注入的几种方式

IOC(Inversion of Control):控制反转,怎么理解这句话呢?看一个例子就明白了。  一个操作用户的Dao层接口UserDao :public interface UserDao { public void addUser(String username,String p...

2016-07-25 15:58:01 1766 6

原创 【Redis】——Redis简单介绍及Redis安装详细过程

Redis是用C语言开发的一款高性能key-value数据库。它可以提供多种键值数据类型来适应不同场景下的存储需求。  Redis的适用场景有很多:缓存、任务队列(秒杀、抢购)、网站访问统计等,最常见的场景就是作为缓存来使用。  用作缓存时,它在整体架构中的位置如下:    查询数据时,应用服务器...

2016-07-08 16:31:39 5250 3

原创 【MyBatis框架点滴】——MyBatis二级缓存

在上篇文章的那张图上稍作修改,就可以很明了的看出来什么是二级缓存,它和一级缓存的区别是什么:    一级缓存是SqlSession级别的缓存,二级缓存则是Mapper级别的缓存,这里的Mapper可以看做是Mapper配置文件。多个SqlSession可以操作同一个Mapper配置文件,所以二级缓...

2016-06-27 22:20:11 904 3

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