2020-12-09整合网络搜的面试题自己找的答案

一、Java基础

1.final 在 java 中有什么作用?

final修饰类时,该类不能被继承
	在final修饰方法时,该方法不能被重写
	final修饰的变量叫常量,常量必须初始化,初始化后值不能被改变

2.反射中,Class.forName和classloader的区别

	class.forName在执行.class时会将.class文件加载到jvm中还会执行static代码块
	classloader只会将.class文件加载到jvm并不会执行static代码块

3.说说你知道的几个Java集合类

	collection接口
		
				list接口
					ArrayList实现类
								底层是数组,查询快增删慢
					LinkedList实现类
								底层是链条,增删快查询慢	
					Vector实现类(不常用,工作至今未曾用过也不了解)
				set接口
					HashSet实现类
								没有重复的元素
								没有索引,也没有带索引的方法,不能使用普通for循环遍历
								是一个无序的集合,存储和去出的顺序可能不一致
								底层是哈希表,查询快
					LinkedHashSet实现类
								是有序的
								底层是由哈希表+单链条组成的
								没有重复元素
					Treeset实现类
								可以自然排序
								可以比较排序
	map接口
				hashMap实现类
							底层是哈希表,是由键(key)值(value)对组成 key与value是可以为null但key不能重复值是可以重复的,hashMap实现了cloneable接口和Serializable接口可进行对象克隆和序列化操作
				hashTbale实现类(不常用)
				treeMap(不常用)

4.String、StringBuilder、StringBuffer区别

String是用final修饰的是不可变字符串
StringBuilder和StringBuffer都是可变字符串但Stringbuilder的线程是不安全的,StringBuffer中有很多带synchronized关键字可以保证线程的安全

5.HashMap 和 Hashtable的区别

相同点
	都是Map的实现类
不同点
	HashMap是不同步的而HashTable是同步的
	HashMap的线程是不安全的而HaTable线程是安全的

6.String 类的常用方法都有那些

length:返回字符串长度
charAt:返回指定位置的字符串长度
indexOf:返回指定字符的索引
split:切割字符串
equals:比较字符串
。。。

7.Java 的引用类型有哪几种

强引用类型:
		是指创建一个对象并把对象赋给一个引用变量
		当有引用变量指向是永远不会被垃圾回收机制回收
弱引用类型:
		如果一个对象具有软引用,在内存足够时,不会被垃圾回收
		如果内存不足时,会回收,在没有被回收时,可以被程序使用
软引用类型:
		用来描述非必须对象的,在内存是否充足时都会被jvm回收掉
虚引用类型
		在任何时候都会被垃圾回收掉

8.抽象类和接口的区别

从实现来说:抽象类是用extends继承的,而接口是用implements实现的
从构造函数来说:抽象类可以有构造函数,而接口没有
从main方法上来说:抽象类可以有main方法并且可以运行,而接口没有
从实现数量来看:类时多实现,单继承的
从修饰符来说:接口默认为public,抽象类可以使用任意的修饰符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值