- 博客(84)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 【学习笔记】Redis学习笔记——第16章 Sentinel
监视一个或多个主服务器及其下属服务器,在主服务器故障时,降级主服务器并将某一从服务器选举为新服务器。这里的Sentinel本质上只是一个运行在特殊模式下的Redis服务器。
2024-07-28 19:06:25
363
原创 【学习笔记】Redis学习笔记——第15章 复制(slaveof)
1>同步:将从服务器状态同步成主服务器状态2>命令传播:主服务器修改时,将修改传播到从服务器。
2024-07-21 17:27:46
461
原创 【学习笔记】Redis学习笔记——第12章 事件
Redis为事件驱动程序,通过套接字与客户端进行连接。套接字操作抽象为文件事件。周期性操作抽象为时间事件。
2024-07-13 18:05:13
293
原创 【学习笔记】Redis学习笔记——第9章 数据库
redisServer对象中保存了redisDb数组,这个数组中保存了当前服务器中所有的数据库,默认为16个。
2024-07-13 16:26:59
701
原创 【学习笔记】Redis学习笔记——第2章:简单动态字符串
/SDS字符串长度(buf数组中已使用的空间)int len;//buf数组中未使用的空间int free;//字节数组,用于保存字符串char buf[];
2024-06-30 16:08:22
224
原创 【学习笔记】Redis学习笔记——封面
学习的书籍是《Redis设计与实现》,当时在封面上写了“勇敢”跟“温柔”两个词,我不知道自己是不是这样的人,但肯定是渴望成为那样的人的。因为个人比较中二或者是喜欢跟自己说话吧(给自己点energy),会在书跟笔记本的封面随便写点东西(还挺羞耻的)。在笔记本的封面写了“努力回应所有的期待”,对自己有所期待的人,肯定是很重要的人吧,他们也都在注视着我们前行呢。
2024-06-30 15:46:21
227
原创 引言:为什么要开始记录学习笔记
导火索其实是在面试中有老师指出我虽然写了优快云的博客地址,但其实只是兴趣使然随便写了点东西而已,所以想到把之前的学习笔记都重写记录在优快云博客中,也算是一种丰富简历的方式。而且重写抄录一遍笔记也会加深印象,可以查漏补缺,而且一段时间回过头去看之前学习的知识也会产生一些新的理解。哦对了,之前搬家的时候也发现了,笔记这种东西,每次搬家我都只能自己带在行李箱里,因为手写的笔记拿去邮寄的话,丢了就真的永远找不回来了。其实在毕业之后基本每读一本书都会写读书笔记的,只是之前一直没有把笔记记录在线上。
2024-06-30 15:40:55
160
原创 使用IDEA启动项目,build时出现OOM相关异常 —— 个人问题记录
在使用idea启动项目时,即使使用参数设置了很大的JVM内存,但在项目构建时,仍会出现OOM异常,这一般是由于idea限制了项目构建时的heap size导致的,可以按需将这个数值调大。参数位置:setting > Build,Execution,Deployment > Compiler > Shared build process heap size(Mbytes)
2022-09-19 18:48:38
2576
1
原创 Java对象创建流程 —— 个人学习记录
根据GC回收策略(主要看回收过后内存是否连续),进行连续内存分配或者根据内存空间的空闲列表进行内存分配,若对象起始内存地址不为8字节倍数的会补齐做对齐填充。(PS:如果是句柄引用的堆栈对象对应方式,还会在堆中的句柄池中创建相应指向对象的指针)
2022-09-09 21:01:40
243
原创 JAVA开发规范当中容易忽视的规则记录 —— 个人知识点记录
26.在使用java.util.stream.Collectors类的toMap()方法转为Map集合时,一定要使用含有参数类型为BinaryOperator,参数名为mergeFunction的方法,否则当出现相同key值时会抛出IllegalStateException异常。24.获取月份时,为0-11,和常识不同,使用枚举类不易出错,其他情况我们也应该注意,为不明确的数字参数提供见名知意的枚举类。27.判断所有集合内部的元素是否为空,使用isEmpty()方法,而不是size()==0的方式。
2022-09-06 20:21:36
396
原创 逆天BUG记录 —— 永远都有符合条件的元素
最近在工作中交接到了新业务,在调试程序的过程中发现了很多BUG,这里记录一下其中一个比较离谱好玩儿的。
2022-05-30 10:40:49
225
1
原创 spring 容器中bean的扩展点记录 —— 个人学习记录
在spring容器创建bean的生命周期中,存在很多个可以让我们扩展的口子1.拿到beanFactory使用beanDefinition创建bean之前,通过实现BeanFactoryPostProcessor接口可以拿到beanFactory,也就是说可以通过beanFactory修改所有beanDefinition的信息。2.在bean初始化完成之前可以通过实现Aware相关接口注入一些组件,如ApplicationContext。3.bean初始化完成前后,可以通过BeanPostProcess
2022-05-11 11:27:38
263
原创 linux常用操作【持续更新】 —— 个人工作总结
因为在日常工作当中经常会有到线上环境查问题的场景,这个时候是需要知道很多有用的linux命令的(而我认为我们开发人员对于linux命令主要需要记忆的点在于需要知道linux可以让我们做些什么,而不是这些命令具体如何去使用,因为命令如何使用不管是-h还是谷歌百度,只需要知道你想要做什么就可以查到了,所以开个博客总结一下工作过程当中遇到的一些linux命令可以做的事情)1.cd 切换当前路径2.cp 复制文件3.top 显示该实例的负载、进程cpu使用情况、内存占用情况4.iostat 查看该实例的io
2022-04-29 17:59:13
2024
原创 ThreadLocal个人理解及内存泄漏理解 —— 个人学习记录
我理解中的threadlocal其实还是很清晰的,可能看起来很简单在一个Thread中,有一个threadLocalMap,而一个threadLocalMap中,有很多个Entry,Entry的键为ThreadLocal,值为Object,在使用threadLocal的get方法时会按照泛型进行类型转换。可以用一张图来形容他们的存储关系,Threadlocal模型:而我们在调用时,new了一个ThreadLocal,存入值时,实际上是构造了一个Entry,存进了ThreadLocalMap中,而获取
2022-04-24 15:07:29
343
原创 锁降级:写锁降级为读锁 —— 个人学习记录
java中写锁降级为读锁的实现与作用如何实现写锁降级:writeLock.lock();try{ try{ //修改操作 ...... readLock.lock(); }finally{ writeLock.unlock(); } //读取后操作 ...}finally{ readLock.unlock();}何时使用锁降级:我认为在当前线程修改后需要读这个值时,是需要使用锁降级的,因为如果一直使用写锁,那么即使当前线程修改结束,其他线程也无法读这个值。为什么不
2022-04-23 13:11:49
442
原创 你的nginx转发配置会影响其他服务吗?—— 工作问题总结
你的nginx转发配置会影响其他服务吗?在最近的工作中需要配置nginx转发,在配置时运维问了我一个问题:你这个nginx转发会影响其他服务吗?直接给我问懵了,对于nginx,确实近期没有排上学习日程,所以弱弱的问了一下,nginx加个转发配置不是只需要reload配置文件,并不需要restart重启服务嘛,怎么会影响其他服务呢?然后运维也没回答出个所以然之后偶然间看到了一个nginx问题的解决反馈,感觉很有可能是这个问题问题:在请求nginx时,出现高峰期时段大量请求异常的情况在排查后发现,是
2022-04-22 09:48:17
3739
原创 关于为什么在传输图片时使用Base64 —— 个人学习记录
为什么在传输图片时使用Base64传输今日在查看交接来的代码时,发现同时在传输图片时使用了Base64加密后传输因为http本身是可以正确传输二进制图片的,而我写的接口也是可以直接上传二进制图片,而在查看代码以及查找资料后发现,代码之中往下游服务传输图片时使用了JSON传输,而JSON是不能直接传输二进制的,所以需要转换成Base64这样的字符串形式,但Base64本身对于安全性其实没有太大的保证,但是加密快,这里主要是用来与JSON配合使用了。...
2022-04-21 17:28:02
1654
原创 文件太大导致jvm内存溢出,针对业务实现简易的大文件(txt)拆分执行功能
在日常完成业务过程中,出现了要在内存中操作很大的txt的需求,文件每行作为一条数据,但是由于数据量很大,不能一次性拉入内存中操作,但是又需要使用hashmap进行去重,于是借鉴hashmap的源码,编写了简易的大txt分桶执行操作。BufferedFactory(写入、写出流工厂类)/** * @author cliang.griffin * @description buffered工厂类 * @date 2021/12/2 */@Slf4jpublic class BufferedFac
2021-12-17 10:20:29
557
原创 spring-security安全框架认证功能三种实现方式
1.使用配置文件实现方式spring: security: user: name: admin password: 123 roles: admin在配置文件中加入以上配置便可实现(使用中文用户名无法识别)2.使用配置类来实现@Configurationpublic class MySecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private Pas
2021-08-14 16:05:48
404
原创 关于java中stream流的排序失效的记录
strings.parallelStream().filter(s -> s.length() != 2).map(s -> s + "w").sorted((x, y) -> y.length() - x.length()).collect(Collectors.joining(","));根据排序结果来看,不只是顺序没有按照传入的lambda表达式来排序,甚至每次排序结果都是不同的,后发现这里使用排序的话,就不可以使用并行流来进行操作,应当使用串行流。如下:strings.str
2021-08-05 10:50:54
2929
原创 java程序员对lambda表达式的理解
首先,lambda到底应不应该学,我认为这个问题其实没有回答。很多人会说lambda学了也不怎么用,可读性还差,但是其实至少一般的人是觉得lambda学的时候麻烦,或者有点不理解,懒得学吧,我这里的回答是,学了就算不用,但是学会某个技术肯定是没有坏处的。OK,我们来写一个例子。public static void main(String[] args) { ArrayList<Integer> integers = new ArrayList<>();
2021-08-04 16:33:19
329
原创 爬虫性质工作相关使用网站
工具地址:正则语法:https://tool.oschina.net/uploads/apidocs/jquery/regexp.htmljsonPath语法:https://blog.youkuaiyun.com/m0_38020436/article/details/94575584XPath语法:https://www.cnblogs.com/lone5wolf/p/10905339.html测试地址:正则:https://tool.oschina.net/regexjsonPath:http://w
2021-08-02 13:27:40
156
关于tidb查询无索引字段的问题
2022-06-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人