课程咨询 :186-8884-0703
咨询QQ:1615412715

深圳Java培训 > 达内新闻 > 【达内JAVA试题】2016高薪Java面试题集锦(2)
  • 【达内JAVA试题】2016高薪Java面试题集锦(2)

    发布:深圳Java培训      来源:达内新闻      时间:2016-03-08

  • Object有哪些公用方法?

    1、方法equals测试的是两个对象是否相等

    2、方法clone进行对象拷贝

    3、方法getClass返回和当前对象相关的Class对象

    4、方法notify,notifyall,wait都是用来对给定对象进行线程同步的

    Java的四种引用,强弱软虚,用到的场景

    【达内JAVA试题】2016高薪Java面试题集锦(2)

    1、强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象

    2、软引用:在使用软引用时,如果内存的空间足够,软引用就能继续被使用,而不会被垃圾回收器回收,只有在内存不足时,软引用才会被垃圾回收器回收。

    3、弱引用:具有弱引用的对象拥有的生命周期更短暂。因为当 JVM 进行垃圾回收,一旦发现弱引用对象,无论当前内存空间是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象

    4、虚引用:顾名思义,就是形同虚设,如果一个对象仅持有虚引用,那么它相当于没有引用,在任何时候都可能被垃圾回收器回收。Hashcode的作用,与 equal 有什么区别

    1、同样用于鉴定2个对象是否相等的,java集合中有 list 和 set 两类,其中 set不允许元素重复实现,那个这个不允许重复实现的方法,如果用 equal 去比较的话,如果存在1000个元素,你 new 一个新的元素出来,需要去调用1000次 equal 去逐个和他们比较是否是同一个对象,这样会大大降低效率。hashcode实际上是返回对象的存储地址,如果这个位置上没有元素,就把元素直接存储在上面,如果这个位置上已经存在元素,这个时候才去调用equal方法与新元素进行比较,相同的话就不存了,散列到其他地址上JAVA 中堆和栈的区别,说下java 的内存机制

    1、基本数据类型比变量和对象的引用都是在栈分配的

    2、堆内存用来存放由new创建的对象和数组

    3、类变量(static修饰的变量),程序在一加载的时候就在堆中为类变量分配内存,堆中的内存地址存放在栈中

    4、实例变量:当你使用java关键字new的时候,系统在堆中开辟并不一定是连续的空间分配给变量,是根据零散的堆内存地址,通过哈希算法换算为一长串数字以表征这个变量在堆中的"物理位置”,实例变量的生命周期--当实例变量的引用丢失后,将被GC(垃圾回收器)列入可回收“名单”中,但并不是马上就释放堆中内存

    5、局部变量: 由声明在某方法,或某代码段里(比如for循环),执行到它的时候在栈中开辟内存,当局部变量一但脱离作用域,内存立即释放String、StringBuffer与StringBuilder的区别

    1、String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象

    2、StringBuffer和StringBuilder底层是 char[]数组实现的

    3、StringBuffer是线程安全的,而StringBuilder是线程不安全的

    Override和Overload的含义去区别

    1、Overload顾名思义是重新加载,它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数、类型、返回值但是函数名字依然不变。

    2、就是ride(重写)的意思,在子类继承父类的时候子类中可以定义某方法与其父类有相同的名称和参数,当子类在调用这一函数时自动调用子类的方法,而父类相当于被覆盖(重写)了。

    希望以上对你将你有所帮助!达内深圳JAVA开发培训有着国内首家完整的移动JAVA开发课程体系,高度专注JAVA前沿技术。达内深圳JAVA培训开发项目全部来自于真实的企业项目,单独项目代码量超过 6万行。为了让学员尽快的进入到企业开发的项目中,达内使用自主开发的产品和为客户定制的企业产品为案例,大批深圳达内JAVA培训开发学员都从中收益。

    我们是 一群热爱IT的年轻人,如果你也爱IT、爱JAVA开发,欢迎前来达内深圳JAVA培训中心参观学习,让我们共同为梦想发声。

上一篇:【达内JAVA试题】2016高薪Java面试题集锦(1)

下一篇:3.8 达内祝你节日快乐!

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:4月28日

Java--零基础周末班

Java--零基础周末班

开班日期:4月28日

Java--大数据全日制班

Java--大数据全日制班

开班日期:4月28日

Java--大数据周末班

Java--大数据周末班

开班日期:4月28日

  • 地址:深圳市宝安区共乐路西乡商会大厦10楼——深圳JAVA培训中心宝安校区
    深圳市龙岗区横岗力嘉路2013文化创客园A栋——深圳JAVA培训中心龙岗校区
  • 课程培训电话:186-8884-0703
    咨询QQ:1615412715 全国免费咨询热线:400-111-8989
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56