- 博客(8)
- 收藏
- 关注
原创 @RequiredArgsConstructor 和 @Autowired 的区别
因此我们可以选择使用@RequiredArgsConstructor。这样使我们的代码更加简便,而且看起来顺眼多了。我们在idea里使用@Autowired注解的时候,会出现波浪线。虽然不影响项目的运行,但是看着非常碍眼。@Autowired注解的作用用于实现自动装配,将 Spring 容器中匹配的 Bean 注入到标注了。@RequiredArgsConstructor是一个Lombok提供的注解,用于自动生成构造函数。的字段、构造方法、或者 setter 方法中。
2024-01-22 16:36:31 943
原创 MySQL执行计划(explain)各个字段的含义
这也是一个重要的字段,MySQL 查询优化器根据统计信息,估算 SQL 要查到结果集需要扫描读取的数据行数,这个值非常直观显示 SQL 的效率好坏,原则上 rows 越少越好。:ref 列展示的就是与索引列作等值匹配的值,常见的有:const(常量),func,NULL,字段名。:查询的类型,根据关联、union、子查询等等分类,常见的查询类型有 SIMPLE、PRIMARY。:这一列显示 mysql 实际采用哪个索引来优化对该表的访问,判断索引是否失效的时候常用。:包含关于查询执行的额外信息。
2024-01-10 11:02:02 643
原创 Spring是如何创建一个bean对象的
这种方式产生的对象和bean对象是有区别的,bean对象多了依赖注入这一个步骤,其实就是给对象的属性进行赋值。单例池的作用是用来保证我们的单例bean的,产生的bean是存放在一个Map集合当中的(如果是多例直接返回给用户,不会放进单例池),Map<beanname,bean对象>。在java里面想要得到一个对象,是通过UserService--->无参构造方法--->对象的方式获取的。--->依赖注入--->初始化前--->初始化--->初始化后---->--->放入单例池Map-->对象。
2023-12-28 15:56:21 366 1
原创 单例模式中的双重检查锁
在多线程的情况下,这样写可能会导致有多个实例。比如下面这种情况,考虑有两个线程同时调用AABB可以看到,被实例化了两次并且被不同对象持有。完全违背了单例的初衷。
2023-10-30 21:28:43 63
原创 new String会创建几个对象
当一个字符串由多个字符串常量拼接时,它自己也肯定是一个字符串常量。编译器会对字符串常量的拼接进行优化,将其转化为一个字符串常量,然后将结果分配给变量。1、"abc"字符串常量对象,它存储在字符串常量池中,如果常量池中已经存在相同的字符串,就不会创建新的对象,直接将引用赋值给。"对象,通过"new"操作符显示创建对象,它存储在堆上。无论常量池中是否存在,都会创建一个新的对象。因为编译器可以在编译时确定它们的值,所以上述代码只会创建一个对象。
2023-10-09 12:58:15 154 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人