自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Spring cacheable

Spring cacheAble

2022-06-27 10:00:38 320 1

原创 Spring之RedisSession详解

Spring redisSession

2022-06-24 15:50:17 5530

原创 Spring异步处理Async

Spring Async 异步处理

2022-06-23 18:51:00 1375

原创 Spring中定时任务的技术内幕

Spring cron 表达式定时任务

2022-06-23 14:22:14 1038

原创 谈谈redis的GEO原理及其算法

GEO相关指令{"geoadd",geoaddCommand,-5,"wm",0,NULL,1,1,1,0,0},{"georadius",georadiusCommand,-6,"w",0,georadiusGetKeys,1,1,1,0,0},{"georadius_ro",georadiusroCommand,-6,"r",0,georadiusGetKeys,1,1,1,0,0},{"georadiusbymember",georadiusbymemberCommand,-5,"w",0,g

2022-05-22 01:24:20 1279

原创 Redis 4.0最强指令即其原理

randomkey随机弹出一个keytest:2>randomKey"ants_monitor_recent_app_change_delete_list"select切换库test:2>select 3"OK"test:3>swapdb交换库sit:2>swapdb 1 2"OK"sit:2>move移动数据到库sit:2>set abc 123"OK"sit:2>move abc 3"1"rename更换键值对名

2022-05-21 13:22:37 1243

原创 从配置文件谈Redis以及redis的优化(ZSet篇)

Zset常用来做排行榜,他是有序列表。和java中的TreeSet很像,不同的是排序的规则不同。常用的命令{"zadd",zaddCommand,-4,"wmF",0,NULL,1,1,1,0,0}, // 添加成员{"zincrby",zincrbyCommand,4,"wmF",0,NULL,1,1,1,0,0}, //给某成员加分{"zrem",zremCommand,-3,"wF",0,NULL,1,1,1,0,0}, //移除成员{"zremrangebyscore",zremrang

2022-05-21 13:20:06 691

原创 从配置文件谈Redis以及redis的优化(Hash篇)

HashHash常用来我们保存键值对,比如用户信息等,对象信息等数据常用的命令{"hset",hsetCommand,-4,"wmF",0,NULL,1,1,1,0,0}, //设置Hash中的值{"hsetnx",hsetnxCommand,4,"wmF",0,NULL,1,1,1,0,0}, //不存在就设置{"hget",hgetCommand,3,"rF",0,NULL,1,1,1,0,0}, //获取hash中的value{"hmset",hsetCommand,-4,"wmF"

2022-05-21 13:17:29 292

原创 SpringBoot中Web容器配置和调优

SpringBoot的启动容器主要是Tomcat,Jetty,Undertow三种容器类型,具体的配置类为org.springframework.boot.autoconfigure.web.ServerProperties@ConfigurationProperties(prefix = "server", ignoreUnknownFields = true)public class ServerProperties { /** * Server HTTP port. */ priv

2022-05-16 21:03:22 1740

原创 JUNIT 5自定义JSON数据源类

Junit file 普遍能自定义数据源比如org.junit.jupiter.params.provider.CsvFileSource能自定义输入CSV,并将CSV每一行传入参数,实现参数自由。那么如果我们的测试数据是复杂的数据,需要用JSON来解析,让测试类传值用实体类呢加入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifac

2022-05-16 21:02:05 781

原创 Spring 事务的实现方式

Spring事务

2022-05-16 21:00:47 159

原创 从配置文件谈Redis以及redis的优化(Set篇)

当我们需要用redis存去重的列表的时候,我们就会想到用redis的setSET命令 {"sadd",saddCommand,-3,"wmF",0,NULL,1,1,1,0,0}, /* 添加元素 */ {"srem",sremCommand,-3,"wF",0,NULL,1,1,1,0,0}, /*移除元素*/ {"smove",smoveCommand,4,"wF",0,NULL,1,2,1,0,0}, /*一个集合 移动到另外一个集合*/ {"sismember",s

2022-05-10 18:44:18 394

原创 从配置文件谈Redis以及redis的优化(String)

String的设置流程比较简单,设置code如下void setGenericCommand(client *c, int flags, robj *key, robj *val, robj *expire, int unit, robj *ok_reply, robj *abort_reply) { long long milliseconds = 0; /* initialized to avoid any harmness warning */ if (expire) {

2022-05-09 19:31:15 253

原创 从配置文件谈Redis以及redis的优化(List篇)

List的结构相关代码为: src/t_list.c, src/ziplist.c ,src/quicklist.credis 4.0版本中的list的数据结构为一种 quicklist的数据结构。/* Node, quicklist, and Iterator are the only data structures used currently. *//* quicklistNode is a 32 byte struct describing a ziplist for a quicklis

2022-05-09 19:19:08 418

原创 Leetcode 周赛(2022-05-08)

链接 https://leetcode-cn.com/contest/weekly-contest-292/6056. 字符串中最大的 3 位相同数字给你一个字符串 num ,表示一个大整数。如果一个整数满足下述所有条件,则认为该整数是一个 优质整数 :该整数是 num 的一个长度为 3 的 子字符串 。该整数由唯一一个数字重复 3 次组成。以字符串形式返回 最大的优质整数 。如果不存在满足要求的整数,则返回一个空字符串 "" 。注意:子字符串 是字符串中的一个连续字符序列。num 或

2022-05-08 12:57:12 610

原创 从配置文件谈Redis以及redis的优化(一)

本次redis版本 4.0redis的优化通常对一个中间件优化的策略是对中间件外部环境和内部参数进行优化。外部环境优化一般为服务器优化涉及IO,内存等系统级的参数。内部参数一般用于定义一些算法的阈值。相对于外部参数而言。内部参数是考虑优化的第一步。redis的参数参数来自于aliyun 4.0版本配置文件配置参数名称参数解释默认值appendonly开启 aof 持久化模式yeszset-max-ziplist-value类似于哈希(Hash)和列表(List)

2022-05-07 09:36:42 133

原创 Leecode双周赛(2022-04-30晚)

双周赛先上链接 ; https://leetcode-cn.com/contest/biweekly-contest-77/ranking/第一题6051. 统计是给定字符串前缀的字符串数目难度简单1收藏分享切换为英文接收动态反馈给你一个字符串数组 words 和一个字符串 s ,其中 words[i] 和 s 只包含 小写英文字母 。请你返回 words 中是字符串 s 前缀 的 字符串数目 。一个字符串的 前缀 是出现在字符串开头的子字符串。子字符串 是一个字符串中的连续一段字符序列。示

2022-05-01 14:05:29 347

原创 leetcode 单周赛(2022-05-01)

力扣单周赛链接:https://leetcode-cn.com/contest/weekly-contest-291第一题移除指定数字得到的最大结果给你一个表示某个正整数的字符串 number 和一个字符 digit 。从 number 中 恰好 移除 一个 等于 digit 的字符后,找出并返回按 十进制 表示 最大 的结果字符串。生成的测试用例满足 digit 在 number 中出现至少一次。示例 1:输入:number = "123", digit = "3"输出:"12"解释:"

2022-05-01 12:13:00 172

原创 JMH在性能测试中的使用

JMH 性能测试

2022-04-29 17:34:28 2488

原创 java中的伪共享

伪共享

2022-04-29 16:11:09 401

原创 位运算以及位运算的应用

位运算的介绍,位运算的应用

2022-04-28 12:28:59 197

原创 统计追加字母可以获得的单词数

统计追加字母可以获得的单词数题目地址: https://leetcode-cn.com/problems/count-words-obtained-after-adding-a-letter/题目描述给你两个下标从 0 开始的字符串数组 startWords 和 targetWords 。每个字符串都仅由 小写英文字母 组成。对于 targetWords 中的每个字符串,检查是否能够从 startWords 中选出一个字符串,执行一次 转换操作 ,得到的结果与当前 targetWords 字符串相等

2022-04-28 10:21:00 83

原创 java动态编译

java动态编译一部分代码javaCode:import lombok.AllArgsConstructor;import javax.tools.JavaCompiler;import javax.tools.JavaFileObject;import javax.tools.StandardJavaFileManager;import javax.tools.ToolProvi...

2019-09-01 23:03:46 190

原创 动态代理(一)

Aopjdk中的动态代理接口类:public interface IDateServices { public void save(String data); public int update(String data);}接口实现类public class DateService implements IDateServices{ @Override...

2019-09-01 21:57:25 94

原创 线程通讯(一)

##底层业务线数据隔离要求:子线程循环跑30次,暂停,然后跑到主线程40次,接着子线程循环跑30次,暂停,主线程跑40次如此往复,一共交替50次public class ThreadTest { private static Lock lock = new ReentrantLock(); private static Condition chil_condition =...

2019-09-01 15:50:49 92

原创 zookeeper分布式锁

zookeeper有java两种客户端 zookeeper和CuratorFramework一:线程不安全时候的代码,生成订单号为例子final static CuratorFramework client = CuratorFrameworkFactory.builder() .connectString("120.77.156.44:2181") .retr...

2019-08-31 10:55:52 85

原创 生产者和消费者(一)

##消费者和生产者(一)在多线程中,生产者和消费者是一个比较经典的话题,单消费者单生产者直接贴代码(依赖lombok)生产者代码:@AllArgsConstructor@Datapublic class Producter extends Thread{ private Resources resources; @Override public void ...

2019-08-31 10:55:25 130

原创 Spring+Jedis分库的问题

今天部署新项目,需要用redis的另一个库,本项目用的是&lt;dependency&gt; &lt;groupId&gt;redis.clients&lt;/groupId&gt; &lt;artifactId&gt;jedis&lt;/artifactId&gt; &lt;version&gt;2.9.0&lt;/version&gt; &lt;/dependen

2018-06-30 10:19:13 858

原创 zookeeper(一)

zookeeper即一个分布式的协调器,很多分布式系统都在用zookeeper做节点的管理等功能。zookeeper是apache下的一个开源项目,原本是hadoop的一部分,后来有人剥离出来应用于分布式系统,像如今的很多互联网热点技术 dubbo,kafka,等都应有有zookeeper一:zookeeper 介绍:zookeeper 是一个特别的文件系统,有四种节点:PERSISTENT  持...

2018-06-15 14:50:48 111

原创 try-catch思考

红豆生南国,春来发几枝。愿君多采撷,此物最相思。(原创不容易,引用请标记,谢谢)try catch为一般用于java中的异常处理,1:try()的用法:try()是1.7新增的用法,用来自动关闭括号内能关闭的资源,而不必要手动关闭,其必须实现autocloseable接口,such as下列代码,MySource是资源类,继承了AutoCloseable接口public class Myresou...

2018-05-11 17:20:57 216

原创 动态加载之源码分析-openfire(一)

执迷不悟,那又如何。openfire是我接触的第一款通讯开源框架,里面涉及到mina,插件开发更新等知识,项目完全开源,最近一直在学动态更新,偶尔想起以前读过openfire的源码,怕忘记,写一篇blog来复习一下其中的插件开发内容。与君分享。openfire开源官网地址:http://www.igniterealtime.org/projects/openfire/index.jsp,openf...

2018-05-10 18:19:12 408

原创 动态加载之初体会

永远年轻,永远热泪盈眶。当系统有点小bug或者有点小需求而项目特别大或者无法重启时是个很麻烦的事情,为了解决这些问题,热更新应运而生了。热更新,即classloader加载class文件。java运行的时候分别用不同的classloader加载jre/lib/*,jre/lib/ext,classpath对于classloader ,java自带三个即Bootstrap ClassLoader,E...

2018-05-10 11:37:10 97

空空如也

空空如也

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

TA关注的人

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