1.JavaSE基础(32) 遍历数组的3种方式?
第一种:for循环
第二种:增强for循环foreach
第三种:利用jdk自带的方法 --> java.util.Arrays.toString()
2.JAVA中循环遍历list有三种方式?
JAVA中循环遍历list有三种方式for循环、增强for循环(也就是常说的foreach循环)、iterator遍历。
3.面向对象特征有哪些方面?
1. 封装,隐藏内部实现,只暴露公共行为
2. 继承,提高代码的重用性
3. 多态,体现现实生活中相似对象的差异性
4. 抽象,抽取现实世界中相似对象的共同点
4.Java实现多态机制是什么?
通过继承父类或实现接口。不同子类或实现类对同一父类方法有不同的实现。根据对象调用相应的实现方法。另外对于相似的方法,可以使用重载。
5、HashMap和Hashtable的区别
1. 线程同步,Hashtable线程安全,HashMap线程不安全
2. 效率问题,Hashtable效率低,HashMap效率高
3. HashMap可以使用null作为key,Hashtable不可以使用null为key
4. HashMap使用的是新实现,继承AbstractMap,而Hashtable是继承Dictionary类,实现比较老
5. Hash算不同,HashMap的hash算法比Hashtable的hash算法效率高
6. HashMap把Hashtable的contains方法去掉了,改成containsValue和containsKey。因为contains方法容易让人引起误解。
7. 取值不同,HashMap用的是Iterator接口,而Hashtable中还有使用Enumeration接口
6、List和 Map区别?
一个是存储单列数据的集合,另一个是存储键和值的双列数据的集合,List中存储的数据是有顺序,并且允许重复;Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的。
- List有重复值,Map没有重复key,但可以有重复值
- List有序,Map不一定有序
- List只能存单列值,Map可以存双列值
7、List, Set, Map是否继承自Collection接口?
List,Set是,Map不是
8、List、Map、Set三个接口,存取元素时,各有什么特点?
List使用get(index)取值,也可以使用Iterator、toArray取值
Set只能通过Iterator、toArray取值
Map取值使用get(key)取值,也可以使用keySet取键值集合,也可使用values取值集合,entrySet取全部映射。
9.谈谈tomcat的优化经验?
加大tomcat使用的jvm的内存。
解决JRE内存泄漏
更新到最新版本的Tomcat来获得较好性能和可扩展。
线程池设置。
利用缓存和压缩,采用了Nginx作为缓存服务器,将图片、css、js文件都进行了缓存。