壹芝的博客

The more things you do, the more you can do.

SpringMvc 接入 Alibaba Sentinel

流控工具 Alibaba Sentinel 的使用

SpringMvc 接入 Alibaba Sentinel 整理自本人的有道历史云笔记 Sentinel 官方文档 对 SpringMvc 的接入方式的介绍较少,故记录如下 Sentinel 是 Alibaba 中间件团队2018年开源的一款纯 Java 实现的流量控制、熔断降级、系统负载保护工具 Sentinel 具有以下特征: 丰富的应用场景:Senti...

BUG实录 - fastjson JSONArray.parseArray 异常

老版本 fastjson JSONArray.parseArray 失效

fastjson JSONArray.parseArray 错误 整理自本人的有道历史云笔记 简介 fastjson用于将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean 之前使用过程中从来没有遇到过错误的情况,这次的情况不同,使用过程中发现老版本的fastjson的一个反序列化的BUG 二. 问题发现 公司某项目中接口使用jso...

JVM常用参数和工具使用

JVM常用参数和工具使用

JVM常用参数和工具使用 整理自本人的有道历史云笔记 一. JVM常用参数 1. 最小堆 -Xms2G -XX:InitialHeapSize=2G 2. 最大堆 -Xmx2G -XX:MaxHeapSize=2G 3. 新时代内存 -Xmn512M XX:MaxNewSize=512M -XX:NewSize=512M...

常见垃圾回收方法和对应GC日志分析

GC日志分析

常见垃圾回收方法和对应GC日志分析 整理自本人的有道历史云笔记 一. G1GC 1. 参数 -XX:+UseG1GC -XX:InitialHeapSize=134217728 -XX:+ManagementServer -XX:MaxHeapSize=2147483648 -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+UseCompressedC...

BUG实录 - Redis SETNX

一个 Redis SETNX 使用不当引起的 BUG

BUG实录 - Redis SETNX 整理自本人的有道历史云笔记 一. Redis SETNX 使用 > SETNX key value 可用版本: >= 1.0.0 时间复杂度:O(1) 只在键 key 不存在的情况下, 将键 key 的值设置为 value 。若键 key 已经存在, 则 SETNX 命令不做任何动作。 SETNX 是『SET if Not...

Docker常用命令速记

Docker简单例子

Docker常用命令速记 整理自本人的有道历史云笔记 安装并启动 Docker curl -fsSL https://get.docker.com | sh sudo systemctl start docker 常用命令 docker 镜像相关操作 docker search tomcat docker pull tomcat:8.5 ...

Java驻内存数据网格 Redisson 的使用

Redisson 简单例子

Java驻内存数据网格 Redisson 的使用 整理自本人的有道历史云笔记 一. Redisson 简介 Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, Li...

Guava EventBus

EventBus 简单例子

简介 Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。 Guava EventBus 简单例子 整理自本人的有道历史云笔记 package com.dbyz.base.guava; import com.google.common.eventbus.AsyncEventBus; import com.google.common.eventbus.E...

Logback配置记录

Logback配置文件备份

Logback配置记录 整理自本人的有道历史云笔记 Xml Config <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <springProperty name="LOGBACK_LOG_PATH" source="logback.log.path" de...

Git常用命令速记

Git常用命令简单例子

Git常用命令速记 整理自本人的有道历史云笔记 一. 常用分支操作命令 1.查看(全部)分支 git branch [-a] 2.从当前分支创建新的本地分支 branch-01,并切换到 branch-01 git checkout -b branch-01 3.切换到本地的另一个本地已经存在的分支 branch-02 git checkout branch-...

Guava Cache

Guava Cache 简单例子

简介 Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。 Guava Cache 简单例子 整理自本人的有道历史云笔记 package com.dbyz.base.guava; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; imp...

BloomFilter

BloomFilter 简单例子

简介 Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员。如果检测结果为是,该元素不一定在集合中;但如果检测结果为否,该元素一定不在集合中。因此Bloom filter具有100%的召回率。这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”...

常用hash算法

Guava Hashing 简单例子

整理自本人的有道历史云笔记 一. 常用hash方法列举 加法hash: /** * 加法hash * * @param str * @return */ public int addHash(String str) { int hash = 0; if (str != null &&...

Guava RateLimiter

RateLimiter 简单例子

简介 Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。 Guava RateLimiter 简单例子 整理自本人的有道历史云笔记 package com.dbyz.base.guava; import com.google.common.util.concurrent.RateLimiter; import lombok.extern.slf4j...

Mybatis常用标签记录

Mybatis常用标签简单例子

常用标签记录 整理自本人的有道历史云笔记 1. if condition <if test="unionUserId != null and unionUserId != ''"> and c.union_user_id = #{unionUserId} </if> 2. if else condition <choose> &...