java高级工程师-------j2se疑惑知识

  • abstract的理解

1)抽象类的抽象方法是不能实例的,抽象类也是不能被实例的,可以有非抽象方法

2)抽象类的子类如果是非抽象类,则必须实例化父类的抽象方法,因为有抽象方法的类必须是抽象类

3)可以有抽象类、抽象方法,但是不能有抽象变量

  •       Interface的理解

1)接口类是特殊的抽象类

2)接口类中只可以定义final   static 修饰的变量,抽象类可以定义其他的变量

3)接口类中所有方法都是抽象的,抽象类可以有非抽象方法




  • final和static关键字的使用?



  • 堆和栈的区别?(heap和stack)

java中包括堆和栈两种内存存储空间。当程序进入一个方法时,系统会为该方法分配一个私有的栈空间,

栈是存放方法内的局部变量的内存,方法结束时,该空间也随之释放。

堆空间是一般不放在栈中的变量,例如存储new的对象或者final变量的一个存储空间


  • java序列化Serializable

java序列化是指java对象转换成字节流或者字节流转换成java对象的过程。implements Serializable只是为了标注该对象是可被序列化的

 


  • hashtable和hashmap的区别?

1)历史原因:hashtable是基于陈旧的Dictionary     而hashmap是java1.2以后Map的一个接口实现类

2)线程安全:hashtable是线程安全的,可以同步的,而hashmap不是线程安全的不是同步的

3)hashmap可以把空值作为key或者value的值

  • JAVA代码中使用可序列化

当我们在网络中传递对象时,网络层只能解析二进制文件,所以当网络传输对象时,就需要降对象序列化之后才能进行传递,放入到httpSession中

的对象一定会被在网络层传输的

  • java中equal()的作用和hashcode()的作用

1)java中规定两个对象的equals方法相等的hashcode()方法一定相等,hashcode()相等的equals方法不一定相等

2)重写了equal方法必须重写hashcode()方法?

因为原始的object的hashcode方法时返回基于对象的id,但是当set集合map集合中重写equals方法时,判断的是两个对象的值是否相等而不是对象,如果不重写hashCode方法则会返回两个对象的hashcode不等,这样就违背了两个对象的equals方法相等的hashcode()方法一定相等原则所以重写了equal方法必须重写hashcode()方法。

3)set、map集合中得值是不可重复的,内部就是通过重写hashcode和equals方法来提高匹配效率的。比如set集合含有1000个元素,现插入一个元素,传统是需要进行1000次equals比较,但是set集合内部重写equals和hashcode方法之后,则只需要先判断该元素hashcode的hash值,没有则直接进行插入,有则判断equals方法判断内部值是否相等,这样就只需要进行最多一次的判断,大大提高了匹配效率


  • sleep和wait()的区别?

        1、这两个方法来自不同的类分别是Thread和Object

  2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。

  3、wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在

  任何地方使用(使用范围)

  synchronized(x){

  x.notify()

  //或者wait()

  }

  4、sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常

  • collection与collections的区别?

collection是一个接口如set、list,collectionss是一个类提供列表排序等方法的类




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值