java面试题
文章平均质量分 83
Builder 王
这个作者很懒,什么都没留下…
展开
-
java面试题 - - IO 相关
Java IO(Input/Output)是用于处理输入和输出操作的API,它允许程序与外部世界进行数据交互。原创 2024-07-12 12:35:30 · 231 阅读 · 0 评论 -
java面试题-微服务相关组件
通常我们说,Nacos技能保证CP,也能保证AP,具体看如何配置,但其实只不过是Nacos中的注册中心能保证CP或AP,Nacos中的配置中心其实没什么CP或AP,因为配置中心的数据是存在一个Mysql中的,只有注册中心的数据需要进行集群节点之间的同步,从而涉及到是CP还是AP,如果注册的节点是临时节点,那么就是AP,如果是非临时节点,那么就是CP,默认是临时节点。原创 2024-07-01 15:08:42 · 911 阅读 · 0 评论 -
java面试题-mybatis面试题
1、mybatis是一个开源的半ORM的持久层框架,是在ibatis基础上发展的。2、他支持自定义sql、存储过程、以及高级映射。3、免除了几乎所有的jdbc代码以及设置参数和获取结果集的工作4、可以提供简单的xml或注解来配置和映射原始类型、接口以及java pojo。原创 2024-06-13 10:49:04 · 445 阅读 · 0 评论 -
java面试题-多线程相关
1、使用Excutors 创建的线程池底层采用的是LinkedBlockingQueue, 请求会一直积压,具有OOM的风险。区别在于,在使用lock进行加锁时,如果是公平锁,则会先去AQS队列中判断是否存在线程排队,如果有,则当前线程也会排队。首先,不管是公平锁还是非公平锁,他们的底层实现都是采用 AQS来进行排队的。1、继承thread类, 重写run方式,调用start方法。非公平锁,则不会去检查是否有线程在排队,而是直接竞争锁。但是不管是公平锁还是非公平过,竞争锁失败都会排队。原创 2023-05-28 16:46:12 · 197 阅读 · 0 评论 -
java---垃圾收集器调优相关参数
一、HotSpot参数说明标准参数:以-开头,表示所有版本的HotSpot都支持。非标准参数:以-X开头,表示特定版本的HotSpot支持;不稳定参数:以-XX开头,表示有些版本支持,有些版本不支持,下个版本可能就会取消;可以通过-XX:+PrintFlagsFinal -version | grep xxx(关键词) 参数查询指定的参数,Linux系统。二、HotSpot常用参数分类GC常用参数1.-Xmn 设置年轻代大小一般使用这个参数将年轻代初始值和最大值设置成同样大小原创 2022-04-11 21:34:04 · 569 阅读 · 0 评论 -
rabbitMQ
1、什么是rabbitMQ?采用AMQP高级消息队列协议的一种消息队列技术,特点就是消费不需要确保提供方存在,实现了服务之间的高度解耦。2、为什么要使用rabbitMQ?1、在分布式系统下,具有异步、削峰、负载均衡等高级功能2、拥有持久化机制,进程中的消息,队列中的消息,可以保存下来3、实现消费者和生产者之间的解耦4、高并发场景下,利用消息队列可以使同步访问变成串行访问,达到一定限流作用5、可以使用消息队列达到异步下单的效果,排队中,后台进行逻辑下单。3、使用rabbitMQ原创 2021-12-14 21:33:51 · 1265 阅读 · 0 评论 -
JVM相关
GC算法:基本部分1、堆和栈有什么区别?1、堆和栈是JVM内存中的两个不同区域,作用也不同。对象的分配是在堆上进行的。栈中包含一系列的栈帧,是来存储局部变量、操作数栈、动态链接、方法出口等信息。2、堆是线程共享的区域,栈是线程私有的区域。类加载部分1、Java中为什么要采用PDM方式来实现类加载呢?有几个目的防止内存中出现多份同样的字节码。如果没有 PDM 而是由各个类加载器自行加载的话,用户编写了一个java.lang.Object的同名类并放在ClassPa...原创 2022-02-27 09:40:35 · 305 阅读 · 0 评论 -
Tcp连接中的三次握手与四次挥手
1、报文格式想要连接了解 Tcp连接中的三次握手与四次挥手,必须先要了解报文的格式,不一定非要知道每部分具体是干什么的,至少对下文中加了注解的名词有个大概的印象。以便后文说明。2、三次握手原理图3、常问问题1、三次握手的目的是什么?三次握手 的机制是为了保证客户端与服务端能够建立安全可靠的连接。分别让客户端与服务端确认自身收、发报文的能力及对方收、发报文的能力。2、为什么是三次握手,为什么不是2次握手?不是4次握手?这就要从三次握手的目...原创 2021-12-07 20:17:19 · 215 阅读 · 0 评论 -
java面试题--redis相关
1、介绍一下redis?1、redis是一个免费开源、遵循bsd协议的高性能的key-value数据库2、redis运行在内存中,但支持持久化到磁盘,重启的时候可以再次加载使用3、具有丰富的数据类型。支持String、list、set、zset、hash5种常用类型及hyperloglog、geo、pub/sub等复杂类型4、性能极高,支持11万/秒的读取速度及8万/秒的写速度。查找和操作的时间复杂度都是 O(1) 5、redis的所有操作都是原子的6、支持事务2、memcac.原创 2021-10-16 15:49:54 · 187 阅读 · 1 评论 -
java面试题---mysql相关
一、存储引擎1、mysql支持哪些存储引擎?MySQL 5.7 支持的存储引擎有 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE 等,自从5.5版本以后,默认采用InnoDB存储引擎。2、如何选择合适的存储引擎?3、mysql哪些存储引擎是支持事务的?innodb、bdb二、事务1、什么是事务?事务是由一组有序的数据库操作组成的程序执行的逻辑单元2、事务的基本特性和隔离级别?事务的四大基本特性:ACI.原创 2021-09-22 07:53:22 · 745 阅读 · 1 评论 -
java面试题---springBoot相关
为什么要用springBoot,有什么好处?1、简化配置spring-boot-starter-web 启动器自动依赖其他组件,减少了maven的配置2、与代码生成与xml配置spring配置过程中无代码生成,无需xml配置就能完成所有的配置工作,一切都是借助条件注解完成的3、自动配置springboot可以根据当前类路径下的类,jar包自动配置bean4、能独立运行内嵌了各种severlet容器,如tomcat、jetty5、应用监控提供了一系列端点可以监控服务及应原创 2021-08-27 06:53:31 · 508 阅读 · 1 评论 -
java面试题---spring 框架相关
spring的版本发展version 描述 spring2.5 发布于2007年,第一个支持注解的版本 spring3.0 发布于09年,利用了java5的改进,支持jee6 sping4.0 发布于13年,支持java8 spring5.0 响应式编程 什么是spring framework?1、spring是一个开源的应用框架,旨在降低应用开发的复杂度。2、spring是轻量级的、松散耦合3、具有分层体系结构,允许用户自有选择组件。4原创 2021-08-15 17:51:24 · 558 阅读 · 1 评论 -
java面试题---反射相关
1、java反射创建对象的效率高,还是new创建对象效率高?new创建对象的效率高,通过反射时,先通过class获取类资源,在使用类加载器创建,过程比较繁琐,效率低。2、java反射的作用?java反射是在运行时,对于任意一个类,都能够知道这个类全部的属性或方法;对于任意一个对象,都能够动态的调用他的方法。在java中,只有给定一个类的全类名,就能够通过反射机制获取这个类全部的信息。3、java中应用反射的例子?jdbc4、反射的实现方法?1、class.forName()2原创 2021-08-08 14:43:58 · 301 阅读 · 0 评论 -
java面试题---异常
1、java中的异常分为哪几类?1、编译时异常 2、运行时异常2、异常处理机制有哪几种?1、异常捕捉:使用try,catch,finally语句2、异常抛出:throws3、如何自定义一个异常?继承一个异常类,一般为runtimeException 或者exception4、try,catch,finally, try语句中有return ,finally中的代码还会执行吗?会,finally会在return 后的表达式计算完成但还没执行return时执行5、j...原创 2021-08-08 14:15:08 · 143 阅读 · 0 评论 -
java面试题---集合与泛型相关
一、arrayList 与linkedList的区别?他们都是继承自List,不同的是arraylist的底层实现是基于数组,linkedList的底层实现是基于链表,因此对于随机访问,get,set,arrayList要优于linkedList对于新增和删除,linkedList 要优于 arrayList。此外,linkedList还提供了list中没有的方法,专门用于操作表头和表尾,可用于堆栈、队列和双向队列使用。二、HashMap和hashTable的区别? ① 父..原创 2021-08-05 21:10:20 · 269 阅读 · 1 评论 -
Java面试题--- OOP基础 知识
目录1、什么是b/s,什么是c/s?2、java都有哪些开发平台?3、什么是jdk?什么是jre?4、java语言有哪些特点?5、面向对象和面向过程的区别?6、什么是数据结构?7、java的数据结构都有哪些?8、什么是oop?9、类与对象的关系?10、java中有哪几种数据类型?11、标识符命名规则12、什么是显示类型转换,什么是隐式类型转换?13、什么是拆装箱?14、针对浮点数运算出现的误差问题,如何解决?15、面向对象的特征:(经典)16、原创 2021-07-27 22:03:56 · 1825 阅读 · 0 评论