笔记
比嗨皮兔
主攻java,熟练 .net/c#、spring、spring cloud、dubbo、mybatis等,熟练使用go、shell、python等,其他中间件有tbschedule、xxl-job、consul、apollo、elk、cat、prometheus等,善于大数据、高并发、分布式以及微服务的相关优化和技术框架选型。
专利:CN113282633A CN113239043A CN111861669A CN111429060A
软著:安卓点名软件
展开
-
【AI】人工智能之深度学习(1)—— 入门
人工智能包含的东西很多,据我所了解的,主要包括以下的内容,NLP自然语言处理引擎、DL机器学习引擎、KG知识图谱引擎、CV计算机视觉引擎、DL深度学习引擎等等原创 2022-07-28 21:03:14 · 1212 阅读 · 1 评论 -
【Redis】Redis使用序列教程
redis教程序列原创 2022-03-15 22:35:31 · 1764 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ 序列文章
目录如何安装部署RabbitMQ?RabbitMQ是什么?什么是AMQP?RabbitMQ是如何工作的?RabbitMQ有什么作用?使用RabbitMQ有哪些优缺点?在哪些场景下使用RabbitMQ?RabbitMQ的代码如何实现?使用RabbitMQ应该注意些什么?RabbitMQ面试会问些什么?如何安装部署RabbitMQ?RabbitMQ是什么?什么是AMQP?RabbitMQ是如何工作的?RabbitMQ有什么作用?使用RabbitMQ有哪些优缺点?在哪些场景下使用RabbitMQ?原创 2022-03-11 13:07:47 · 2197 阅读 · 0 评论 -
【日常】日访问量的峰值,但是为什么没人关注呢?
这应该是我在CDN当日访问量的最高峰,记录下。原创 2022-03-11 09:07:54 · 134 阅读 · 2 评论 -
【Linux】统计当然目录下各个子目录的大小
linux 统计当前目录下子目录的大小du -sh * | sort -nr原创 2022-03-11 08:17:51 · 313 阅读 · 0 评论 -
【分布式】Redis分布式之HyperLoglog
说明使用使用示例:package com.demo.redis.hyper;import org.redisson.api.RHyperLogLog;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframework.util.Assert;原创 2022-03-10 12:43:11 · 1115 阅读 · 0 评论 -
【分布式】Redis分布式之分布式唯一Id
说明Redis生成分布式唯一Id的方式之一。使用示例代码:package com.demo.redis.generate;import org.redisson.api.RIdGenerator;import org.redisson.api.RedissonClient;import org.springframework.stereotype.Component;import org.springframework.util.Assert;import javax.annotati原创 2022-03-10 12:39:50 · 1892 阅读 · 0 评论 -
【分布式】Redis分布式之事务(Transaction)操作
说明Redis事务操作使用示例:package com.demo.redis.transaction;import org.redisson.api.RBucket;import org.redisson.api.RTransaction;import org.redisson.api.RedissonClient;import org.redisson.api.TransactionOptions;import org.redisson.client.codec.StringCodec原创 2022-03-10 12:36:54 · 2091 阅读 · 0 评论 -
【golang】编译打包及压缩的命令
说明当前的命令是用来打包golang程序的命令,命令的作用有不显示窗口以及压缩打包之后的文件包。使用go build -ldflags="-H windowsgui -s -w"-H windowsgui :隐藏窗口-s -w :压缩也可以使用upx工具进行压缩。...原创 2022-03-10 04:41:58 · 1201 阅读 · 0 评论 -
【分布式】Redis分布式之PriorityBlockingDeque
使用package com.demo.redis.list;import org.redisson.api.RPriorityBlockingDeque;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframework.util.Assert;原创 2022-03-10 04:42:06 · 345 阅读 · 0 评论 -
【分布式】Redis分布式之BlockingDeque
使用package com.demo.redis.list;import org.redisson.api.RBlockingDeque;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframework.util.Assert;import原创 2022-03-10 04:42:15 · 1399 阅读 · 0 评论 -
【分布式】Redis分布式之Deque(双向队列)
使用package com.demo.redis.list;import org.redisson.api.RDeque;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframework.util.Assert;import javax.an原创 2022-03-10 04:42:24 · 798 阅读 · 0 评论 -
【分布式】Redis分布式之TransferQueue
使用package com.demo.redis.list;import org.redisson.api.RTransferQueue;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframework.util.Assert;import原创 2022-03-10 04:42:33 · 375 阅读 · 0 评论 -
【分布式】Redis分布式之BoundedBlockingQueue
使用package com.demo.redis.list;import org.redisson.api.RBoundedBlockingQueue;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframework.util.Assert;原创 2022-03-10 04:42:42 · 654 阅读 · 0 评论 -
【分布式】Redis分布式之Queue(队列)
使用package com.demo.redis.list;import org.redisson.api.RQueue;import org.redisson.api.RQueue;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframewo原创 2022-03-10 04:42:50 · 1904 阅读 · 0 评论 -
【分布式】Redis分布式之BitSet(BitMap)
使用package com.demo.redis.set;import org.redisson.api.RBitSet;import org.redisson.api.RedissonClient;import org.springframework.stereotype.Component;import org.springframework.util.Assert;import javax.annotation.Resource;/** * RedisBigSet * * @原创 2022-03-09 22:27:02 · 1240 阅读 · 0 评论 -
【分布式】Redis分布式之Set
使用package com.demo.redis.set;import org.redisson.api.RSet;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframework.util.Assert;import javax.annot原创 2022-03-09 22:25:21 · 730 阅读 · 0 评论 -
【分布式】Redis分布式之ScoreSortedSet
使用package com.demo.redis.zset;import org.redisson.api.RScoredSortedSet;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.redisson.client.protocol.ScoredEntry;import org.springframework.stereotype.Componen原创 2022-03-09 22:19:22 · 2422 阅读 · 0 评论 -
【分布式】Redis分布式之ZSet
使用package com.demo.redis.zset;import org.redisson.api.RSortedSet;import org.redisson.api.RedissonClient;import org.redisson.client.codec.StringCodec;import org.springframework.stereotype.Component;import org.springframework.util.Assert;import java原创 2022-03-09 22:17:31 · 398 阅读 · 0 评论 -
【分布式】Redis分布式之AtomicDouble
说明使用参考Jdk中的AtomicLong使用package com.demo.redis.string;import org.redisson.api.RAtomicDouble;import org.redisson.api.RedissonClient;import org.springframework.util.Assert;import javax.annotation.Resource;/** * RedisAtomicLong * * @author 王思勤 *原创 2022-03-09 22:06:09 · 697 阅读 · 0 评论 -
【分布式】Redis分布式之AtomicLong
说明使用package com.demo.redis.string;import org.redisson.api.RAtomicLong;import org.redisson.api.RedissonClient;import org.springframework.util.Assert;import javax.annotation.Resource;/** * RedisAtomicLong * * @author 王思勤 */public class RedisAt原创 2022-03-09 22:03:43 · 4472 阅读 · 0 评论 -
【分布式】Redis分布式之Semaphore
说明使用方式同jdkt中的Semaphore使用package com.demo.redis.string;import org.redisson.api.RSemaphore;import org.redisson.api.RedissonClient;import org.springframework.util.Assert;import javax.annotation.Resource;import java.util.concurrent.TimeUnit;/** *原创 2022-03-09 22:01:23 · 847 阅读 · 0 评论 -
【分布式】Redis之分布式CountDownLatch
说明使用参考 Jdk中的CountDownLatch使用参考package com.demo.redis.string;import org.redisson.api.RCountDownLatch;import org.redisson.api.RedissonClient;import org.springframework.util.Assert;import javax.annotation.Resource;import java.util.concurrent.TimeUni原创 2022-03-09 21:58:02 · 754 阅读 · 0 评论 -
【java】读写锁 ReadWriteLock 实现
原理读写锁原理很简单,里面使用AQS来实现读写锁,但是对AQS了解的朋友应该都知道,AQS只有一个互斥(同步)资源state,那怎么实现的呢,其实是使用state类型是int类型,是32位的,所以利用高低16位分别用作读写的标志,而且读写锁是可重入的。总结下来就是:读读不互斥;读写互斥;写写互斥;可重入锁。特别注意读写锁是可以降级的,就是加了读/写锁的功能里面是可以再次加读锁的;反之则不可以,就是读/写锁的功能模块里面,若是锁没有释放,是不可以加写锁的,必须释放之后才能加写锁。示例代码原创 2022-03-08 14:56:02 · 782 阅读 · 0 评论 -
【分布式】Redis 分布式之List
待完善原创 2022-03-09 22:34:56 · 679 阅读 · 0 评论 -
【分布式】Redis 分布式之Hash
待完善原创 2022-03-09 22:13:57 · 599 阅读 · 0 评论 -
【分布式】Redis 分布式缓存之String使用
待完善原创 2022-03-08 12:59:29 · 851 阅读 · 0 评论 -
【分布式】Redis 读写锁的使用
待完善原创 2022-03-07 21:26:57 · 715 阅读 · 0 评论 -
【分布式】Redis 令牌桶限流的使用
待完善原创 2022-03-08 09:20:16 · 613 阅读 · 0 评论 -
【SpringBoot】RabbitMQ 启动、停止和销毁的注册类(流量隔离)
在SpringBoot中,使用注解@EnableRabbit来配置RabbitMQ的启动配置加载,而真正配置的类为org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry,当前的类里面控制连接终端的启动、停止和注销,可以用来动态的实现RabbitMQ的消费者启动、停止和注销等功能。org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry原创 2022-03-07 18:43:25 · 1817 阅读 · 0 评论 -
【SpringBoot】扫描多个包的路径
多个包路径扫描,可以扫描其他依赖的包路径。@ComponentScans(@ComponentScan(basePackages = {"xxx.xxx.xxx"})原创 2022-03-07 18:36:33 · 1869 阅读 · 0 评论 -
Spring redis配置文件
@Bean(name = "redisTemplate") public <T> RedisTemplate<String, T> redisTemplateT(RedisConnectionFactory redisConnectionFactory) {RedisTemplate<String, T> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFa原创 2022-01-17 21:07:33 · 918 阅读 · 0 评论 -
netstat进程获取及kill
进程号获取获取netstat中,包含whois关键字的进程IDnetstat -anp | grep whois | awk -F ' ' '{len=split($7,arr,"/");for(i=1;i<len;i++){$7=arr[i];print $7}}'netstat:获取网络连接信息grep:关键字awk:提取满足条件的内容split:分割字符串kill满足条件的进程netstat -anp | grep whois | awk -F ' ' '{len=sp.原创 2022-01-10 12:43:30 · 1194 阅读 · 0 评论 -
【git】获取每个用户的提交次数
#!/bin/bashrm -f ~/git-c.logcd 路径/repositories# 获取所有的仓库for dir in $(ls ./)do cd $dir # 获取子目录 for dir1 in $(ls ./) do [ -d $dir1 ] && echo $dir1 cd $dir1 git log --pretty='%aN' | sort | uniq -c | sort -原创 2021-11-04 22:22:53 · 324 阅读 · 0 评论 -
【git】统计每个人的代码行数
#!/bin/bashrm -f ~/git.logcd /home/gitea/git/repositories# 获取所有的仓库for dir in $(ls ./)do cd $dir # 获取子目录 for dir1 in $(ls ./) do cd $dir1 # [ -d $dir2 ] && echo $dir2 git log --format='%aN' | so原创 2021-11-04 22:19:11 · 756 阅读 · 0 评论 -
【golang】获取域名过期时间
whois := fmt.Sprint("whois", " ", domain) command0 := fmt.Sprint(whois, " | grep \"Expiration Time\" | awk '{print $3,$4}'") command1 := fmt.Sprint(whois, " | grep \"Expiry Date\" | awk '{print $4}'") command2 := fmt.Sprint(whois, " | grep \"Registry ..原创 2021-12-08 07:52:52 · 455 阅读 · 0 评论 -
【golang】获取证书过期时间
func GetDomainSslExpireDate(domain string) string { if !strings.HasPrefix(domain, "http") { domain = fmt.Sprint("https://", domain) } command := fmt.Sprint("curl -v -I -k ", domain) cmd := exec.Command("/bin/bash", "-c", command) output, err := cmd.原创 2021-10-28 23:05:45 · 1138 阅读 · 0 评论 -
【golang】多时间格式转换
var formatArr = []string{"2006-01-02 15:04:05", "2006-01-02T15:04:05", "2006-01-02T15:04:05Z", "Jan 02 15:04:05 2006 GMT", "1月 02 15:04:05 2006 GMT"}// StrToDate 时间转换func StrToDate(dateStr string) time.Time { dateStr = strings.TrimSpace(dateStr) if .原创 2021-10-28 23:02:01 · 715 阅读 · 0 评论 -
Linux下的压测工具 hey
简单使用./hey -n 10 -c 1 -m POST "地址“参数说明原创 2021-09-09 08:53:40 · 295 阅读 · 0 评论 -
【golang】consulApi 简单使用
1、importimport (consulApi “github.com/hashicorp/consul/api”)2、示例// consulClient consul客户端func consulClient(consulAddr string) (*consulApi.Client, error) {config := consulApi.DefaultConfig()config.Address = consulAddrreturn consulApi.NewClient(conf原创 2021-09-06 13:34:11 · 369 阅读 · 0 评论