摘要: ## 1. 强引用 new 一个对象的时候,就是强引用 ```java Object object = new Object(); ``` 只要强引用存在,垃圾回收就不会回收该对象,内存不足时会抛出OOM。 ## 2. 软引用 定义:非必须,但仍有用的对象。内存不足时才会回收。 软引用的使用 ``` 阅读全文
posted @ 2022-03-15 16:46 护发师兄 阅读(327) 评论(0) 推荐(0) 编辑
摘要: Java - volatile 1. volatile的特性 可见性。对于 volatile 变量的读和写,任意线程总是能够看到该volatile变量最新的值。 原子性。对于 volatile 变量的读和写操作具有原子性。(复合操作除外,如:num++)。 2. volatile的内存语义 当写一个 阅读全文
posted @ 2022-03-15 16:24 护发师兄 阅读(44) 评论(0) 推荐(0) 编辑
摘要: Java - happens-before JSR-133对 happens-before 关系的定义如下: 如果一个操作 happens-before 另一个操作,那么第一个操作的执行结果将对第二个操作可见,而且第一个操作的执行顺序排在第二个操作之前。 两个操作之间存在 happens-befor 阅读全文
posted @ 2022-03-15 16:15 护发师兄 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 计算机网络 - 三次握手、四次挥手 都是四次挥手关闭链接时候的状态。 TIME_WAIT是主动关闭形成的。 CLOSE_WAIT是被动关闭形成的。 三次握手 四次挥手 阅读全文
posted @ 2022-03-15 16:06 护发师兄 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 消息队列 - 如何保证消息的顺序 拆分多个 queue,每个 queue 一个 consumer,就能确保消息的顺序。 阅读全文
posted @ 2022-03-15 12:51 护发师兄 阅读(93) 评论(0) 推荐(0) 编辑