自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 测试用例优先级的划分标准

使用风险分析来确定潜在的问题领域,根据问题的发生概率和影响严重程度来划分优先级。

2024-10-28 09:46:39 391

原创 软件测试面试

用户使用的案例执行测试的用户案例英文:Test Case说明:场景法也可以叫做流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用测试人员角度:平时测试的都是当功能点进行测试,容易忽略多个功能的组合测试。

2024-10-16 20:33:12 1113

原创 spring面试题答案--spring是如何解决Bean的循环依赖

多例bean不会使用三级缓存,spring无法解决。二级缓存:避免多重循环依赖的情况下重复创建动态代理。一级缓存:存储完整的bean。采用三级缓存(三个map)解决多例bean的循环依赖。二级缓存能不能解决循环。

2024-10-10 15:21:18 187

原创 spring面试题答案--bean的生命周期

bean的生命周期:指的就是Bean从创建到销毁的过程。

2024-10-10 14:22:59 362

原创 spring面试题答案--Spring在加载过程中Bean有哪几种形态

成熟态:属性注入成为成熟态,加入到单例池(一级缓存),也就是最后使用的bean。定义态:在spring容器加载的过程中由概念态转变成定义态。纯静态:刚被实例化的,存在二级缓存中后续解决循环依赖。概念态:bean的配置形态。

2024-10-10 14:06:57 141

原创 spring面试题答案--Bean有哪些生命周期回调方法?有哪几种实现方法?

生命周期回调方法主要分两种:一种是在初始化的时候调用,一种是在销毁的时候调用。

2024-10-10 13:58:21 242

原创 MyBatis面试题题库及答案

JDBC(java data base connection ,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO(普通老式Java对象)为数据库中的记录。DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。

2024-10-10 13:33:44 898

原创 spring面试题答案--自动装配的方式有哪些

autodetect:自动探测,如果有构造方法,通过construct的方式自动装配,否则使用byType的自动装配,spring3.0后被弃用。no:默认的方式是不进行自动装配,通过手工设置ref属性来进行装配bean;byName: 通过bean的名称进行自动装配,如果一个bean的property与另一个bean的name相同,就进行自动装配。constructor:利用构造函数进行装配,并且构造函数的参数通过byType进行装配。byType:通过参数的数据类型进行自动装配。

2024-10-09 09:05:44 282

原创 spring面试题答案--自动注入有什么限制

重写:仍可以使用<constructor-arg>和<property>配置来定义依赖,这些配置将始终覆盖自动注入。所以更推荐使用手动装配@Autowired ref=""先根据类型再根据名字这种方式。基本数据类型:不能自动装配简单的属性,如基本数据类型、字符串和类。模糊特性:自动装配不如显式装配精确,如果有可能尽量使用显示装配。一定要声明set方法。

2024-10-09 09:03:00 571

原创 spring面试题答案--什么是bean装配,什么是bean的自动装配?/什么是注入,什么是自动注入

bean的装配是指在xml文件的<bean></bean>标签中使用<property>指定对应的一个引用的bean。自动装配就是说@Autowired。

2024-10-09 09:00:29 281

原创 spring面试题答案--spring实例化bean有几种方式

1.构造器方式(反射):xml(<bean class="com.tuling.user"></bean>),@Component通过反射的方式将类路径传递到BeanDefinition.beanClass。spring实例化的时候就会调用factory-method指向的createPersonFacory方法(在Person类中编译的静态方法)进行实例化。3.实例工厂(@Bean):factory-bean+factory-method。spring在实例化的时候调用指定的bean里的指定方法。

2024-10-09 08:59:32 410

原创 spring面试题答案--spring如何处理线程并发问题

2.将成员变量放到本地线程ThreadLocal中(ThreadLocal<String> name=new ThreadLocal<>())3.同步锁synchronized,会影响服务器的吞吐量。1.声明为多例@Scop("prototype")

2024-10-09 08:55:07 99

原创 spring面试题答案--spring的bean是线程安全的吗

如果在类中声明成员变量,并且有读写操作(有状态),就会线程不安全。但是只需要把成员变量声明在方法中成为局部变量,单例bean就是线程安全的。

2024-10-08 16:49:03 100

原创 spring面试题答案---单例Bean/单例的设计模式的优势

单例:对象只会创建一次。

2024-10-08 16:42:02 154

原创 spring面试题答案--解释Spring支持的几种bean的作用域

singleton:bean在每个Spring IOC容器中只有一个实例 prototype:一个bean的定义可以有多个实例 request:每次http请求都会创建一个bean,该作用域仅在基于web的Spring ApplicationContext情形下有效 session:在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效 application:一个全局应用共享一个对象

2024-10-08 16:29:47 114

原创 spring面试题答案---配置Bean有哪几种方式

2.通过注解@Component(@Controller @Service @Repostory);前提是配置扫描包<component-scan>,底层使用反射调用构造方法。3.javaConfig:@Bean,标注在方法上,可以自己控制实例化过程。1.xml配置文件中定义<bean>

2024-10-08 16:19:47 92

原创 spring面试题答案--什么是Bean,和对象的区别

Bean:由spring IOC容器管理的对象,bean是由IOC容器实例化、组装和管理的对象。对象:bean也是一个对象,javaBean是new创建的。

2024-10-08 16:12:44 111

原创 spring面试题答案--Spring IOC容器的加载过程

在xml中定义bean的基本信息--(调用bean工厂的后置处理器,对外扩展对内解耦)-->将定义信息注册到BeanDefinition----->用BeanFactory生产bean----->依赖注入使用bean。

2024-10-08 15:41:31 224

原创 spring面试题答案--BeanFactory和ApplicationContext有什么区别?

区别:ApplicationContext实现了BeanFactory,不生产bean而是通知BeanFactory生产bean,ApplicationContext里的getBean()是一个门面方法。相当于4S店和工厂之间的关系;BeanFactory用于生产bean ApplicationContext会将配置的Bean自动注册为BeanDefinition;而BeanFactory需要手动注册 ApplicationContext能加载环境变量,支持多语言,实现事件监听,注册很多对外扩展

2024-10-08 15:04:40 205

原创 spring面试题答案--BeanDefinition的作用

主要负责存储Bean的定义信息:决定Bean的生产方式。

2024-10-08 14:42:48 85

原创 spring面试题答案--BeanFactory的作用

实现了简单的工厂设计模式。

2024-10-08 14:29:53 193

原创 spring面试题答案--紧耦合和松耦合有什么区别?如何编写松耦合的代码?

松耦合是通过促进单一职责和接口分离、依赖倒置的设计原则来实现。紧密耦合是指类之间高度依赖(通过new创建对象)

2024-10-08 14:12:37 89

原创 spring面试题答案--IOC和DI的区别是什么

DI:实现控制反转,从IOC容器中通过依赖注入实现。IOC:控制反转,控制对象的创建。

2024-10-08 13:59:04 114

原创 spring面试题答案--Spring IOC的实现机制是什么

简单工厂:设计模式,通过一个方法传入一个标识,生产对应对象。反射:根据类路径创建类对象。

2024-10-08 13:49:23 113

原创 spring面试题答案--什么是Spring IOC容器?有什么用?优点是什么?

IOC:控制反转,将创建对象的控制权交给Spring的IOC。以前由程序员自己控制对象创建,现在交给spring的IOC去创建,如果要去使用需要通过DI(依赖注入)@Autowired。优点:集中管理对象,方便维护;

2024-10-08 13:39:35 236

原创 Spring面试题答案--Spring的优缺点是什么?

1.方便解耦,简化开发ICO集中管理对象,对象和对象之间的耦合度降低,方便维护对象。2.AOP编程的支持在不修改代码的情况下可以对业务代码进行增强,减少重复代码的编写,提高开发效率,方便维护3.声明式事务的支持只需要一个简单注解@Transactional,提高开发效率4.方便程序测试spring实现了测试,可以结合junit非常方便测试springBean,springMVC5.方便集成各种优秀框架。

2024-10-08 12:03:10 272

原创 Spring面试题答案--谈谈你理解的Spring

spring是一个生态,可以构建java应用所需的一切基础设施。通常Spring指的就是Spring Framework。

2024-10-08 11:39:58 171

原创 JAV面试题答案——红黑树怎么保持平衡的

旋转操作是红黑树维持平衡的主要手段之一,它包括左旋和右旋两种基本操作。旋转操作通常在插入和删除操作中使用,以确保树的性质得以维护。红黑树根据规则通过旋转和节点染色这两种方式来保持平衡,这些操作是红黑树维持平衡的关键部分。

2024-10-07 00:13:22 239

原创 JAVA面试题答案——说一下对红黑树的理解,为什么不用二叉树或平衡树

红黑树本质上是一种二叉查找树,在二叉查找树的基础上,引入了额外的规则,以保持平衡。

2024-10-07 00:03:06 233

原创 JAVA面试题答案——说一下HashMap的数据结构

HashMap的内部实现使用了哈希表和链表结合的方式,称为链-桶方法或链式哈希具体来说,就是在它的内部维护了一个存储链表的一个数组,他的每一个节点都可以存储一个链表;这个链表存储时会进行哈希值计算,当出现相同的哈希值时,也就是哈希碰撞,那么就会将相同的元素存储到同一个节点,这样就形成了一个链表。当这个链表的长度大于八,并且大小大于64的时候,那么链表就会转换为红黑树。所以说单个节点里,他可能是链表,也有可能是红黑树,这取决于里面的元素数量。当红黑树的节点,小于六时就会再退化为链表结构。

2024-10-06 23:44:57 237

原创 JAVA面试题答案——CopyOnWriteArrayList了解多少

CopyOnWriteArrayList是JAVA并发包中的一种线程安全的列表实现。它主要的特点是在进行写操作时不会直接在原有的数据上进行操作,而是创建一个新的副本,然后在副本上进行写操作,这意味着读操作不会被阻塞,可以在读操作和写操操作同时进行。

2024-10-06 23:01:18 289

原创 JAVA面试题答案——怎么保证ArrayList线程安全

在JAVA中保证ArrayList线程安全的方法如下。3.使用线程安全的替代类。5.使用自定义同步机制。

2024-10-06 21:18:08 298

原创 JAVA面试题答案——什么是快速失败(fail-fast)和安全失败(fail-safe)

快速失败和安全失败是两种处理并发,集合操作的不同策略。

2024-10-06 21:04:10 239

原创 JAVA面试题答案——ArrayList中为什么要用transient修饰数组

ArrayList中使用transient关键字修饰数组elementDate是为了控制对象的序列化过程,以提高性能和节省储存空间;ArrayList使用transient关键字修饰成员变量时,该成员变量不会参与序列化,反序列化过程。

2024-10-06 19:34:22 379

原创 Java 并发面试题题库

目录 多线程基础1. 线程和进程有什么区别?2. 创建线程的三种方式的对比?3. 为什么要使用多线程呢?4. 线程的状态流转5. 什么是线程死锁?如何避免死锁? 死锁 死锁必须具备以下四个条件: 如何避免线程死锁?6. 常见的对比 Runnable VS Callable shutdown() VS shutdownNow() isTerminated() VS isShutdown()7. sleep() 方法和 wait() 方法区别和共同点? 区别 相同8.为什么我们调用 start() 方法时会执行

2024-10-05 17:07:42 349

原创 Redis 面试题题库

目录概述1. Redis是什么?简述它的优缺点?2. Redis为什么这么快?3. Redis相比Memcached有哪些优势?4. 为什么要用 Redis 做缓存?5. 为什么要用 Redis 而不用 map/guava 做缓存?6. Redis的常用场景有哪些?7. Redis的数据类型有哪些?持久化1. Redis持久化机制?2. 如何选择合适的持久化方式3. Redis持久化数据和缓存怎么做扩容?过期键的删除策略、淘汰策略1. Redis过期键的删除策略2. Redis key的过期时间和永久有效分

2024-10-05 17:00:23 632

原创 MySQL面试题题库

索引1. 索引是什么?2. 索引有哪些优缺点?3. MySQL有哪几种索引类型?4. 说一说索引的底层实现?5. 为什么索引结构默认使用B+Tree,而不是B-Tree,Hash,二叉树,红黑树?6. 讲一讲聚簇索引与非聚簇索引?7. 非聚簇索引一定会回表查询吗?8. 联合索引是什么?为什么需要注意联合索引中的顺序?9. 讲一讲MySQL的最左前缀原则?10. 讲一讲前缀索引?11. 了解索引下推吗?12. 怎么查看MySQL语句有没有用到索引?13. 为

2024-10-05 16:51:08 809

原创 JVM面试题题库

目录 1. 什么是JVM内存结构?2. 什么是JVM内存模型?3. heap 和stack 有什么区别?4. 什么情况下会发生栈内存溢出?5. 谈谈对 OOM 的认识?如何排查 OOM 的问题?6. 谈谈 JVM 中的常量池?7. 如何判断一个对象是否存活?8. 强引用、软引用、弱引用、虚引用是什么,有什么区别?9. 被引用的对象就一定能存活吗?10. Java中的垃圾回收算法有哪些?11. 有哪几种垃圾回收器,各自的优缺点是什么?12. 详细说一下CMS的回收过程?CMS的问题是什么?13. 详细说一下G

2024-10-05 16:39:23 194

原创 java集合面试题题库

目录1. 常见的集合有哪些?2. 线程安全的集合有哪些?线程不安全的呢?3. Arraylist与 LinkedList 异同点?4. ArrayList 与 Vector 区别?5. 说一说ArrayList 的扩容机制?6. Array 和 ArrayList 有什么区别?什么时候该应 Array 而不是 ArrayList 呢?7. HashMap的底层数据结构是什么?8. 解决hash冲突的办法有哪些?HashMap用的哪种?9. 为什么在解决 hash 冲突的时候,不直接用红黑树?而选择先用链表,

2024-10-05 16:36:11 309

原创 java面试题答案-- 说一说ArrayList 的扩容机制

ArrayList扩容的本质就是计算出新的扩容数组的size后实例化,并将原有数组内容复制到新数组中去。默认情况下,新的容量会是原容量的 1.5 倍。

2024-10-05 16:27:25 260

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除