学习笔记
文章平均质量分 80
Nikola TesIa
这个作者很懒,什么都没留下…
展开
-
word转PDF工具(自用)
下载本地直接打包就可使用。目前只是自己使用过程中写的自用小工具,支持word转pdf、pdf转png两种。原创 2023-03-23 09:34:00 · 192 阅读 · 0 评论 -
RocketMQ可视化部署(单机部署案例)
单机部署以及生产者和消费者案例成功,几乎不用做任何改动。RocketMQ强大之处还有一个可视化管理界面——RocketMQ-Dashboard。修改Topic中配置读/写queueNum,默认一个topic轮训写到四个queue。我的是windows本地启动,Win+R 输入cmd 打开cmd命令窗口。克隆到本地,然后进入dashboard目录直接使用mvn打包。消费者消费消息,一个topic有4个queueId。消费者消费消息:一个消费者消费一个queue。windows启动需配置环境变量。原创 2023-03-22 15:17:07 · 674 阅读 · 0 评论 -
Volatile关键字底层Lock指令和内存屏障简单介绍
对Volatile关键字修饰的变量,执行写操作的时候,Jvm会发送一条lock前缀指令给CPU,CPU在操作完这个变量后会立即把这个值写会主存中,同时有MESI缓存一致性协议,所以各个CPU都会对总线进行嗅探,感知自己本地高速缓存区中的数据是否被其他线程修改过。如果发现本地缓存的数据被其他线程修改,那么本地高速缓存区与主存中不一致的数据当做过期的值并清理掉。然后再从主存内中重新加载最新的数据原创 2022-12-07 18:41:57 · 1092 阅读 · 0 评论 -
CPU缓存模型、内存模型、Volatile关键字作用以及Volatile关键字为什么不保证原子性简易图
cpu缓存模型、Volatile关键字的作用原创 2022-12-02 18:40:07 · 569 阅读 · 1 评论 -
LinkedList源码学习笔记
LinkedList集合的源码学习笔记原创 2022-11-14 18:40:23 · 420 阅读 · 0 评论 -
ArrayList源码笔记记录
该数组中index=2+1之后的元素往前挪,并且原先旧数组中index=2+1的元素在新数组中的位置应该是index=2)当list增加元素时先判断当前个数是否大于等于10,如果大于等于,对数据进行扩容,然后将老数据拷贝到扩容后的新数组中。原来在index+1位置元素的拷贝到新数组中下标为index。size-1的元素设置null值,并返回被移除的数据。原创 2022-11-11 17:26:55 · 127 阅读 · 0 评论 -
Java8新特性 Lambda表达式
函数接口是只有一个抽象方法的接口,用作 Lambda 表达式的类型。使用@FunctionalInterface注解修饰的类,编译器会检测该类是否只有一个抽象方法或接口,否则,会报错。可以有多个默认方法,静态方法。本篇主要从实际使用讲述了常用的方法及流,使用java8可以很清晰表达你要做什么,代码也很简洁。本篇例子主要是为了讲解较为简单,大家可以去使用java8重构自己现有的代码,自行领会lambda的奥妙。本文说的Stream要组合使用才会发挥更大的功能,链式调用很迷人,根据自己的业务去做吧。转载 2022-09-27 16:51:10 · 177 阅读 · 0 评论 -
java开发for循环优化原则
场景 : 最近,有客户反应某些功能执行得很慢,我们于是对代码日志进行了定位,我们的系统架构是nginx+tomcat; 我们可以直接定位到tomcat的catalina日志,但是后来吧,我们这边统一要整理响应时间超过5S以上的,对这些都要进行整改;所以我们先直接分析nginx的日志文件,查看请求跟响应超过5S以上的统计出来,然后在tomcat的日志当中定位这些请求,查找到具体的时间,以及上下文,最后我们定位到某个方法执行超过一些时间的。现在,我们抛开掉业务场景原创 2022-09-15 17:33:06 · 3235 阅读 · 0 评论 -
OAuth2框架学习笔记
OAuth2授权码模式转载 2022-06-08 15:33:23 · 155 阅读 · 0 评论 -
Spring Data Jpa相关接口的简单使用
Jpa相关接口的快速使用原创 2022-06-08 14:27:13 · 162 阅读 · 0 评论