java笔试题2

  1. == 和equal方法的区别
    答: 1. 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
    他们之间的比较,应用双等号(==),比较的是他们的值。
    2.复合数据类型(类)
    当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。
  2. HashMap和HashTable区别
    答: 1.hashmap和hashTable都继承了Map,CloneAble,Serializable三个接口,但是hashMap继承的是AbstractMap而hashTable继承的是Dictionary。2.hashMap可以接受null的key和value,但是hashTable如果有null值会NullPointerException。3. hashTable是线程安全的,hashMap不是线程安全的。因为hashTable的get方法中用了synchronized描述符。
  3. HashSet和TreeSet的区别
    答: 1.hashSet底层用的是hashmap,TreeSet底层用的是treemap。2. 存储时保证数据唯一性依据不同:HashSet是通过复写hashCode()方法和equals()方法来保证的,而HashSet通过Compareable接口的compareTo()方法来保证的。3. HashSet无序,TreeSet有序。4. hashset底层结构用的是hash表,TreeSet底层用的是二叉树。
  4. .ArrayList和LinkedList的区别
    答: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。3. 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。4.线程不安全。
  5. 假如你正在开发一个系统的登录程序,请简述你是如何实现记住用户名和密码这个操作的,并如何实现
    答: 首先在登录的时候会进行查询cookie里面是否有我要的信息,如果有的话。拿出来放到form表单里面。如果没有登陆成功以后,把需要的信息放在cookie中并且付一个时间。

你可能感兴趣的:(java笔试题2)