(完整版)2019最新Java面试题,常见面试题及答案汇总

合集下载

Java面试题大全(答案版)

Java面试题大全(答案版)

Java面试题大全(答案版)1、一个".java"源文件中是否可以包括多个类(不是内部类)有什么限制可以,但是只能有一个类用public修饰,并且用public修饰的类名与文件名要一致2、&和&&的区别。

&和&&都可以用作逻辑与;&&还具有短路功能,即如果第一个表达式的结果为false,则不再计算第二个表达式;&还可以用作位运算符,当&操作符两边的表达式不是boolean 类型时,&表示按位与操作。

3、Java有没有gotojava中的保留字,现在没有在java中使用。

4、在JAVA中,如何跳出当前的多重嵌套循环break+变量控制与 return5、switch是否能作用在byte(拜特)上,是否能作用在long上,是否能作用在String上Switch可以作用在int上,而byte可以隐式转换为int 所以能作用在byte上不能作用在long上,也不能作用在String上6、short s1 = 1; s1 = s1 + 1;有什么错 short s1 = 1; s1 += 1;有什么错1在java中为int数据类型,short+int=int,大类型转为小类型,编译时,会报告需要强制转换类型的错误。

s1+=1不会报,因为JVM 会对它特殊处理(自动强转)7、char型变量中能不能存贮一个中文汉字为什么可以,char型变量是用来存储unicode(依妮Q特)编码的,而unicode编码包含了中文,所以是可以保存的8、编程题: 用最有效率的方法算出2乘以8等於几2<<3,表示将2左移3位;一个数左移几位就表示这个数乘以了2的几次方,左移运算,CPU直接支持,所以是最有效率的9、请设计一个一百亿的计算器思路:用两个数组分别保存两个操作数,再新建一个数组保存结果。

10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变引用变量不能变11、"=="和equals方法究竟有什么区别==和equals方法都可以用来比较两个对象是否是同一个对象。

java面试的题目及答案

java面试的题目及答案

java面试的题目及答案Java面试题目及答案(共计2000字)1. 介绍一下Java的特点及优点。

Java是一种通用、高级、面向对象的编程语言,具有以下特点和优点:- 简单性:Java相对于其他编程语言来说较为简单,容易学习和使用。

- 面向对象:Java是一种纯粹的面向对象编程语言,支持封装、继承和多态等面向对象的特性。

- 跨平台性:Java程序可以在不同的操作系统上运行,这是由于Java编译器将Java代码编译成字节码,并在Java虚拟机(JVM)上执行。

- 安全性:Java具有强大的安全特性,包括内存管理、异常处理和安全检查等,能够防止内存泄漏和崩溃等问题的发生。

- 多线程支持:Java提供了多线程编程的支持,使得程序可以并发执行,提高了程序的执行效率。

- 开源生态系统:Java拥有庞大的开源生态系统,包括许多优秀的开源框架和工具,方便开发人员快速构建应用程序。

2. 什么是Java虚拟机(JVM)?它的作用是什么?Java虚拟机(JVM)是Java的核心组件之一,它是一个可以执行Java字节码的虚拟机程序。

JVM主要有以下作用:- 平台无关性:JVM解释并执行Java字节码,使得Java程序可以在不同的操作系统上运行,大大提高了程序的可移植性和跨平台性。

- 内存管理:JVM负责Java的内存管理,包括堆、栈和方法区等,使用垃圾回收机制来自动管理内存,防止内存泄漏和崩溃等问题的发生。

- 虚拟化:JVM提供了对Java程序的虚拟化支持,允许使用多线程并发执行Java程序,提高程序的执行效率。

- 安全性:JVM提供了严格的安全检查机制,确保Java程序的安全性,避免恶意代码的执行。

- 动态扩展:JVM支持动态加载和链接Java类和库,使得Java程序能够在运行时根据需要加载和使用外部类和库。

3. 什么是面向对象编程(OOP)?Java是一种面向对象的编程语言吗?面向对象编程(OOP)是一种编程范式,以对象为中心,将数据和行为封装在一起,并通过对象之间的交互来完成任务。

Java208道面试题及部分答案

Java208道面试题及部分答案

Java208道⾯试题及部分答案---恢复内容开始---⼀、Java 基础1.JDK 和 JRE 有什么区别?答:JRE是java运⾏时环境,包含了java虚拟机,java基础类库。

是使⽤java语⾔编写的程序运⾏所需要的软件环境,是提供给想运⾏java 程序的⽤户使⽤的。

JDK是java开发⼯具包,是程序员使⽤java语⾔编写java程序所需的开发⼯具包,是提供给程序员使⽤的2.== 和 equals 的区别是什么?答:==是⽐较两个对象的地址,equals是⽐较连个对象的内容3.两个对象的 hashCode()相同,则 equals()也⼀定为 true,对吗?答:不对!hashCode()相同,不代表连个对象就相同。

hashCode值是从hash表中得来的,hash是⼀个函数,该函数的实现是⼀种算法,通过hash算法算出hash值,hash表就是 hash值组成的,⼀共有8个位置。

相反,equals()相同,hashCode()⼀定相同。

这个是正确的!4.final 在 java 中有什么作⽤?答:final的作⽤随着所修饰的类型⽽不同:1. final修饰类中的属性或者变量:⽆论属性是基本类型还是引⽤类型,final所起的作⽤都是变量⾥⾯存放的“值”不能变2. final修饰类中的⽅法:可以被继承,但继承后不能被重写3. final修饰类:类不可以被继承5.java 中的 Math.round(-1.5) 等于多少?答:-1 计算⽅法:1. 参数的⼩数点后第⼀位<5,运算结果为参数2. 参数的⼩数点后第⼀位>5,运算结果为参数整数部分+1,符号(即正负)不变3. 参数的⼩数点后第⼀位=5,正数运算结果为整数部分+1,负数运算结果为整数部分 总结:⼤于五全部加,等于五正数加,⼩于五全不加6.String 属于基础的数据类型吗?答:不是。

String是⼀个对象,是java等编程语⾔的字符串。

java面试题库java面试题目及答案(3篇)

java面试题库java面试题目及答案(3篇)

第1篇一、基础知识1. Java简介题目:请简述Java的基本特点。

答案:- 简单易学:Java设计之初就考虑了易学性,使用面向对象编程。

- 原生跨平台:Java通过JVM(Java虚拟机)实现跨平台运行。

- 安全性:Java提供了强大的安全机制,如沙箱安全模型。

- 体系结构中立:Java不依赖于特定的硬件或操作系统。

- 高效:Java的运行速度接近C/C++。

- 多线程:Java内置多线程支持,便于实现并发处理。

- 动态性:Java在运行时可以进行扩展和修改。

2. Java虚拟机题目:请解释Java虚拟机(JVM)的作用。

答案:JVM是Java程序的运行环境,其主要作用包括:- 将Java字节码转换为本地机器码。

- 管理内存,包括堆、栈、方法区等。

- 提供垃圾回收机制。

- 管理线程和同步。

3. Java内存模型题目:请简述Java内存模型的组成。

答案:Java内存模型主要由以下部分组成:- 堆(Heap):存储对象实例和数组。

- 栈(Stack):存储局部变量和方法调用。

- 方法区(Method Area):存储类信息、常量、静态变量等。

- 本地方法栈(Native Method Stack):存储本地方法调用的相关数据。

- 程序计数器(Program Counter Register):存储线程的当前指令地址。

4. Java关键字题目:请列举并解释Java中的几个关键字。

答案:- `public`:表示访问权限为公开。

- `private`:表示访问权限为私有。

- `protected`:表示访问权限为受保护。

- `static`:表示属于类本身,而非对象实例。

- `final`:表示常量或方法不能被修改。

- `synchronized`:表示线程同步。

- `transient`:表示数据在序列化时不会被持久化。

二、面向对象编程5. 类和对象题目:请解释类和对象之间的关系。

答案:类是对象的模板,对象是类的实例。

java模拟面试题目(3篇)

java模拟面试题目(3篇)

第1篇一、Java基础知识1. 请简述Java语言的特点。

2. 什么是Java虚拟机(JVM)?它有什么作用?3. 什么是Java的内存模型?请解释Java内存模型中的几个关键概念:堆、栈、方法区、程序计数器、本地方法栈。

4. 什么是Java中的反射机制?请举例说明反射在Java中的应用。

5. 什么是Java中的泛型?请解释泛型的原理和作用。

6. 请简述Java中的四种访问控制符:public、protected、default、private。

7. 什么是Java中的继承和多态?请举例说明继承和多态在实际开发中的应用。

8. 什么是Java中的封装?请举例说明封装在实际开发中的应用。

9. 什么是Java中的接口和抽象类?它们之间有什么区别?10. 什么是Java中的异常处理?请解释try-catch-finally语句的执行顺序。

二、Java集合框架1. 请列举Java集合框架中的常用集合类及其特点。

2. 请简述ArrayList、LinkedList、HashMap、HashSet的区别。

3. 什么是Java中的泛型集合?请举例说明泛型集合的应用。

4. 什么是Java中的迭代器(Iterator)和枚举器(Enum)?请比较它们的区别。

5. 什么是Java中的List、Set、Map的遍历方法?6. 请解释Java中的ArrayList和LinkedList的内部实现原理。

7. 什么是Java中的HashMap的扩容机制?8. 什么是Java中的HashSet的内部实现原理?9. 请解释Java中的线程安全集合类,如CopyOnWriteArrayList、ConcurrentHashMap。

三、Java多线程与并发1. 什么是Java中的线程?请解释线程的创建、调度和同步。

2. 请简述Java中的线程状态,如新建、就绪、运行、阻塞、等待、超时等待、终止。

3. 什么是Java中的同步机制?请解释synchronized关键字的作用。

java面试问题及答案

java面试问题及答案

java面试问题及答案java面试问题及答案「篇一」1)Java 中能创建 volatile 数组吗?能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。

我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保护作用了。

2)volatile 能使得一个非原子操作变成原子操作吗?一个典型的例子是在类中有一个 long 类型的成员变量。

如果你知道该成员变量会被多个线程访问,如计数器、价格等,你最好是将其设置为 volatile。

为什么?因为 Java 中读取 long 类型变量不是原子的,需要分成两步,如果一个线程正在修改该 long 变量的值,另一个线程可能只能看到该值的一半(前 32 位)。

但是对一个 volatile 型的 long 或 double 变量的读写是原子。

3)volatile 修饰符的有过什么实践?一种实践是用 volatile 修饰 long 和 double 变量,使其能按原子类型来读写。

double 和 long 都是64位宽,因此对这两种类型的读是分为两部分的,第一次读取第一个 32 位,然后再读剩下的 32 位,这个过程不是原子的,但 Java 中volatile 型的 long 或 double 变量的读写是原子的。

volatile 修复符的另一个作用是提供内存屏障(memory barrier),例如在分布式框架中的'应用。

简单的说,就是当你写一个 volatile 变量之前,Java 内存模型会插入一个写屏障(write barrier),读一个 volatile 变量之前,会插入一个读屏障(read barrier)。

意思就是说,在你写一个 volatile 域时,能保证任何线程都能看到你写的值,同时,在写之前,也能保证任何数值的更新对所有线程是可见的,因为内存屏障会将其他所有写的值更新到缓存。

115个java面试问题和答案(完整版)

115个java面试问题和答案(完整版)

115个Java面试问题及答案目录●面向对象编程(OOP)●常见的Java问题●Java线程●Java集合类●垃圾收集器●异常处理●Java Applets●Swing●JDBC●远程方法调用(RMI)●Servlets●JSP面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。

下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。

代码复用。

增强代码的可靠性和灵活性。

增加代码的可理解性。

面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。

下面的章节我们会逐个分析这些特性。

1、封装封装给对象提供了隐藏内部特性和行为的能力。

对象提供一些能被其他对象访问的方法来改变它内部的数据。

在Java当中,有3种修饰符:public,private和protected。

每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。

下面列出了使用封装的一些好处:通过隐藏对象的属性来保护对象内部的状态。

提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。

禁止对象之间的不良交互提高模块化。

2、多态多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。

一个多态类型上的操作可以应用到其他类型的值上面。

3、继承继承给对象提供了从基类获取字段和方法的能力。

继承提供了代码的重用行,也可以在不修改类的情况下给现存的类添加新特性。

4、抽象抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。

Java支持创建只暴漏接口而不包含方法实现的抽象的类。

这种抽象技术的主要目的是把类的行为和实现细节分离开。

抽象和封装的不同点抽象和封装是互补的概念。

一方面,抽象关注对象的行为。

另一方面,封装关注对象行为的细节。

一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。

常见的Java问题1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。

【黑马程序员】Java试题、50道Java面试题集(2019最新版)

【黑马程序员】Java试题、50道Java面试题集(2019最新版)

【黑马程序员】Java试题、50道Java面试题集(2019最新版)以下的内容是对原有的和最近Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,相对来说比较经典,相信对准备入职的Java程序员一定有所裨益。

一、Java基础部分1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。

抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

2)继承:继承是从已有类得到继承信息创建新类的过程。

提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。

继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分)。

3)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。

面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。

我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。

可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)。

4)多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。

简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。

多态性分为编译时的多态性和运行时的多态性。

如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B 系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ava最新常见面试题+ 答案汇总1、面试题模块汇总面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。

如下图所示:可能对于初学者不需要后面的框架和JVM 模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。

适宜阅读人群需要面试的初/中/高级java 程序员想要查漏补缺的人想要不断完善和扩充自己java 技术栈的人java 面试官具体面试题下面一起来看208 道面试题,具体的内容。

一、Java 基础1.JDK 和JRE 有什么区别?2.== 和equals 的区别是什么?3.两个对象的hashCode()相同,则equals()也一定为true,对吗?4.final 在java 中有什么作用?5.java 中的Math.round(-1.5) 等于多少?6.String 属于基础的数据类型吗?7.java 中操作字符串都有哪些类?它们之间有什么区别?8.String str="i"与String str=new String(“i”)一样吗?9.如何将字符串反转?10.String 类的常用方法都有那些?11.抽象类必须要有抽象方法吗?12.普通类和抽象类有哪些区别?13.抽象类能使用final 修饰吗?14.接口和抽象类有什么区别?15.java 中IO 流分为几种?16.BIO、NIO、AIO 有什么区别?17.Files的常用方法都有哪些?二、容器18.java 容器都有哪些?19.Collection 和Collections 有什么区别?20.List、Set、Map 之间的区别是什么?21.HashMap 和Hashtable 有什么区别?22.如何决定使用HashMap 还是TreeMap?23.说一下HashMap 的实现原理?24.说一下HashSet 的实现原理?25.ArrayList 和LinkedList 的区别是什么?26.如何实现数组和List 之间的转换?27.ArrayList 和Vector 的区别是什么?28.Array 和ArrayList 有何区别?29.在Queue 中poll()和remove()有什么区别?30.哪些集合类是线程安全的?31.迭代器Iterator 是什么?32.Iterator 怎么使用?有什么特点?33.Iterator 和ListIterator 有什么区别?34.怎么确保一个集合不能被修改?三、多线程35.并行和并发有什么区别?36.线程和进程的区别?37.守护线程是什么?38.创建线程有哪几种方式?39.说一下runnable 和callable 有什么区别?40.线程有哪些状态?41.sleep() 和wait() 有什么区别?42.notify()和notifyAll()有什么区别?43.线程的run()和start()有什么区别?44.创建线程池有哪几种方式?45.线程池都有哪些状态?46.线程池中submit()和execute()方法有什么区别?47.在java 程序中怎么保证多线程的运行安全?48.多线程锁的升级原理是什么?49.什么是死锁?50.怎么防止死锁?51.ThreadLocal 是什么?有哪些使用场景?52.说一下synchronized 底层实现原理?53.synchronized 和volatile 的区别是什么?54.synchronized 和Lock 有什么区别?55.synchronized 和ReentrantLock 区别是什么?56.说一下atomic 的原理?四、反射57.什么是反射?58.什么是java 序列化?什么情况下需要序列化?59.动态代理是什么?有哪些应用?60.怎么实现动态代理?五、对象拷贝61.为什么要使用克隆?62.如何实现对象克隆?63.深拷贝和浅拷贝区别是什么?六、Java Web64.jsp 和servlet 有什么区别?65.jsp 有哪些内置对象?作用分别是什么?66.说一下jsp 的4 种作用域?67.session 和cookie 有什么区别?68.说一下session 的工作原理?69.如果客户端禁止cookie 能实现session 还能用吗?70.spring mvc 和struts 的区别是什么?71.如何避免sql 注入?72.什么是XSS 攻击,如何避免?73.什么是CSRF 攻击,如何避免?七、异常74.throw 和throws 的区别?75.final、finally、finalize 有什么区别?76.try-catch-finally 中哪个部分可以省略?77.try-catch-finally 中,如果catch 中return 了,finally 还会执行吗?78.常见的异常类有哪些?八、网络79.http 响应码301 和302 代表的是什么?有什么区别?80.forward 和redirect 的区别?81.简述tcp 和udp的区别?82.tcp 为什么要三次握手,两次不行吗?为什么?83.说一下tcp 粘包是怎么产生的?84.OSI 的七层模型都有哪些?85.get 和post 请求有哪些区别?86.如何实现跨域?87.说一下JSONP 实现原理?九、设计模式88.说一下你熟悉的设计模式?89.简单工厂和抽象工厂有什么区别?十、Spring/Spring MVC90.为什么要使用spring?91.解释一下什么是aop?92.解释一下什么是ioc?93.spring 有哪些主要模块?94.spring 常用的注入方式有哪些?95.spring 中的bean 是线程安全的吗?96.spring 支持几种bean 的作用域?97.spring 自动装配bean 有哪些方式?98.spring 事务实现方式有哪些?99.说一下spring 的事务隔离?100.说一下spring mvc 运行流程?101.spring mvc 有哪些组件?102.@RequestMapping 的作用是什么?103.@Autowired 的作用是什么?十一、Spring Boot/Spring Cloud104.什么是spring boot?105.为什么要用spring boot?106.spring boot 核心配置文件是什么?107.spring boot 配置文件有哪几种类型?它们有什么区别?108.spring boot 有哪些方式可以实现热部署?109.jpa 和hibernate 有什么区别?110.什么是spring cloud?111.spring cloud 断路器的作用是什么?112.spring cloud 的核心组件有哪些?十二、Hibernate113.为什么要使用hibernate?114.什么是ORM 框架?115.hibernate 中如何在控制台查看打印的sql 语句?116.hibernate 有几种查询方式?117.hibernate 实体类可以被定义为final 吗?118.在hibernate 中使用Integer 和int 做映射有什么区别?119.hibernate 是如何工作的?120.get()和load()的区别?121.说一下hibernate 的缓存机制?122.hibernate 对象有哪些状态?123.在hibernate 中getCurrentSession 和openSession 的区别是什么?124.hibernate 实体类必须要有无参构造函数吗?为什么?十三、Mybatis125.mybatis 中#{}和${}的区别是什么?126.mybatis 有几种分页方式?127.RowBounds 是一次性查询全部结果吗?为什么?128.mybatis 逻辑分页和物理分页的区别是什么?129.mybatis 是否支持延迟加载?延迟加载的原理是什么?130.说一下mybatis 的一级缓存和二级缓存?131.mybatis 和hibernate 的区别有哪些?132.mybatis 有哪些执行器(Executor)?133.mybatis 分页插件的实现原理是什么?134.mybatis 如何编写一个自定义插件?十四、RabbitMQ135.rabbitmq 的使用场景有哪些?136.rabbitmq 有哪些重要的角色?137.rabbitmq 有哪些重要的组件?138.rabbitmq 中vhost 的作用是什么?139.rabbitmq 的消息是怎么发送的?140.rabbitmq 怎么保证消息的稳定性?141.rabbitmq 怎么避免消息丢失?142.要保证消息持久化成功的条件有哪些?143.rabbitmq 持久化有什么缺点?144.rabbitmq 有几种广播类型?145.rabbitmq 怎么实现延迟消息队列?146.rabbitmq 集群有什么用?147.rabbitmq 节点的类型有哪些?148.rabbitmq 集群搭建需要注意哪些问题?149.rabbitmq 每个节点是其他节点的完整拷贝吗?为什么?150.rabbitmq 集群中唯一一个磁盘节点崩溃了会发生什么情况?151.rabbitmq 对集群节点停止顺序有要求吗?十五、Kafka152.kafka 可以脱离zookeeper 单独使用吗?为什么?153.kafka 有几种数据保留的策略?154.kafka 同时设置了7 天和10G 清除数据,到第五天的时候消息达到了10G,这个时候kafka 将如何处理?155.什么情况会导致kafka 运行变慢?156.使用kafka 集群需要注意什么?十六、Zookeeper157.zookeeper 是什么?158.zookeeper 都有哪些功能?159.zookeeper 有几种部署模式?160.zookeeper 怎么保证主从节点的状态同步?161.集群中为什么要有主节点?162.集群中有3 台服务器,其中一个节点宕机,这个时候zookeeper 还可以使用吗?163.说一下zookeeper 的通知机制?十七、MySql164.数据库的三范式是什么?165.一张自增表里面总共有7 条数据,删除了最后2 条数据,重启mysql 数据库,又插入了一条数据,此时id 是几?166.如何获取当前数据库版本?167.说一下ACID 是什么?168.char 和varchar 的区别是什么?169.float 和double 的区别是什么?170.mysql 的内连接、左连接、右连接有什么区别?171.mysql 索引是怎么实现的?172.怎么验证mysql 的索引是否满足需求?173.说一下数据库的事务隔离?174.说一下mysql 常用的引擎?175.说一下mysql 的行锁和表锁?176.说一下乐观锁和悲观锁?177.mysql 问题排查都有哪些手段?178.如何做mysql 的性能优化?十八、Redis179.redis 是什么?都有哪些使用场景?180.redis 有哪些功能?181.redis 和memecache 有什么区别?182.redis 为什么是单线程的?183.什么是缓存穿透?怎么解决?184.redis 支持的数据类型有哪些?185.redis 支持的java 客户端都有哪些?186.jedis 和redisson 有哪些区别?187.怎么保证缓存和数据库数据的一致性?188.redis 持久化有几种方式?189.redis 怎么实现分布式锁?190.redis 分布式锁有什么缺陷?191.redis 如何做内存优化?192.redis 淘汰策略有哪些?193.redis 常见的性能问题有哪些?该如何解决?十九、JVM194.说一下jvm 的主要组成部分?及其作用?195.说一下jvm 运行时数据区?196.说一下堆栈的区别?197.队列和栈是什么?有什么区别?198.什么是双亲委派模型?199.说一下类加载的执行过程?200.怎么判断对象是否可以被回收?201.java 中都有哪些引用类型?202.说一下jvm 有哪些垃圾回收算法?203.说一下jvm 有哪些垃圾回收器?204.详细介绍一下CMS 垃圾回收器?205.新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?206.简述分代垃圾回收器是怎么工作的?207.说一下jvm 调优的工具?208.常用的jvm 调优的参数都有哪些?2、面试题答案汇总(一)基础模块(二)容器(三)多线程(四)反射(五)对象拷贝(六)JavaWeb(七)异常(八)网络(九)设计模式(十)Spring/SpringMVC(十一)Spring Boot / Spring Cloud (十二)Hibernate(十三)Mybatis(十四)RabbitMQ(十五)Kafka(十六)Zookeeper(十七)MySql(十八)Redis(十九)JVM。

相关文档
最新文档