- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 java基础面试相关
java中多态的理解:当满足这三个条件 1.有继承 2. 有重写 3. 要有父类引用指向子类对象多态性使得能够利用同一类(父类)引用不同类的对象,以及根据所引用对象的不同,以不同的方式执行相同的操作。多态实现包括两种方式:重载和重写异常类:Error异常和Exception异常都继承于throwable异常类Error异常是系统异常(也叫做非检查异常,源码注释:That is, {@code Error} and its subclasses are regarded as uncheck
2021-11-18 22:47:48 360
原创 面试杂七杂八
java集合类:sql优化:(oracle)索引失效的原因:(没有where语句;使用is null或is not null;where语句中使用函数或不等于操作>=;使用like进行模糊查询;等于和范围索引不会合并使用;数据类型不匹配进行比较)如何修复索引失效:但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况:索引失效的原因1. 随着表的增长,where条件出来的数据太多,大于15%,使得索引失效(会导致CBO计算走索引花费大于走全表)2. 统计信
2021-11-18 22:46:59 500
原创 springboot面试相关
springboot面试题:事务机制: 事务的特性(ACID) 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。 一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。 隔离性(Isolation):可能有许多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。 持久性(Durabi
2021-11-18 22:46:13 218
原创 spring cloud面试题
spring cloud面试题:维度(springcloud)服务开发:springboot spring springmvc服务配置与管理:Netfix公司的Archaiusm ,阿里的Diamond服务注册与发现:Eureka,Zookeeper服务调用:Rest RPC gRpc+服务熔断器:Hystrix服务负载均衡:Ribbon Nginx服务接口调用:Fegin消息队列:Kafka Rabbitmq activemq服务配置中心管理:SpringCloudConfig服务路
2021-11-18 22:45:26 350
原创 redis面试题
redis面试题:1、Redis 持久化机制Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。 实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。RDB:是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬
2021-11-18 22:44:13 68
原创 mybatis相关
mybatis面试汇总:jdbc通过参数绑定的形式防止sql注入mybatis1、#{}和${}的区别: #{} 占位符:预编译,参数占位符 ?,防止sql注入 ${} 拼接符:编译,字符串拼接 注意事项: order by 和 like 在使用时只能使用$()拼接符: 用 #{}会导致sql语句中多个 ’ ’ ,sql语句失效. limit可以使用#{}2、当实体类中的属性名和表中的字段名不一样 , 第1种: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名
2021-11-18 22:43:37 332
原创 线程面试题
线程面试题:private static ExecutorService executor = new ThreadPoolExecutor(10, 10, 60L, TimeUnit.SECONDS, new ArrayBlockingQueue(10));corePoolSize:核心线程数量,会一直存在,除非allowCoreThreadTimeOut设置为truemaximumPoolSize:线程池允许的最大线程池数量keepAliveTime:线程数量超过corePo
2021-11-18 22:43:07 171
原创 锁-面试准备
一:锁是什么,有什么用?锁主要用来实现资源共享的同步。只有获取到了锁才能访问该同步代码,否则等待其他线程使用结束释放锁。二:有哪几种锁?这里主要针对:synchronize和Lock(因为面试就是问这两个)。synchronize: 可以放在方法前面;也可以放在代码块前面,但需要指定上锁的对象。通常和wait,notify,notifyAll一块使用。wait:释放占有的对象锁,释放CPU。 sleep:则是释放CPU,但是不释放占有的对象锁。notify:唤醒等待队列中的一个线程,使其获得锁进
2021-11-18 22:42:29 72
原创 数组作为参数传递问题记录
数组参数题记:在刷算法题时,发现在将数组做为参数传递后,在方法内对该数组参数进行重新赋值,只在该方法内部生效。执行完方法后,传入的数组参数并未发生改变。原因分析:在java中,不论选择值传递还是地址传递各个参数,基本类型总是按值传递。对于对象来说,是将对象的引用也就是副本传递给了方法,在方法中只有对对象进行修改才能影响该对象的值,操作对象的引用时是无法影响对象。实例分析:reOrderArray(int [] array)方法对数组参数的引用进行了修改reOrderArray3(int
2020-05-18 23:57:49 277 1
原创 mybatis的$()和#()
关于mybatis的$()和#()#{}和${}的区别:#{}#{} 占位符:预编译,参数占位符 ?,防止sql注入${}${} 拼接符:编译,字符串拼接注意事项:order by 和 limit 和 like 的使用order by 和 like 在使用时只能使用$()拼接符:用 #{}会导致sql语句中多个 ’ ’ ,sql语句失效.limit可以使用#{}示例://mapper.xml文件<mapper namespace="com.example.map
2020-05-17 11:30:57 834 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人