- 博客(18)
- 收藏
- 关注
原创 NRF52840 Dongle跑通Mesh Light例程记录
开发板:淘宝买的52840模块,应该是兼容官方的52840 dongle板子。使用NRF Connect SDK开发,需要准备一个调试器,官方VsCodeIDE扩展只支持JLink调试器,其他的调试器可以用OpenOCD。本人是个嵌入式小白,一共折腾了4天才跑起来,中间走了很多弯路,成功后才发现原来这么容易,都不需要改动代码,还是要好好看文档啊。。。
2023-03-14 19:42:56 1076
原创 SpringCloudGateway路由定义存至Mysql数据库
SpringCloudGateway默认根据配置文件或代码在启动时路由定义存在内存中,如果要修改路由配置,需要改动配置文件或代码后重启网关,十分不灵活。可以实现RouteDefinitionRepository接口,将路由配置保存至Mysql中。
2022-12-13 00:23:27 847 1
原创 SpringBoot Maven多模块项目配置文件加载
对于Maven多模块项目,想把SpringBoot的配置文件按模块拆分,各模块负责自己的配置,避免一个配置文件包含所有模块的配置。
2022-12-12 23:47:54 2731 1
原创 JDK源码阅读—AtomicInteger
AtomicInteger是JUC中提供了原子更新操作的一个Integer类,Java中i++(--)、++(--)i、i+=x、i-=x等都不是原子操作,多线程环境下需要加锁来保证数据的正确性,而AtomicInteger可以在不加锁的前提下确保上述操作的原子性,在高并发的场景下可以比加锁有更好的性能。
2021-04-18 18:04:04 154
原创 JDK源码阅读—TreeMap
TreeMap 底层基于红黑树实现,可保证在`log(n)`时间复杂度内完成 containsKey、get、put 和 remove 操作,效率很高。TreeMap中元素按照键的大小进行排序,所以键需要实现Comparable接口或传入一个自定义的比较器。TreeMap非线程安全,多线程建议使用ConcurrentSkipListMap代替。
2021-04-11 20:27:47 186 1
原创 JDK源码阅读—PriorityQueue
PriorityQueue是一个优先队列的实现,每次出队都会弹出最小或最大的元素,其底层数据结构为二叉堆,使用数组存放二叉堆的元素。
2021-04-01 22:33:42 124
原创 JDK源码阅读—ArrayDeque
双端队列的实现一般有链表和循环数组两种,ArrayDeque就是使用循环数组实现的双端队列,其内部维护着一个数组对象,并且当数组空间不足时,会自动扩容,容量变为原来的2倍。
2021-03-30 21:30:00 181
原创 JDK源码阅读—IdentityHashMap
HashMap是一个散列表,储存的元素为键值对(key-value),允许空值和空键,非线程安全,不能确保内部元素的顺序。与其他Map不同,IdentityHashMap对键使用引用相等的比较(==)而不是equals,所以它可以存放多个内容相同的键,只要这些键的引用不相同。
2021-03-26 07:35:11 334
原创 JDK源码阅读—WeakHashMap
WeakHashMap是一个散列表,储存的元素为key-value的键值对,键和值允许为null。与其他Map不同的是,WeakHashMap储存的是key的弱引用,当key没有其他引用时,GC后key会被回收,WeakHashMap会将其对应的键值对从Map中删除,这个特性使得WeakHashMap比较适合做缓存。
2021-03-24 21:02:12 195
原创 JDK源码阅读—LinkedHashMap
LinkedHashMap是一个散列表,储存的元素为键值对(key-value),允许空值和空键,非线程安全,实际上它在HashMap的基础上添加了一个双向链表用于保存遍历顺序,所以LinkedHashMap是一个有序集合。
2021-03-21 17:48:43 229
原创 JDK源码阅读—HashMap
HashMap是一个散列表,储存的元素为键值对(key-value),允许空值和空键,非线程安全,不能确保内部元素的顺序。底层数据结构为数组+链表(红黑树)
2021-03-18 22:12:47 135 1
原创 JDK源码阅读—LinkedList
LinkedList是List接口的另一种实现,其底层数据结构为双向链表,列表头尾操作元素很快,查询因为需要对链表进行遍历,速度较慢。以下分析基于corretto-1.8.0_282版本。
2021-03-15 22:44:21 211 1
原创 JDK源码阅读—ArrayList
ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。以下分析基于corretto-1.8.0_282版本
2021-03-14 21:20:40 127 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人