- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 SpringMVC面试题 29道
线程安全,可以设计为单例或者多例的开发,推荐使用单例模式的开发(执行效率更高),默认就。是一种设计模式(设计模式就是日常开发中编写代码的一种好的方法和经验的总结)。分层设计,实现了业务系统各个组件之间的解耦,有利于业务系统的可扩展性,可维护性。是一个用来处理请求地址映射的注解,可用于类或方法上。是通过类的成员变量接收请求的参数,是基于类的开发,线程不安全,处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了。映射的注解,可用于类或方法上。是使用方法的形参接收请求的参数,基于方法的开发,
2023-05-08 14:04:22 283
原创 Spring面试题 75道
性 值 或 通 过 自 动 装 配 , 若 @Required 注 解 的 bean 属 性 未 被 设 置 , 容 器 将 抛 出。的 对 象 上 执 行 的 那 些 不 得 不 由 bean 工 厂 以 程 序 化 方 式 处 理 的 操 作 , 可 以 在。如 果 bean 实 现 了 BeanNameAware 接 口 , Spring 传 递 bean 的 ID 到。定义 inner bean,在 Spring 的 基于 XML 的 配置元数据中,可以在 <property/>
2023-05-08 14:03:20 279
原创 Mybatis面试题(含答案)
在 Mybatis 中,每一个<select>、<insert>、<update>、<delete>Mybatis 在处理#{}时,会将 sql 中的#{}替换为?器方法,比如调用 a.getB().getName(),拦截器 invoke()方法发现 a.getB()是 null。用 a.setB(b),于是 a 的对象 b 属性就有值了,接着完成 a.getB().getName()方法的。的方法时,就会进入拦截方法,具体就是 InvocationHandler 的 invoke()方法,当。
2023-05-08 14:03:11 254
原创 SpringBoot面试题 44道
这个列表按照优先级排序,也就是说,任何在高优先级属性源里设置的属性都会覆盖低优先级的相。在项目的开发中,有些配置文件在开发、测试或者生产等不同环境中可能是不同的,例如数据库连。产环境中正在运行的应用程序的当前状态。在微服务中,一个完整的项目被拆分成多个不相同的独立的服务,各个服务独立部署在不同的服务。时,这个配置就会经常遇到了,特别是在需要加载一些远程配置文件的时侯。的难度,简省了繁重的配置,提供了各种启动器,使开发者能快速上手。一个建议的组合,单纯从技术上来说,无论怎么组合,都是没有问题的。
2023-05-08 14:02:57 4512
原创 MyBatis面试题 37道
这种方法直观,需要建一个实体类,扩展不容易,需要加属性,但代码可读性强,业务逻辑处理方。是轻量级框架,学习使用门槛低,适合于需求变化频繁,大型的项目,比如:互联网电子。是重量级框架,学习使用门槛高,适合于需求相对稳定,中小型的项目,比如:办公自。语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,创建目标对象的代理对象,当调用目标方法时,进入拦截器方法,比如调。个接口的哪些方法即可,记住,别忘了在配置文件中配置你编写的插件。指定一个名字,用于表示在迭代过程中,每次迭代到的位置,不常用;
2023-05-08 14:02:55 212
原创 MySQL高频面试题 10道
要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。要求数据库表中的每个实例或行必须可以被惟一地区分。总是跟这个事务在启动时看到的数据是一致的。对于读远多于写的表可以考虑使用查询缓存。据数据量的大小考虑按月分表或按年分表。未提交变更对其他事务也是不可见的。如此看来唯一索引少了一次匹配。该表的全部查询缓存都会被清空。它做的变更就能被别的事务看到。它做的变更才会被其他事务看到。一个事务执行过程中看到的数据。联合索引将高频字段放在最左边。他表已经包含的非主关键字信息。唯一索引不一定比普通索引快。
2023-05-08 14:02:41 188
原创 SpringCloud面试题 49道
直接写后端的代码,不用关注前端怎么开发,直接写自己的后端代码即可,然后暴露接口,通过组件进行。这些服务可以使用不同的编程语言,不同数据库,以保证最低限度的集中式管。当微服务中,高并发的数据库访问量导致服务线程阻塞,使单个服务宕机,服务的不可用会蔓。量的,在微服务系统中有着非常作用,网关常见的功能有路由转发、权限校验、限流控制等作用。在微服务中,通常根据业务模块分服务,项目中前端发起一个请求,后端可能跨几个服务调用才能。名称而非版本号的命名,这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本。
2023-05-08 14:02:35 810
原创 设计模式面试题 14 道
编写自己的理想中的好代码:我个人反正是这样的,对于我自己开发的项目我会很认真,我对他比。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享。这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。描述:单一职责原则很简单,一个方法 一个类只负责一个职责,各个职责的程序改动,不影响其。在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据。
2023-05-08 14:02:19 926
原创 多线程面试59题(含答案)
对方释放锁,此时若无外力干预,这些线程则一直处理阻塞的假死状态,形成死锁。虽然重排序优化了性能,但也是会遵守一些规则的,并不能随便乱排序,一种分法,堆是所有线程共享的一块区域,而栈是线程隔离的,每个线程互不共享。假的多线程,同一时间处理器只会处理一段逻辑,只不过线程之间切换得比较快,线程可以防止这个问题,多条线程同时运行,哪怕一条线程的代码执行读取数据阻。地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程。法进行等待的线程等待目标线程运行结束而唤醒,一旦通过相关事件唤醒线程,线。
2023-05-08 14:01:34 798
原创 最新版--Java+最常见的+200++面试题汇总+答案总结汇总
络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、finally 一定会执行,即使是 catch 中 return 了,catch 中的 return 会等 finally 中的代码执行完。ThreadPoolExecutor():是最原始的线程池创建,上面 1-3 创建方式都是对 ThreadPoolExecutor 的封。
2023-05-08 14:01:11 751 1
原创 Linux面试题 50道
如单行复制,多行复制,单行删除,多行删除,(退。用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以。的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节。约计算机系统的资源。由于程序员的水平及经验参差不齐,大部分程序员在编写代码的时候,没有对用户输入数据的合法。看,如果自己这边访问快,基本断定是用户端问题,就需要耐心跟客户解释,协助客户解决问题。、如果访问也慢,那么可以利用浏览器的调试功能,看看加载那一项数据消耗时间过多,是图片。
2023-05-04 14:15:42 282
原创 JVM常见面试题解析
程序计数器:当前线程所执行的字节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程。栈是线程私有的,他的生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储。先说明一下什么是类加载器,可以给面试官画个图,再说一下类加载器存在的意义,说一下双亲。)的方法,在条件允许的情况下,直接运行当前有能力立即执行的后续指令,避开获取。它的开销是四种屏障中最大的。发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。可以说一下堆栈配置相关的,垃圾收集器相关的,还有一下辅助信息相关的。
2023-05-04 14:14:33 115
原创 Java虚拟机(JVM)面试题 51道
新生代垃圾回收器一般采用的是复制算法,复制算法的优点是效率高,缺点是内存利用率低;些区域都有各自的用途,以及创建和销毁的时间,有些区域随着虚拟机进程的启动而存在,有些区。如果一个栈中有动态链接调用别的方法,就会去创建新的栈帧,栈中是由顺序的,一。无论怎么划分,都与存放内容无关,无论哪个区域,存储的都是对象实例,进一步的划分都是为了。有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前。垃圾收集器在做垃圾回收的时候,首先需要判定的就是哪些内存是需要被回收的,哪些对象是存活。
2023-05-04 14:14:01 212
原创 Java异常面试题 33道
异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常。通常,应该捕获那些知道如何处理的异常,将不知道如何处理的异常继续传递下去。通常,应该捕获那些知道如何处理的异常,将不知道如何处理的异常继续传递下去。个子系统故障,异常类型可能有多种,可以用统一的异常类型向外暴露,不需暴露太多内部异常细。可能有一系列的方法调用,最终才进入抛出异常的方法,这一系列方法调用的有序列表叫做。你抛出的异常越明确越好,永远记住,你的同事或者几个月之后的你,将会调用你的方法并且处理。
2023-05-04 14:14:01 333
原创 Java集合面试题 52道
直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结。哈希算法是指把任意长度的二进制映射为固定长度的较小的二进制值,这个较小的二进制值叫做哈。道理很简单,添加或删除红黑树中的结点之后,红黑树的结构就发生了变化,可能不满足上面。开放地址法是通过一个探测算法,当某个槽位已经被占据的情况下继续查找下一个可以使用的槽。特点:一个有序(元素存入集合的顺序和取出的顺序一致)容器,元素可以重复,可以插入多。:一个有序(元素存入集合的顺序和取出的顺序一致)容器,元素可以重复,可以插入多。
2023-05-04 14:13:30 181
原创 Java并发编程最全面试题 123道
一般来说,共享变量要求变量本身是线程安全的,然后在线程内使用的时候,如果有对共享变量的复合操作,那么。不可变对象保证了对象的内存可见性,对不可变对象的读取不需要进行额外的同步手段,提升了代码执行效率。象的锁,此时这个对象锁还没有释放,当其再次想要获取这个对象的锁的时候还是可以获取的,如果不。比如当我们在网上购物时,为了提升响应速度,需要拆分,减库存,生成订单等等这些操作,就可。而不是等待,这样就大大提高了程序的效率。当一个线程的时间片用完的时候就会重新处于就绪状态让给其他线程使用,这个过程就属于。
2023-05-04 14:12:34 534
原创 Java基础面试题 91道
面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,管我们什么事?是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆。在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调。注释的内容在程序编译的时候会被忽视,不会产生目标代码,注释的部分不会对程序的。能,也可以用父类的功能,但不能选择性地继承父类。
2023-05-04 14:12:22 345
原创 ElasticSearch面试题 30道
倒排索引,相反于一篇文章包含了哪些词,它从词出发,记载了这个词在哪些文档中出现过,由两部分。的核心思想是空间换时间,利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。)对于中文的字典树,每个节点的子节点用一个哈希表存储,这样就不用浪费太大的空间,而且查。与各子节点进行比较,直到没有子节点,你就可以创建新的子节点并将新单词保存在那。自身的支持动态扩展的特点,动态新增机器的方式可以缓解集群压力,注意:如果之前主节点。是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点。
2023-05-04 14:11:19 714
原创 Dubbo面试题 47道
连接可以是按需连接,调用结束后就断掉,也可以是长连接,多个远程过程调用共享同一个连接。当服务提供者启动的时候,需要将自己提供的服务注册到指定的注册中心,以便服务消费者能够通过服。化的逆操作),即将二进制信息恢复为内存中的表达方式,然后再找到对应的方法(寻址的一部分)进。随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向。契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更为合适,至于注重通。发布、下线接口、动态扩展等,对调用方来说是无感知、统一化的操。
2023-05-04 14:10:06 165
原创 BIO,NIO,AIO,Netty面试题 35道
处理流:也叫包装流,是对一个对于已存在的流的连接进行封装,通过所封装的流的功能调用实现。我这有三个类,我模拟启动服务端,然后启动客户端,模拟客户端操作未完成的时候启动第二个客。然而系统资源是有限的,不能过多的新建线程,线程过多带来线程上下文的切换,从来带来更大的。字节的缓冲区,然后再将缓存区的数据写入到通道中,将数据从通道读入缓冲区,再从缓冲区获取。拿着一支鱼竿在河边钓鱼,并且一直在鱼竿前等,在等的时候不做其他的事情,十分专心。且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,
2023-05-04 14:09:32 250 1
原创 SSM面试题
Spring 中 AOP 的应用场景、 Aop 原理、好处?答:Aop是Spring两大核心之一,叫做面向切面编程,它是oop的延续它主要用于解决方法之间的依赖,如声明式事务管理,它的实现原理是动态代 理, 分为jdk的动态代理和cglib动态代理,Jdk动态代理只针对于接口操作,目标类必须实现一个接口,他两是兄弟关系Cglib既可以代理有接口的类,也可以代理无接口的类。目标类不能用final修饰,代理是目标类的子类2.作用:在程序运行期间,不修改源码对已有方法进行增强。...
2022-04-07 15:44:22 228
原创 【无标题】
Spring Boot1、什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。2、为什么要用 Spring Boot?Spring Boot 优点非常多,如:独立运行:内嵌了服务器简化配置自动配置 :注解实现无代码生成和XML配置 用注解去替代了应用监控上手容易3、...
2022-04-07 15:42:13 345
原创 JAVA面试题
JAVA面试宝典面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、 MySql、Redis、JVM 。 一、Java 基础 1.JDK 和 JRE 有什...
2022-04-07 15:20:29 2040
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人