JAVA常见笔试面试题

对笔试面试题的不熟练其实恰恰反应了基础的薄弱;

很多在工作中“来不及”应用的知识,或许可以从“死记硬背”时开始;

别在一个坑里跌倒三次,铭记!

 

1、memcache和redis的区别

  • redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储
  • redis支持数据的备份,即master-slave模式的数据备份
  • redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用

[参考] http://blog.jobbole.com/101496/

 

2、Hashtable 和 HashMap区别

参数 抽象类 接口
默认的方法实现 它可以有默认的方法实现 接口完全是抽象的。它根本不存在方法的实现
实现 子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现。 子类使用关键字implements来实现接口。它需要提供接口中所有声明的方法的实现
构造器 抽象类可以有构造器 接口不能有构造器
与正常Java类的区别 除了你不能实例化抽象类之外,它和普通Java类没有任何区别 接口是完全不同的类型
访问修饰符 抽象方法可以有publicprotecteddefault这些修饰符 接口方法默认修饰符是public。你不可以使用其它修饰符。
main方法 抽象方法可以有main方法并且我们可以运行它 接口没有main方法,因此我们不能运行它。
多继承 抽象方法可以继承一个类和实现多个接口 接口只可以继承一个或多个其它接口

 

 

 

 

 

 

 

 

 

3、HashMap 和 HashTable区别

 

4、怎么保证HashMap线程安全(同步)

//Hashtable
Map<String, String> hashtable = new Hashtable<>();
 
//synchronizedMap
Map<String, String> synchronizedHashMap = Collections.synchronizedMap(new HashMap<String, String>());
 
//ConcurrentHashMap
Map<String, String> concurrentHashMap = new ConcurrentHashMap<>();

[参考] http://www.importnew.com/21396.html

 

[相关]

http://www.cnblogs.com/huajiezh/p/5790937.html

http://www.cnblogs.com/dolphin0520/p/3958019.html

posted @ 2017-11-08 01:05  hugh.zm  阅读(88)  评论(0编辑  收藏  举报