java面试
java面试相关文章
金木木V
这个作者很懒,什么都没留下…
展开
-
spring创建bean流程 (Spring源码03) spring bean的生命周期
1.实例化对象======= 在堆中为对象开辟空间2.初始化对象 步骤如下: 2.0 填充属性 === set方法 2.1 执行 aware接口的方法 如何理解 aware接口:从用户的角度出发,容器里的对象分为两种:1.容器本身的对象比如:beanfactiry applicationcontext 对象 2.用户自定义的对象。 那么用户自定义的对象如何获取到容器本身的对象呢?只需要实现相应的aware接口即可。比如在user类...原创 2021-11-12 11:05:32 · 53 阅读 · 0 评论 -
如何了解spring boot中的starter?
spring boot中的starter就是一个jar包,一个功能环境包,里面有相关功能的相关对象,当项目启动时 会从这些starter的mate-info的spring.factorys文件初始化这些包,常见的有springboot-starter- redisspringboot-starter- mybatis等 与redis相关的环境对象都在springboot-starter- redis中...原创 2022-01-19 17:00:10 · 871 阅读 · 0 评论 -
spring支持的bean的作用域
spring支持的bean的作用域有以下几种:1.singlebean:单例,使用这个属性时,每次使用的bean都是同一个对象2.prototype 原型 容器可以创建多个实例,容器每一次返回的都是同一个实例3.request:针对于web应用 每一个http请求 会返回同一个对象适用于webapplicationcontext环境4.session 适用于httpsession 对象每一次会话公用同一个bean实例5 glorble-session 不同的session使用相同的实例原创 2022-01-19 16:23:58 · 220 阅读 · 0 评论 -
Spring的事务传播机制
Spring的事务传播: 当不同的事务方法进行相互调用时,spring是如何进行传播的,spring定义了7种传播特性来保证事务的正常执行:假定 A类有一个方法a a方法中调用了 B类中的b方法。1.REQUIRED: b方法在执行的时候 如果a方法有事务,则b按照a方法的事务执行,如果a方法没有事务,b方法新建一个事务2.Support: b方法在执行的时候 如果a方法有事务,则b按照a方法的事务执行,如果a方法没有事务,b方法则按无事务执行。3.REQUIRED_NEW,b方法在执行的时原创 2022-01-19 12:13:43 · 474 阅读 · 0 评论 -
springboot的自动装配
SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值 将这些值作为自动配置类导入容器 , 自动配置类就生效 , 帮我们进行自动配置工作; 整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中; 它会给容器中导入非常多的自动配置类 (xxxAutoConfiguration), 就是给容器中导入这个场景需要的所有组件 , 并配置好这些组件 ; 有了自动配原创 2022-01-17 18:08:29 · 213 阅读 · 0 评论 -
spring的自动装配
spring的自动配置是对类属性的自动配置,public class User {private Cat cat;private Dog dog;private String name;}<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001...原创 2022-01-17 11:57:02 · 335 阅读 · 0 评论 -
mysql为什么要主从同步
这个问题可以当成 为什么要有多台mysql数据库来回答1.读写分离,主库写,分库读,当一个写操作对数据库上锁了,可以读分库的数据,不耽误业务的正常运转。2.数据的热备,当一些特殊场景,比如系统搞活动的时候,访问量很大,一台mysql服务器扛不住,宕机的时候可以连接备份服务器保证业务正常进行3.业务量越来越大 i/o访问过高 一台服务器无法满足...原创 2022-01-15 11:12:36 · 543 阅读 · 0 评论 -
mysql索引
索引是什么?索引是mysql对数据库表的一列或者多列的值进行排序的一种数据结构。类似于字典索引的本质就是缩小检索范围索引的用途:可以大大的提高查询速度索引的优缺点?优点:1.索引大大的提高了数据检索速度,这也是建立索引的原因,2.将随机io变成顺序io3.索引可以帮助系统避免排序和创建临时表(orderby 是要创建临时表的)假定索引是(city,username) 只要保证city这个索引上取出来的行天然就是按照name递增排序的话,就可以不用再排序了。缺点:1.索原创 2022-01-14 12:12:14 · 276 阅读 · 0 评论 -
hashmap怎么保证线程安全的方式
hashmap可以通过 Collections.synchronizedMap()获取一个线程安全的hashmap代码如下: HashMap hashMap=new HashMap();Map<Object, Object> map=Collections.synchronizedMap(hashMap);map.put("name","liliheng");System.out.println(map.get("name"));优点:Collections.synchr原创 2022-01-11 17:15:01 · 6414 阅读 · 0 评论 -
beanfactory和Applicationcontext的区别
首先说相同点 三大相同点:beanfactory和Applicationcontext都是spring的ioc容器,Applicationcontext和beanfactory都是接口Applicationcontext继承beanfactory接口他们都可以通过xml的方式进行属性赋值都支持属性的自动注入@Value("zhangsan")注解他们都提供了 getBean(“bean name”)方法不同点:beanfactory只有在调用getBean()方法的时候才会实例化对象,.原创 2022-01-11 16:27:38 · 292 阅读 · 0 评论 -
数据库事务特性 ACID
A:原子性:一个事务可能会执行多个sql语句, 由uodolog保证 uodolog记录着需要回滚的sql语句,当事务发生回滚的时候,原先执行过的sql语句要撤销C:一致性,业务的一致性,要符合业务逻辑,比如 张三给李四打钱100块 张三的账号余额要-100 李四的账户余额要+100 一致性由其他三大特性保证I:隔离性,事务与事务之间是相互隔离的互不干扰的 由mvcc保证D:持久性:数据库的数据是保存到磁盘里,每一次操作都是持久的更改, 由redolog保证即便数据没有保存成功,redolo原创 2022-01-11 11:03:02 · 173 阅读 · 0 评论 -
hashmap与hashtable的区别
首先hashmap与hashtable都实现了map接口,但是hashtable是线程安全的(很多方法加了锁这个关键字)低效率的 hashmap是线程不安全的 高效率的hashtable不允许key value有空值 hashmap允许有一个空值key value可以为多个空hashtable的扩容策略是2*old+1 默认大小是11 (算法导论建议是奇数) hashmap默认大小是16 扩容策略是2的指数级两者继承的类不同 hashmap的父类是Abstrictmap类 hashtable是D原创 2022-01-11 17:04:50 · 153 阅读 · 0 评论