自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2022年软件测试面试题分享

测试理论基础类:熟悉常用的测试用例设计方法,如:等价类划分,边界值,正交表法,场景法,错误推断法,因果图法(这些方法是黑盒测试的).可以让对方针对其中的一两个方法举例说明.对于测试类型的了解:功能测试,性能测试,稳定性,压力,负载,安全性测试等.测试用例的基本格式是怎样的普遍的都会有:标题,预置条件,输入,执行步骤,预期结果.这几个项目测试结束的标准:用例全部测试,覆盖率达到标准,缺陷率达到标准,其他指标达到标准.综合方面:考核对方在设计测试用例时是否考虑的全面例:给一个水杯,

2021-05-14 23:32:55 2551 9

原创 2021复习笔记

多线程的实现方式,区别:实现Runnable,继承Thread,两者并没有什么实际区别,就算实现Runnable调用的时候还是需要new一个Thread,只不过实现Runnable更好,因为Java规定单继承多实现多线程的状态:新生,就绪,运行,阻塞,死亡多线程有几种同步方式:有很多种,但是我了解的有悲观锁synchronized(升亏奈斯特),还有乐观锁CASsynchronized(升亏奈斯特):java的一个关键字,每次只让一个线程操作共享资源CAS:比较并替换,但其实它是一个原子性的操

2021-03-24 17:08:24 111 1

原创 【数据库篇】MySql

SQL优化策略晚点整SQL的左连接,右连接,等值连接(Right Join)右连接where只影响左表。(Left Join)左连接where只影向右表。(Inner join)等值连接where只返回两个表中,联结字段相等的行。select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。简言之 Left Join影响到的是右边的表,右连接.

2020-12-11 23:19:07 140

原创 【分布式篇】分布式事务(3PC)

分布式系统如何保证事物(3PC,点我)第一阶段: 称为准备(prepare)阶段:协调者向所有参与者发送消息,准备提交所有参与者开始事务执行的准备工作:如:为资源上锁。如果事务的准备工作成功,则回应“可以提交”,否则回应“拒绝提交”。第二阶段: 称为提交(commit)/回滚(rollback)阶段:所有的参与者都回应“可以提交”,协调者向所有的参与者发送“正式提交”的命令。参与者完成正式提交,并释放所有资源,然后回应“完成”,协调者收集各个服务的“完成”回应后结束事务。如果.

2020-12-11 23:19:00 477

原创 【分布式篇】Redis缓存

和别的内存的框架比redis为什么快,底层实现Redis是纯内存数据库,Redis全程使用hash结构,hash查找可以达到每秒百万次的数量级采用单线程,避免多进程或者多线程导致的切换而消耗CPU,不用去考虑加锁释放锁各种锁的问题,不存在出现死锁而导致的性能消耗之所以Redis是单线程,是因为Redis的处理数据能力很快,瓶颈不是CPU而是机器内存或网络带宽,如果CPU真的成为瓶颈那么可以考虑redis-cluster集群(redis-cluster,点我看细节)。...

2020-12-11 23:18:48 87

原创 【框架篇】SpringMVC

SpringMVC流程客户端(浏览器)发送请求,直接请求到DispatcherServlet。DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Controller来处理请求和执行相对应的业务逻辑。处理器处理完业务后,会返回一个ModelAndView对象,去查找实际的View。把 View返回给请求者(浏览器)。...

2020-12-09 18:35:47 79 1

原创 【框架篇】Spring框架

Spring的IOC和AOPIOC:将对象之间的相互依赖关系交给IOC容器来管理,并由IOC容器完成对象的注入。这样可以很大程度上简化应用的开发,把应用从复杂的依赖关系中解放出来。IOC容器就像是一个工厂一样,当我们需要创建一个对象的时候,只需要配置好配置文件/注解即可,完全不用考虑对象是如何被创建出来的APO:能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如、日志管理、权限控制等)封装起来,便于减少重复代码,降低模块间的耦合度。AOP是基于动态代理.

2020-12-09 18:35:30 86

原创 【框架篇】mybatis框架

MyBatis流程读取MyBatis的配置文件。mybatis-config.xml用于配置数据库连接信息。可以加载多个配置了SQL语句的文件,每个文件对应数据库中的一张表。通过MyBatis的环境配置信息构建会话工厂创建SqlSession对象根据SqlSession传递的参数动态地生成需要执行的SQL语句。输出结果映射。MyBatis$和#的区别(#) 将传入的数据加一个双引号。(#) 方式能够很大程度防止sql注入。($) 方式无法防止Sql注入。.

2020-12-09 18:34:52 81

原创 【基础篇】常问基础知识

第一次在CSDN写博客,写的不好的可以在评论区吐槽,尽量给大家优化的通俗易懂~冒泡排序,点我看详情,时间复杂度O(n²)//外循环,直到循环完毕for(int i = 0; i < arr.length; i++) { //(j<arr.Length-i),避免无用的循环,已排序过的不再重复排序 for(int j = 0; j < arr.length-i; j++) { //比较大小并交换 if (arr[j] < arr[j+1]) { //定义.

2020-12-09 18:34:21 94

原创 【基础篇】集合

ArrayList,LinkedList的区别(都是效率高,非线程安全)ArrayList:底层结构数组,查询快,增删慢。(为什么数组增删慢?)LinkedList:底层结构链表,查询慢,增删快。(为什么链表增删快?)hashmap,Hashtabl,LinkedHashMap,ConcurrentHashMap的区别 + 底层实现Hashmap(底层数组 + 链表 + 红黑树(RBT))效率高,非同步,线程不安全,最多只一个键为Null;允许值为 Null。底层原理: Has.

2020-12-09 18:33:44 114 1

原创 【基础篇】自动拆箱 +自动装箱

什么是自动装箱拆箱简单一点说:装箱: 将基本类型转换为包装器类型。拆箱: 将包装器类型转换为基本类型。对于integer而言,有一个特殊的区间,范围是-128~127当我们调用Integer.valueOf(int i)的时候,如果 i 的值 >= -128 且 <=127 时,会直接从这个缓存中返回一个对象,否则就new一个Integer对象。代码演示:Integer a = 1;Integer b = 1;像这样赋值,在这个区间里面,ab都是同一个对象,即 =.

2020-12-09 18:33:17 118

原创 【框架篇】SpringBoot框架

什么是SpringBootSpringBoot:简省了spring繁锁的xml配置,它的约定大于配置,main方法运行,嵌入Tomcat那么SpringBoot中有哪些约定呢?Maven的目录结构。默认有resources文件夹,存放资源配置文件。默认的编译生成的类都在targe文件夹下面spring boot默认的配置文件必须是,也只能是application.命名的yml文件或者properties文件,且唯一。application.yml中默认属性。数据库连接信息必.

2020-12-09 18:32:17 103

原创 【框架篇】SpringCloud框架

什么是SpringCloudSpringCloud:离不开SpringBoot,属于依赖关系,关注全局的服务治理框架,为各个服务之间提供组件,配置管理、服务发现、断路器、路由、等集成服务。微服务之间是怎么调用的服务端需要把服务 注册在Eureka 上,客户端提供接口类,通过 @FeignClient发现 服务。springcloud组件: 断路器(也可以叫熔断器,点我了解)当一个服务调用另一个服务由于网络原因或自身原因出现问题,调用者就会等待被调用者的响应 当更多的服务请求.

2020-12-09 18:31:45 177

原创 【基础篇】多线程

多线程继承Thread类,或,实现Runnable接口至于哪个好,不用说一定是后者好,由于实现接口的方式比继承类的方式更灵活,也能减少程序之间的耦合度start()方法和run()方法的区别start()方法用来启动新创建的线程,被创建的线程状态变为可运行状态,当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动, 如果我们调用了Thread的run()方法,它的行为就会和普通的方法一样。多线程怎么防止死锁(首先要明白造成死锁的四个条件)互斥使用:一个.

2020-12-09 18:30:59 81

原创 【设计模式】单例模式

优点:由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁地创建、销毁时,单例模式的优势就非常明显。当一个对象的产生需要比较多的资源时,比如读取配置,则可以通过在应用启动时直接产生一个单例对象,然后用永久驻留内存的方式来解决。单例模式可以避免对资源的多重占用,例如一个写文件操作,由于只有一个实例存在内存中,避免对同一个资源文件的同时写操作。缺点:单例模式一般没有接口,扩展很困难,若要扩展,除了修改代码基本上没有第二种途径可以实现。单例对象如果持有Context,那么很容

2020-12-09 18:30:16 58

原创 卑微的程序猿之Java面试题

** 冒泡排序**int temp = 0;//外层循环控制排序趟数,n个数排序,只用进行n-1趟for(int i = 0; i < arr.length-1; i++) { //内层循环控制每一趟排序多少次,从第1位开始比较直到最后一个尚未归位的数 for(int j = 0; j < arr.length-i-1; j++) { //比较大小并交换 if (arr[j] < arr[j+1]) { temp = arr[j]; arr[j] = ar.

2020-05-20 17:05:21 459 2

空空如也

空空如也

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

TA关注的人

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