![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 70
Coder码匠
动静相宜,张弛有度
展开
-
既保证异步消费 ,又保证顺序消费的mq消费方案
从MQ的角度保证顺序,需要保证 生产者-消息队列-消费者 都是一对一的关系;从业务的角度保证顺序,需要在生产消息时指定消息的顺序,消费者再根据消息的顺序,按序消费原创 2023-05-24 22:14:45 · 345 阅读 · 0 评论 -
为什么双重校验锁(DCL) 还需要 volatile (内存屏障)来保证有序性?
为什么双重校验锁(DCL) 还需要 volatile (内存屏障)来保证有序性 ?原创 2023-05-19 20:52:27 · 177 阅读 · 0 评论 -
如何证明 Java 代码的重排序
为了提高程序的执行性能和编译性能,计算机和编译器可能会修改程序的执行顺序;修改后在单线程情况下,能保证程序正常运行。以上代码,如果执行顺序与编码顺序一致,就不可能出现 x、y 同时 为0的情况;重排序是指,代码的执行没有按照开发者的编码顺序执行。原创 2023-05-11 21:36:19 · 114 阅读 · 0 评论 -
实践-利用反射和泛型优化简单工厂
实践-利用反射和泛型优化简单工厂原创 2022-07-16 17:49:34 · 151 阅读 · 0 评论 -
Java 为什么不是引用传递
一、基本数据类型基本数据类型:调用 modify() 方法时,是从 实参 拷贝了一份数据 给形参;修改 形参 对 实参没有任何影响import lombok.Data;import lombok.experimental.Accessors;public class TransferTest{ public static void main(String[] args) { testInt(); } private static void testInt(原创 2021-06-21 17:01:31 · 253 阅读 · 0 评论 -
从IDEA 图标中 探索 Property 和 Field 的区别
缘起在用 IDEA 查看源码,通过 structre 窗口查看类结构时;猜测图标p 为成员变量; m为成员方法;f 就不清楚了而后百度之,得 f 为 field 的缩写;P 为 property 的缩写之所以没想到 f 是field ;是因为在我印象中 ,property 和 field 都是指成员变量;没想到 idea 对此有所区分此时想到,才工作时,和一个C#的同时讨论,他说属性和字段是区别的属性是外部可以通过setter 或 getter 访问 成员变量的字段没原创 2021-05-29 15:52:34 · 1502 阅读 · 4 评论 -
Java数据类型和自动拆箱
Java数据类型和自动拆箱文章目录Java数据类型和自动拆箱愚见Java 数据类型前置知识点instanceof 判断变量类型封装类型的equals()方法自动拆箱拆箱装箱原理封装类型常见比较引用愚见整型 默认类型为 int浮点型 默认类型为 double在混合多种数据类型的表达式中,类型会向容量大的值的数据类型提升long + int/shot/byte = longshot/byte + shot/byte = intfloat + float = floatfloat/dou原创 2021-02-06 15:18:34 · 317 阅读 · 2 评论 -
新建并启动线程的四种方式
新建并启动线程的4种方式愚见1、继承Thread2、实现Runnable接口3、匿名类实现Runnable4、lambda表达式愚见Thread类实现了Runnable接口所有新建方式都与Thread对象有关所有的线程启动方式都是Thread.start()方法Thread.run()为线程执行的方法,Thread.start()为线程启动的方法;线程启动后会自动调用run();public class Thread implements Runnable { public Th原创 2020-05-14 21:28:33 · 167 阅读 · 0 评论