摘要: 减小锁粒度:将Node链表的头节点作为锁,若在默认大小16情况下,将有16把锁,大大减小了锁竞争(上下文切换),就像开头所说,将串行的部分最大化缩小,在理想情况下线程的put操作都为并行操作。同时直接锁住头节点,保证了线程安全Unsafe的getObjectVolatile方法:此方法确保获取到的值 阅读全文
posted @ 2024-02-01 16:52 予真 阅读(24) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap是怎么做到线程安全的? get方法如何线程安全地获取key、value? put方法如何线程安全地设置key、value? size方法如果线程安全地获取容器容量? 底层数据结构扩容时如果保证线程安全? 初始化数据结构时如果保证线程安全?ConcurrentHash 阅读全文
posted @ 2024-02-01 16:49 予真 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 但是又为何需要学习ConcurrentHashMap?用不就完事了?我认为学习其源码有两个好处: 更灵活的运用ConcurrentHashMap 欣赏并发编程大师Doug Lea的作品,源码中有很多值得我们学习的并发思想,要意识到,线程安全不仅仅只是加锁ConcurrentHashMap是怎么做到线 阅读全文
posted @ 2024-02-01 16:40 予真 阅读(27) 评论(0) 推荐(0) 编辑
摘要: synchronized锁的都是对象,可以用在方法上,或者对象上。 阅读全文
posted @ 2024-02-01 16:28 予真 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 而在重写equals()方法时,总要重写hashCode()方法,原因总结下有以下两点:1.使用hashcode方法提前校验,可以避免每一次比对都调用equals方法,提高效率2.保证是同一个对象,如果重写了equals方法,而没有重写hashcode方法,会出现equals相等的对象,hashco 阅读全文
posted @ 2024-02-01 15:19 予真 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-02-01 15:01 予真 阅读(13) 评论(0) 推荐(0) 编辑
摘要: @Repeatable 是 Java 8 引入的一个元注解,用于标注某个注解可以在同一个声明上多次使用。@Repeatable 注解的值是一个容器注解,该容器注解内部定义了一个注解数组,用于存放多次使用的注解。@Repeatable 是 Java 8 引入的一个元注解,它允许同一个注解在同一声明上被 阅读全文
posted @ 2024-02-01 14:16 予真 阅读(54) 评论(0) 推荐(0) 编辑
摘要: Hive、Doris(之前称为 Apache Doris 或 Pala),和 Impala 是三种常用于大数据和分析领域的技术,它们各自有不同的特点和用途: Hive - 概述:Hive 是一个建立在 Hadoop 上的数据仓库工具,用于数据摘要、查询和分析。它将 SQL 查询转换为 MapRedu 阅读全文
posted @ 2024-02-01 13:55 予真 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 今天主要从以下几个方面来介绍一下@ComponentScan注解: @ComponentScan注解是什么 @ComponentScan注解的详细使用 1,@ComponentScan注解是什么 其实很简单,@ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spr 阅读全文
posted @ 2024-02-01 13:53 予真 阅读(44) 评论(0) 推荐(0) 编辑
摘要: hashCode 方法是 java.lang.Object 类的一个方法。在 Java 中,所有的类都直接或间接地继承自 Object 类,因此每个 Java 对象都继承了 hashCode 方法。这个方法用于返回对象的哈希码,是 Java 中实现哈希表的基础,如 HashMap、HashSet 等 阅读全文
posted @ 2024-02-01 11:53 予真 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 自动配置原理 (1)SpringBoot在SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件载入Spring容器中,进行自动配置。 (2) getSpringFactoriesInstances->loadFactoryNames 阅读全文
posted @ 2024-02-01 11:13 予真 阅读(9) 评论(0) 推荐(0) 编辑
摘要: (1)问:这里只讲一点,假如不需要SpringBoot自动配置,想关闭某一项自动配置,又该如何设置?(2)比如:此时你需要做一个短信验证码发送的微服务,但因为项目架构,不得已自动配置了数据源,此时需要去进行取消。(3)解决:使用主动类上@SpringBootApplication下的exclude参 阅读全文
posted @ 2024-02-01 11:07 予真 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-02-01 10:54 予真 阅读(1) 评论(0) 推荐(0) 编辑
摘要: @Import 注解是 Spring Framework 中的一个注解,用于在配置类中引入其他配置类或者普通的 Java 类。通过 @Import 注解,你可以将其他配置类或者普通类引入到当前的配置类中,从而实现配置的组合和模块化。 @Configuration @Import(OtherConfi 阅读全文
posted @ 2024-02-01 10:54 予真 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-02-01 10:40 予真 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-02-01 10:35 予真 阅读(1) 评论(0) 推荐(0) 编辑
摘要: META-INF/spring 目录通常用于存放 Spring 框架相关的配置文件。这个目录位于 Java 或 Spring 应用的类路径(classpath)中,使得 Spring 框架能够在应用启动时自动加载这些配置文件。在 Spring 应用中,META-INF/spring 目录可能包含以下 阅读全文
posted @ 2024-02-01 10:31 予真 阅读(643) 评论(0) 推荐(0) 编辑
摘要: @bean里面没有component @Bean 和 @Component 都是 Spring 框架中用于定义和注册 bean 的注解,但它们的使用场景和方式有所不同。 @Bean - @Bean 注解用在方法上,通常在配置类(带有 @Configuration 注解的类)中使用。- 它表示通过方法 阅读全文
posted @ 2024-02-01 10:18 予真 阅读(109) 评论(0) 推荐(0) 编辑
摘要: @controller @service @repository 下面都是@component注解 boolean proxyBeanMethods() default true; proxyBeanMethods 是 Spring Boot 中 @Configuration 注解的一个属性,用于控 阅读全文
posted @ 2024-02-01 10:16 予真 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 自动装配的流程(原理) 参考链接:https://blog.csdn.net/weixin_45764765/article/details/1102505311、main方法中SpringApplication.run(HelloBoot.class,args)的执行流程中有refreshCont 阅读全文
posted @ 2024-02-01 10:05 予真 阅读(173) 评论(0) 推荐(0) 编辑