Java面试题总结(面试宝典) JAVA基础

1.JDK和JRE有什么区别?

JDK:Java Development Kit 的简称,Java开发工具包,提供了Java的开发环境和运行环境.
JRE:Java Runtime Environment 的简称,Java运行环境,为Java的运行提供了所需环境.
具体来说JDK其实包含了JRE,同时还包含了编译Java源码的编译期Javac,还包含了很多Java程序调试和分析的工具.简单来说:如果你需要运行Java程序,只需安装JRE就可以了,如果需要编写JAVA程序,需要安装JDK.

2.== 和 equals 的区别是什么?

== 对于基本数据类型来说是值的比较,对于引用类型来说是比较的是引用;
equals默认情况下是引用比较,只是很多类重写了equals方法,比如String、Integer等把它变成了值比较,所以一般情况下equals比较的是值是否相等。

3.final 在 Java 中有什么作用?

final修饰的类不能被继承;
final修饰的方法不能被重写;
被final修饰的变量不可以被改变,final修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。

4.final、finally、finalize 有什么区别?

1)final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,被其修饰的类不可继承。

2)finally:异常处理语句结构的一部分,表示总是执行。

3)finalize:Object 类的一个方法,在垃圾回收器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

5.String 类的常用方法都有哪些?

indexOf():返回指定字符的索引。
charAt():返回指定索引处的字符。
replace():字符串替换。
trim():去除字符串两端空白。
split():分割字符串,返回一个分割后的字符串数组。
getBytes():返回字符串的 byte 类型数组。
length():返回字符串长度。
toLowerCase():将字符串转成小写字母。
toUpperCase():将字符串转成大写字符。
substring():截取字符串。
equals():字符串比较。

6.Java中的容器有哪些?

Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示:
Collection
List、ArrayList、LinkedList、Vector、Stack、Set、HashSet、LinkedHashSet、TreeSet
Map
HashMap、LinkedHashMap、TreeMap、ConcurrentHashMap、Hashtable

7.Redis单线程为什么支持高并发

1.redis是基于内存的,内存的读写速度非常快(纯内存)。
2.redis是单线程的,省去了很多上下文切换线程的时间(避免线程切换和竞态消耗)。
3.redis使用多路复用技术,可以处理并发的连接(非阻塞IO)。

8.为什么MySQL要用B+树当索引?

层高和查询比较稳定,横向扩展比较 可以容纳更大的数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值