没有合适的资源?快使用搜索试试~ 我知道了~
java面试题目 大家看看吧,还是不错的
资源推荐
资源详情
资源评论
程序员面试之九阴真经
1、谈谈 nal, nally, nalize 的区别:
:::修饰符(关键字)如果一个类被声明
为 ,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既
被声明为 的,又被声明为 的。将变量或方法声明为 ,可以保证它
们在使用中不被改变。被声明为 的变量必须在声明时给定初值,而在以后的引
用中只能读取,不可修改。被声明为 的方法也同样只能使用,不能重载
:::再异常处理时提供 块来执行任何清除操作。如果抛出一个异常,
那么相匹配的 子句就会执行,然后控制就会进入 块(如果有的话)。
:::方法名。 技术允许使用 方法在垃圾收集器将对象从内
存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有
被引用时对这个对象调用的。它是在 类中定义的,因此所有的类都继承了它 。
子类覆盖 方法以整理系统资源或者执行其他清理工作。方法是
在垃圾收集器删除对象之前对这个对象调用的。
2、Anonymous Inner Class (匿名内部类) 是否可以 extends(继
承)其它类,是否可以 implements(实现)interface(接口):
匿名的内部类是没有名字的内部类。不能 继承其它类,但一个内部类可以
作为一个接口,由另一个内部类实现。
3、&和&&的区别:
是位运算符。是布尔逻辑运算符。
4、HashMap 和 Hashtable 的区别:
都属于 接口的类,实现了将惟一键映射到特定的值上。
类没有分类或者排序。它允许一个 键和多个 值。
类似于 ,但是不允许 键和 值。它也比 慢,
因为它是同步的。
5、Collection 和 Collections 的区别:
是个 下的类,它包含有各种有关集合操作的静态方法。
是个 下的接口,它是各种集合结构的父接口。
6、GC 是什么? 为什么要有 GC? (基础):
是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。
要请求垃圾收集,可以调用下面的方法之一:
!"#
$"#$"#。
7、String s = new String("xyz");创建了几个 String Object:
两个对象,一个是“%&一个是指向“%的引用对象 。
8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少:
''(返回(#)'),*''(返回(#)*''。
9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 +=
1;有什么错:
'+','+'-',有错,' 是 型,'-' 是 型&不能显式转化为
型。可修改为 '+'-'。'+','-+' 正确。
10、sleep() 和 wait() 有什么区别:
方法是使线程停止一段时间的方法。在 时间间隔期满后,线程不一定
立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃
执行,除非.醒来”的线程具有更高的优先级
正在运行的线程因为其它原因而阻塞。
/是线程交互时,如果线程对一个同步对象 发出一个 /调用,该线程会暂
停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
11、数组有没有 length()这个方法? String 有没有 length()这个方法:
数组没有 #这个方法,有 # 的属性。
!# 有有 #这个方法。
12、Overload 和 Override 的区别。Overloaded 的方法是否可以改
变返回值的类型:
方 法 的 重写 # 和重 载 # 是 多 态 性的 不 同表 现 。重 写
# 是父类与子类之间多态性的一种表现,重载 # 是一个类中多
态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该
方法被重写 #。子类的对象使用这个方法时,将调用子类中的定义,对它
而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们
或 有 不 同 的 参 数 个 数 或 有 不 同 的 参 数 类 型 , 则 称 为 方 法 的 重 载
#。 的方法是可以改变返回值的类型。
13、Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是
用==还是 equals()? 它们有何区别:
! 里的元素是不能重复的,那么用 方法来区分重复与否。0是判
读两个 ! 是否相等。
0和++方法决定引用值是否指向同一对象 0在类中被覆盖,为的是当
两个分离的对象的内容和类型相配的话,返回真值。
14、给我一个你最常见到的 runtime exception:
1"2& 1!2& 345/2&
3465/2& $2& 62&
2& 2& 2&
72& 2"!82& 9#1#"2&
9#!2& 9#:!2&
9#!2& 9"##2& 9;32&
#$2& <#1!2&
<!2"2& <:2& :72&
:2& $="2& !2&
!"2& 6>/2&
6"!2&62。
15、error 和 exception 有什么区别:
表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不
可能指望程序能处理这样的情况。
表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会
发生的情况。
16、List, Set, Map 是否继承自 Collection 接口:
?,! 是。
不是。
17、abstract class 和 interface 有什么区别:
声明方法的存在而不去实现它的类被叫做抽象类(),它用于要
创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情
况。不能创建 类的实例。然而可以创建一个变量,其类型是一个抽象类,
并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。1类
的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,
在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(;)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性
可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义 成员变量。接口的实现与子类相似,除了该实现类不能
从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种
接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于
有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可
以转换到接口类型或从接口类型转换,;运算符可以用来决定某对象的类是
否实现了接口。
18、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象
类是否可继承实体类(concrete class):
接口可以继承接口。抽象类可以实现""接口,抽象类是否可继承实
体类,但前提是实体类必须有明确的构造函数。
19、启动一个线程是用 run()还是 start():
启动一个线程是调用 方法,使线程所代表的虚拟处理机处于可运行状态,
这意味着它可以由 @ 调度并执行。这并不意味着线程就会立即运行。方法可
以产生必须退出的标志来停止一个线程。
20、构造器 Constructor 是否可被 override:
构造器 不能被继承,因此不能重写 #,但可以被重载
#。
21、try {}里有一个 return 语句,那么紧跟在这个 try 后的 nally
{}里的 code 会不会被执行,什么时候被执行,在 return 前还是后:
会执行,在 前执行。
22、两个对象值相同(x.equals(y) == true),但却可有不同的 hash
code,这句话对不对:
不对,有相同的 。
23、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的
属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递:
是值传递。编程语言只由值传递参数。当一个对象实例作为一个参数被传递
到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,
但对象的引用是永远不会改变的。
24、swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作
用在 String 上:
/(')中,' 是一个整数表达式。因此传递给 /和
语句的参数应该是 、 、 或者 。#&#都不能作用于
/。
25、编程题: 写一个 Singleton 出来:
!# 模式主要作用是保证在 应用程序中,一个类 只有一个实例
存在。
一般 !# 模式通常有几种种形式:
第一种形式:定义一个类,它的构造函数为 的,它有一个 的
的该类变量,在类初始化时实例话,通过一个 的 #9 方法获
取对它的引用&继而调用其中的方法。
!#A
!#AB
CC在自己内部定义自己一个实例,是不是很奇怪?
CC注意这是 只供内部调用
!#+/!#,
CC这里提供了一个供外部访问本 的静态方法,可以直接访问
!##9A
,
B
B
D
第二种形式:
!#A
!#+,
!##9A
CC这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
CC使用时生成实例,提高了效率!
;++
=/!#,
, B
B
其他形式:
定义一个类,它的构造函数为 的,所有方法为 的。
一般认为第一种形式要更加安全些。
26、Hashtable 和 HashMap 的区别:
继 承 自 7 类 , 而 是 ') 引 进 的
; 的一个实现
允许将 作为一个 的 8 或者 ,而 不允
许
还 有 就 是 , 把 的 方 法 去 掉 了 , 改 成
和 E。因为 方法容易让人引起误解。
最大的不同是, 的方法是 ! 的,而 不是,在
多个线程访问 时,不需要自己为它的方法实现同步,而
就必须为之提供外同步。
和 采用的 C 算法都大概一样,所以性能不会有很
大的差异
27、作用域 public,private,protected,以及不写时的区别:
作用域 当前类 同一 8#子孙类 其他 8#
FFFF
FFFG
;FFGG
FGGG
不写时默认为 ;。
28、ArrayList 和 Vector 的区别,HashMap 和 Hashtable 的区别:
答:就 1? 与 @ 主要从二方面来说
一同步性H@ 是线程安全的,也就是说是同步的,而 1? 是线程序不安全
的,不是同步的
二数据增长H当需要增长时&@ 默认增长为原来一培,而 1? 却是原来的一
半
就 与 > 主要从三方面来说。
一历史原因H 是基于陈旧的 7 类的, 是 ') 引
进的 接口的一个实现
二同步性H 是线程安全的,也就是说是同步的,而 是线程序不
安全的,不是同步的
三值:只有 可以让你将空值作为一个表的条目的 8 或 。
剩余35页未读,继续阅读
资源评论
a550992
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三条移动平均线相交的EA交易策略
- JAVA的SpringBoot高校学生公寓宿舍管理系统源码数据库 MySQL源码类型 WebForm
- 猫狗识别系统(python+UI界面)
- 布拉格结构相关资料.zip
- C#ASP.NET企业在线记账平台源码数据库 SQL2012源码类型 WebForm
- PHP客户关系CRM管理系统源码数据库 MySQL源码类型 WebForm
- python-勇者斗恶龙 回合制游戏 有图有真相 英雄和怪兽行为和状态的设定
- JAVA的Springboot垃圾分类识别小程序源码带部署文档数据库 MySQL源码类型 WebForm
- 图像分类数据集:番茄叶片病害图像识别数据集(包括划分好的数据【文件夹保存】、类别字典文件)
- web版本实现迅飞语音听写(流式版)封装代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功