![](https://img-blog.csdnimg.cn/898a1cc2d2fc444eb2c5a19060b38f3c.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java面试总结
文章平均质量分 83
000
喵俺第一专栏
共同学习,共同进步,提高编程技能。另外,有好多优秀的项目练手哦,详细看第一个专栏,里面有很多可作为课设、毕业的项目,希望自己可以帮助到你哦!
展开
-
黑马Java热门面试题MQ&Kafka(十一)
group 内的 worker 可以使用多 线程或多进程来实现,也可以将进程分散在多台机器上,worker 的数量通常不 超过 partition 的数量,且二者最好保持整数倍关系,因为 Kafka 在设计时假定 了一个 partition 只能被一个 worker 消费(同一 group 内)。某一时刻,在主节点和从节 点中 A 数据的值都为 X, 之后 将主节点中 A 的值修改为 Y,那么在这个变 更通知到从节点之前,应用读取从节点中的 A 数据 的值并不为最新的 Y,由 此便产生了数据不一致的问题。原创 2022-11-02 21:10:39 · 820 阅读 · 0 评论 -
黑马Java热门面试题Monngo&ES(十)
它是搜索引擎的核心。索引数据的规划,应在前期做好规划,正所谓“设计先行,编码在后”,这样才能有 效的避免突如其来的数据激增导致集群处理能力不足引发的线上客户检索或者其他 业务受到影响。所谓集群脑裂,是指 Elasticsearch 集群中的节点(比如共 20 个),其中的 10 个 选了一个 master,另外 10 个选了另一个 master 的情况。• filter:查询操作仅判断是否满足查询条件,不会计算任何分值,也不会关心返 回的排序问题,同时,filter 查询的结果可以被缓存,提高性能。原创 2022-11-02 20:57:36 · 567 阅读 · 0 评论 -
黑马Java热门面试题Redis(九)
因此旧 master 再次恢复的时候,会被作为一个 slave 挂 到新的 master 上去,自己的数据会清空,重新从新的 master 复制数据。另外,hash 是一个 string 类 型的 field 和 value 的映射表,特别适合用于存储对象,后续操作的时 候,你可以直接仅仅修改这个对象中的某个字段的值。• 优势:混合持久化结合了 RDB 持久化 和 AOF 持久化的优点, 由于绝大部分 都是 RDB 格式,加载速度快,同时结合 AOF,增量的数据以 AOF 方式保存了, 数据更少的丢失。原创 2022-11-02 18:03:46 · 388 阅读 · 0 评论 -
黑马Java热门面试题微服务(八)
在分布式系统,我们一定会依赖各种服务,那么这些个服务一定会出现失败的情况, 就会导致雪崩,Hystrix 就是这样的一个工具,防雪崩利器,它具有服务降级,服务 熔断,服务隔离,监控等一些防止雪崩的技术。雪崩效应是在大型互联网项目中,当某个服务发生宕机时,调用这个服务的其他服 务也会发生宕机,大型项目的微服务之间的调用是互通的,这样就会将服务的不可 用逐步扩大到各个其他服务中,从而使整个项目的服务宕机崩溃。如果查询到的数据并不是最新的,就是因为 Eureka 的自我保护模式导致的。原创 2022-11-02 17:33:06 · 281 阅读 · 0 评论 -
黑马Java热门面试题SpringBoot(七)
Spring Boot 的自动配置是基于 Spring Factories 机制实现的。普通的 jar 包,解压后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在 \BOOT-INF\classes 目录下才是我们的代码, 因此无法被直接引用。• 简单回答: Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案, 主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器, 开发者能快速上手。原创 2022-11-02 09:21:47 · 372 阅读 · 0 评论 -
黑马Java热门面试题SSM(六)
如果当前没有事务,则创建一个新的事务;@Results 和 @Result 主要作用是,当有一些特殊的场景需要处理,查询的返回结 果与期望的数据格式不一致时,可以将将数据库中查询到的数值自动转化为具体的属 性或类型,,修饰返回的结果集。• 如果数据库结果集中的列名和要封装实体的属性名有不一致的情况用 resultMap 属 性,通过 resultMap 手动建立对象关系映射,resultMap 要配置 一下表和类的一一对应关系,所以说就算你的字段名和你的实体类的属性名不 一样也没关系,都会给你映射出来。原创 2022-11-02 09:01:57 · 546 阅读 · 0 评论 -
黑马Java热门面试题MySQL(五)
用 B+ 树不用 B 树考虑的是 IO 对性能的影响,B 树的每个节点都存储数据,而 B+ 树只有叶子节点才存储数据,所以查找相同数据量的情况下,B 树的高度更高, IO 更频繁。• 在 B+ 树中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右 相邻 key 分别是 key i 和 key i+1,且不为 null,则该指针指向节点的所有 key 大于等于 key i 且小于等于 key i+1。站在执行计划的角 度来说,我们这个过程,就是在不断的减少 rows 的数量。原创 2022-11-01 22:40:04 · 630 阅读 · 0 评论 -
黑马Java热门面试题Web(四)
session 的生命周期是间隔的,从创建时,开始计时如在 30 分钟,没有访问 session,那么 session 生命周期被销毁。 Nginx ip_hash 策略 ,服务端使用 Nginx 代理,每个请求按访问 IP 的 hash 分配,这样来自同一 IP 固定访问一个后台服务器,避免了在服务器 A 创建 Session,第二次分发到服务器 B 的现象。”连接,多个请求数据间用“&”连接。 cookie 的生命周期是累计的,从创建时,就开始计时,30 分钟后,cookie 生命 周期结束;原创 2022-11-01 19:29:04 · 493 阅读 · 0 评论 -
黑马Java热门面试题线程(三)
目录:(1)线程的状态?(2) start 和 run 的区别?(3)为什么使用线程池,优势是什么?(4)线程池工作原理?(5)线程池重要参数有哪些?(6)线程池如何使用?线程池核心线程数配置多大?有没 有经验配置值? (7)线程池的拒绝策略有哪些? (8)线程池状态有哪些?(9)核心线程和非核心线程的销毁机制? (10)线程池内抛出异常,线程池会怎么办?(11)submit 和 execute 方法的区别?(12)线程池在实际项目中的使用场景?项目中多个业务需 要用到线程池是为每个线程池都定义一个还是定义原创 2022-10-31 18:39:17 · 489 阅读 · 0 评论 -
黑马Java热门面试题集合(二)
4. 初始容量大小和每次扩充容量大小的不同 : ① 创建时如果不指定容 量初始值,Hashtable 默认的初始大小为 11,之后每次扩充,容量变为 原来的 2n+1。**HashMap 通过 key 的 hashCode 经过扰动函数处理过后得到 hash 值,然后通过 (n - 1) & hash 判断当前元素存放的位置(这里的 n 指 的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存 入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,不 相同就通过拉链法解决冲突。原创 2022-10-31 17:37:45 · 562 阅读 · 0 评论 -
黑马Java常见面试题基础(一)
每次对 String 的操作相当于生成一个新的 String 对象,而对 StringBuffer 和 StringBuilder 的操作是对对象本身的操作,而不会生成新的对象, 所以对于频繁改变内容的字符串避免使用 String,因为频繁的生成对象将会对 系统性能产生影响。类加载器的特点: 动态加载,无需在程序一开始运行的时候加载,而是在程序运行的过程中,动态按 需加载,字节码的来源也很多,压缩包 jar、war 中,网络中,本地文件等。”里面的对象“会在原来的对象和它的副本之间共享。原创 2022-10-31 09:40:49 · 1199 阅读 · 0 评论 -
面试题总结
而且还有一个地方是必须知道的,就是如果我们需要对元素进行频繁的移动或删除,或者是处理的是超大量的数据,那么,使用ArrayList就真的不是一个好的选择,因为它的效率很低,使用数组进行这样的动作就很麻烦,那么,我们可以考虑选择LinkedList。1:String的值不可变,StringBuilder的值是可变的。StringBuffer:字符串变量(Synchronized,即线程安全)一个可变的字符串类,我们可以把它看成一个容器,这里的可变值的是StringBuilder对象中的内容是可变的。原创 2022-10-17 22:57:58 · 458 阅读 · 0 评论 -
Java面试题总结(三)
首先找到springboot的启动类,看到一个自动注入的注解,在注解里面有一个importsleter,找到importslert以后呢,里面有一个get方法通过get方法能去springfactoty文件里面加载到我们需要的自动装配的文件。①如果这个Bean已经实现了BeanNameAware接口,会调用它实现的setBeanName(StringbeanId)方法,此处传递的就是Spring配置文件中Bean的id值;以上几个步骤完成后,Bean就已经被正确创建了,之后就可以使用这个Bean了。原创 2022-09-18 16:04:09 · 1060 阅读 · 0 评论 -
Java面试题总结(二)
构造器被private修饰,那么这个Math类就不能再外界构造对象了,但是它的属性方法都加了一个static来修饰,那么就可以通过类名.方法名(类名.属性名)的方式来调用,根本不用借助对象了,这个Math类的设计是非常巧妙的。21.线程的sleep、wait、join、yield如何使用?原创 2022-09-17 22:51:27 · 916 阅读 · 0 评论 -
Java面试题总结(一)
抽象类:是一个概念,我们在脑力里面可以想到的一个物体,比如动物、植物等等,包括子类,凡是有具体概念的,用抽象类来描述 比如说狗,是一种动物,如果用接口, 我实现了一个接口,叫动物接口,听起来比较优点别扭了,是一种动物是一个抽象概念,狗是一种动物,这个时候要用抽象类。接口描述的是:某些事物之间所具有的共同特征,它不是一个概念,它描述的是特征,比如会飞的,描述的这一类东西会飞,飞机会飞,鸟会飞,它描述的是某一类事物能够做出一些动作来,能够具备某一方面的特征,描述特征我们一般用接口。原创 2022-09-17 17:39:14 · 378 阅读 · 0 评论