Java基础和底层面试题附答案

在大公司的面试里,最爱考的就是基础和底层的知识,可谓必考题,也是很多人薄弱的地方。在小公司的面试里,也有不少考基础的。整理一下基础知识和底层原理相关的高频面试题。为了方便自我检测,答案隐藏起来了,需要看答案的自行向右拖动滚动条查看。

目录:

Java篇

Java的基本数据类型和对应的占用空间
参考答案:https://www.runoob.com/java/java-basic-datatypes.html

面向对象的三大特征?

                                                                                                                              封装、继承、多态。

什么是多态?

                                                                                                                     接口的多种不同实现方式就是多态。比如同一个接口,使用不同的实例,执行不同的操作。             (这个很重要,一定要理解,有点抽象,不理解的请自行百度。)

局部内部类可以修改局部变量吗?

                                                                                                           不能。原因:因为局部内部类要访问局部变量,局部变量必须被声明为final,所以局部内部类无法修改局部变量。JDK1.8后,在局部内部类访问局部变量即使变量没有被声明为final也是自动认为该变量是final,所以局部内部类只能访问而无法修改局部变量。注意!!!成员内部类是可以修改局部变量的。
                                                                   

多线程篇

JVM启动的是多线程吗?

                                                                                                                    JVM启动至少启动了垃圾回收线程和主线程,所以是多线程的。

如何让主线程等待所有子线程执行完了再执行?

                                                                                                          方法:1.使用Thread的join()方法,在调用Thread的start()方法后调用Thread的jion()方法。Thread的join()方法的作用是让父线程等待子线程结束之后才能继续执行。
                                                                                                                 2.使用工具类CountDownLatch。
                                                                                                                 3.使用工具类CyclicBarrier。
                                                                                                                 4.使用线程池。
                                                                                                                 参考:https://blog.csdn.net/m0_37125796/article/details/81105099

数据结构篇

Set、List、Map的区别与联系?
ArrayList和LinkedList区别?
Vector和ArrayList 区别?
参考解析:https://blog.csdn.net/qq_39241239/article/details/82116734

Map的有序和无序实现类有哪些?

                                                                                                                       1.HashMap、Hashtable不是有序的;

                                                                                                                      2.TreeMap和LinkedHashMap是有序的(TreeMap默认 Key 升序,LinkedHashMap则记录了插入顺序)。

MySQL篇

整理中…

算法篇

整理中…

Spring篇

Spring 中创建的Bean(例如Controller)默认是单例还是多例的?

                                                                                                                                       默认是单例的。
                                                                                                                                   

Spring框架中的三大核心思想是什么?

                                                                                                                       DI(依赖注入)
                                                                                                                       IOC(控制反转)
                                                                                                                       AOP(面向切面编程)

Spring MVC篇

整理中…

MyBatis篇

整理中…

Redis篇

redis的数据类型有哪些?

																																						1.字符串(String)
																																						2.哈希(Hash)
																																						3.列表(List) 
																																						4.集合(Set)
																																						5.有序集合(sorted set)

JVM篇

对象被垃圾回收器回收前会调用什么方法?

                                                                                                             finalize()
原创文章 23 获赞 31 访问量 4万+

猜你喜欢

转载自blog.csdn.net/ldkjsdty/article/details/89020968