Java 核心内容相关面试题【1】
1、什么是 transient 变量?
transient 变量是指不会被序列化的变量。
2、什么是同步(synchronization)?
在多线程环境中,同步是指控制多个线程访问共享资源的方式。没有同步的话,可能出现一个线程正在读取或使用共享资源,同时另一个线程却在修改它的情况,这会造成严重的错误。
3、在 JDK 1.2 中,stop()
, suspend()
和 resume()
这三个方法有什么变化?
它们都被标注为 "deprecated",也就是应该避免使用。
4、null
是一个关键字吗?
不是。
5、线程停止运行后是什么状态?
线程停止运行后,就变成 DEAD 状态。
6、什么是集合 API(Collection API)?
集合 API 是指一组用于帮助处理对象集合的类和接口。
7、List
接口是做什么的?
List 接口是用来处理有序且允许重复的对象集合的接口。
8、Vector
类是做什么的?(译注:现在没人用这个类了)
Vector 是一个可增长的对象数组。
9、抽象类可以实例化么?
抽象类不能直接实例化,而只能通过创建其子类对象,来间接实例化。
10. Java 程序中用到的第一个关键字是什么?
package
。
11. 什么时候应该将类定义为 final
?
不希望有子类的时候;
不希望功能被扩展的时候。
12. 能否将抽象方法声明为静态的?
不允许,这样做会导致编译错误:illegal combination of modifiers abstract and static
13. 能否将接口声明为抽象的?
可以。声明接口的时候加不加上 abstract 没有区别。
14. 能否声明一个内容为空的接口?
可以。
15. 能否将接口声明为 final
?
不允许,这样做会导致编译错误。因为接口必须要有子类。
16. 如何处理 ClassCastException?
在强制类型转换之前用 instanceof 判断是否可以转换。
17. "xyz"
是基本型别(Primitive)类型的值吗?
不是,"xyz"
是一个字符串,不是基本型别类型的值。
18. 一个对象什么时候可以被回收(garbage collection)?
当程序不可访问(unreachable)该对象的时候,该对象可以被回收。
19. 所有线程都要实现的一个方法是什么?
run()
方法,不论该线程是继承自 Thread
类或是实现了 Runnable
接口。
20. 当异常没有被捕获时,会发生什么?
当前线程所在的线程组会执行一个叫 uncaughtException()
的方法,最后程序会异常退出。
21. 构造方法中如何使用 this()
和 super()
?
前者用来调用当前类的其他构造方法;后者用来调用父类的构造方法。
22. 什么情况下垃圾收集器会执行对象的 finalize()
方法?
当垃圾收集器检测到该对象不可访问(unreachable)时,会执行该对象的 finalize()
方法。
23. 方法重载(overloading)有什么要求?
方法的名称必须一样;方法的参数声明必须不一样。
24. 编译器什么情况下会提供缺省构造方法(default constructor)?
当一个类没有其他构造方法的时候,编译器会为其提供缺省的构造方法。
25. 非静态内部类可以使用哪些修饰符(modifier)?
非静态内部类可以使用 final
或 abstract
修饰符。
Java 核心内容相关面试题【1】的更多相关文章
- Java 核心内容相关面试题【3】
目录 面向对象编程(OOP) 常见的Java问题 Java线程 Java集合类 垃圾收集器 异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet ...
- Java 核心内容相关面试题【2】
第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...
- Java 核心内容相关面试题【4】
spingmvc 和 structs的区别 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置. spring3 mvc可以认为已经100%零配置了(除了配置spring mv ...
- Java中JVM相关面试题-整理
1.JVM内存模型 •程序计数器:当前线程字所执行节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有. •Java虚拟机栈:存放基本数据类型,对象的引用,方法出口等,线程私有. •本地方 ...
- 31道Java核心面试题,一次性打包送给你
先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...
- 万字长文,62道Java核心面试题,一次性打包送给积极向上的你
先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...
- Java多线程相关面试题及答案-整理
1.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速.比如,如果一个线程完成 ...
- Java初中级程序员面试题宝典
Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...
- 【搞定 Java 并发面试】面试最常问的 Java 并发进阶常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.觉得内容不错 ...
随机推荐
- Python实战之用类的静态方法实现登录验证
#!usr/bin/env Python3 # -*-coding:utf-8-*- __author__="William" #define a class,just to le ...
- 在项目中创建单元测试时junit的配置和使用
首先配置项目中AndroidMainfest.xml文件,加入 <instrumentation android:name="android.test.InstrumentationT ...
- M-定在下边的区域
1 效果 2 布局 3 样式
- 解读python中SocketServer源码
在看SocketServer源码之前,先看一个例子: class Base(object): def __init__(self, name): self.name = name self.Testf ...
- Java IO流 思维导图
- LINUX 笔记-命令执行顺序 && ,||
&& 格式:命令1 && 命令2 说明:命令1返回真(即返回0,成功被执行)后,命令2才能够被执行 例:/apps/bin目录将会被移到/apps/dev/bin目录下 ...
- git上传遇到 GitHub could not read Username 的解决办法
Gitversion 1.8.5.2 执行git push命令异常,如下: Push failed Failed with error: unable to read askpass response ...
- [poj1644]放苹果
题目链接:http://poj.org/problem?id=1664 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5, ...
- LeetCode 594. Longest Harmonious Subsequence (最长的协调子序列)
We define a harmonious array is an array where the difference between its maximum value and its mini ...
- LeetCode 75. Sort Colors(排序颜色)
Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...