黑马程序员技术交流社区

标题: 【分享】 经典面试题(1) [打印本页]

作者: 陈兆辉    时间: 2014-9-24 11:06
标题: 【分享】 经典面试题(1)
本帖最后由 陈兆辉 于 2014-9-25 11:55 编辑

1. float型float f=3.4是否正确?

答:不正确,应为float f=3.4f

2. String s = new String(“xyz“);创建了几个String Object?

答:创建了两个,一个字符对象,一个引用对象

3. 构造器Constructor是否可被override?

答:不可以。

4. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

答:不可以。synchronized 方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返回时才将锁释放,此后被阻塞的线程才能获得该锁,重新进入可执行状态。

5. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

答:是引用传递。

6. Overload和Override的区别

答:方法的覆盖(Overriding)和重载(Overloading)是Java多态性的不同表现。覆盖(Overriding)是父类与子类之间多态性的一种表现,重载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法可以改变返回值的类型。

7. 请说出你所知道的线程同步的方法

答:1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。
2. synchronized 块:通过 synchronized关键字来声明synchronized 块。

8. Java类实现序例化的方法是?
答:Java类要实现序列化,对应的类必须先实现Serializable和Externalizable这两种接口,然后就可以调用ObjectOutputStream的witeObject()方法来保存对象以及通过ObjeatInputStream的readObjeact()方法来读取保存的对象。
作者: 648947721    时间: 2014-9-24 11:29
看一看。
作者: 马嘉    时间: 2014-9-24 11:35
学习了,谢谢
作者: 神秘人F    时间: 2014-9-24 12:07
受教了,好几个如果不看答案都答不上来
作者: IT土豆君    时间: 2014-9-24 18:52
楼主受教了   楼主好人一枚  楼主我们要一起加油  拿上万的工资  楼主我们做朋友吧
作者: liqiaohui    时间: 2014-9-24 18:57
学习了  谢谢
作者: yl82846094    时间: 2014-9-24 18:59
学习了!!
作者: weiyi    时间: 2014-9-24 21:43
要我去面试就完了,看来要加大学习进度
作者: wyf20106    时间: 2014-9-24 21:46
学习下。。
作者: Mr_Unhappy    时间: 2014-9-24 22:19
此处留名,面试题,留以后用
作者: T-l-H、小生    时间: 2014-9-24 23:01
好东西。。。
作者: bayshier    时间: 2014-9-24 23:18
楼主好人
作者: xplcc    时间: 2014-9-24 23:20
看看看看
作者: MeryStyle    时间: 2014-9-24 23:56
屌爆了,,,
作者: 陈兆辉    时间: 2014-9-25 00:35
IT土豆君 发表于 2014-9-24 18:52
楼主受教了   楼主好人一枚  楼主我们要一起加油  拿上万的工资  楼主我们做朋友吧 ...

:L。。。
作者: however_    时间: 2014-9-25 01:04
很不错,谢谢楼主
作者: 爽朗的菜籽    时间: 2014-9-25 01:41
第四个我有点疑问
当一个线程进入某对象的 同步方法后,其他线程是否可以进去次对象的其他方法
  当线程进入某对象的同步方法,其他线程进入的不一定是这个同步方法,不必拿锁吧
作者: wisderm    时间: 2014-9-25 09:28
感谢分享!!
作者: Aaron_H    时间: 2014-9-25 09:38
第三个题,楼主能讲讲构造方法是怎么被覆盖的吗?
作者: heshengnan    时间: 2014-9-25 10:03
谢谢分享
作者: 逍遥呆    时间: 2014-9-25 10:53
谢谢分享。。。。
作者: darkads    时间: 2014-9-25 10:57
谢谢分享
作者: 九零零    时间: 2014-9-25 10:59
虽然网上能搜到好多,但还是感谢楼主分享
作者: sublimter    时间: 2014-9-25 11:05
过来看看~~~!
作者: 沈木生    时间: 2014-9-25 11:06
感觉是课本后面的啊
作者: 冷冷丶丶    时间: 2014-9-25 11:26
感谢楼主分享
作者: 我为你着迷    时间: 2014-9-25 11:31
谢谢分享!  你是个好人
作者: 陈兆辉    时间: 2014-9-25 11:46
爽朗的菜籽 发表于 2014-9-25 01:41
第四个我有点疑问
当一个线程进入某对象的 同步方法后,其他线程是否可以进去次对象的其他方法
  当线程进 ...

题目里所说的对象,是指synchronized的监视器或者叫锁,也就是说,被一个锁锁住的N个方法中,一旦一个线程进入了其中的一个方法中,锁里面的标识就被改变了,其他所有的方法,当有线程要进入时,由于判断锁内的标识,会导致无法进入。知道第一个线程出来,将标识改回去为止
作者: 陈兆辉    时间: 2014-9-25 11:55
Aaron_H 发表于 2014-9-25 09:38
第三个题,楼主能讲讲构造方法是怎么被覆盖的吗?

我写错了,是不可以……
作者: 爽朗的菜籽    时间: 2014-9-26 03:56
陈兆辉 发表于 2014-9-25 11:46
题目里所说的对象,是指synchronized的监视器或者叫锁,也就是说,被一个锁锁住的N个方法中,一旦一个线 ...

了然了 谢谢指导
作者: Pheinogin    时间: 2014-9-26 04:15
赞一个啊
作者: 希筱诺    时间: 2014-9-26 09:35
呵呵!!
作者: hailong    时间: 2014-9-26 10:20
学习了,谢谢楼主分享
作者: 陈兆辉    时间: 2014-9-26 11:01
爽朗的菜籽 发表于 2014-9-26 03:56
了然了 谢谢指导

兄弟你这么说话可是打我脸啊,指导个锤子啊,我哪有那个实力,大家都是新手嘛,交流交流呗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2