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

  1. 不希望有子类的时候;

  2. 不希望功能被扩展的时候。

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】的更多相关文章

  1. Java 核心内容相关面试题【3】

    目录 面向对象编程(OOP) 常见的Java问题 Java线程 Java集合类 垃圾收集器 异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet ...

  2. Java 核心内容相关面试题【2】

    第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...

  3. Java 核心内容相关面试题【4】

    spingmvc 和 structs的区别 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置. spring3 mvc可以认为已经100%零配置了(除了配置spring mv ...

  4. Java中JVM相关面试题-整理

    1.JVM内存模型 •程序计数器:当前线程字所执行节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有. •Java虚拟机栈:存放基本数据类型,对象的引用,方法出口等,线程私有. •本地方 ...

  5. 31道Java核心面试题,一次性打包送给你

    先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...

  6. 万字长文,62道Java核心面试题,一次性打包送给积极向上的你

    先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...

  7. Java多线程相关面试题及答案-整理

    1.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速.比如,如果一个线程完成 ...

  8. Java初中级程序员面试题宝典

    Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...

  9. 【搞定 Java 并发面试】面试最常问的 Java 并发进阶常见面试题总结!

    本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.觉得内容不错 ...

随机推荐

  1. Python实战之用类的静态方法实现登录验证

    #!usr/bin/env Python3 # -*-coding:utf-8-*- __author__="William" #define a class,just to le ...

  2. 在项目中创建单元测试时junit的配置和使用

    首先配置项目中AndroidMainfest.xml文件,加入 <instrumentation android:name="android.test.InstrumentationT ...

  3. M-定在下边的区域

    1 效果 2 布局 3 样式

  4. 解读python中SocketServer源码

    在看SocketServer源码之前,先看一个例子: class Base(object): def __init__(self, name): self.name = name self.Testf ...

  5. Java IO流 思维导图

  6. LINUX 笔记-命令执行顺序 && ,||

    && 格式:命令1 && 命令2 说明:命令1返回真(即返回0,成功被执行)后,命令2才能够被执行 例:/apps/bin目录将会被移到/apps/dev/bin目录下 ...

  7. git上传遇到 GitHub could not read Username 的解决办法

    Gitversion 1.8.5.2 执行git push命令异常,如下: Push failed Failed with error: unable to read askpass response ...

  8. [poj1644]放苹果

    题目链接:http://poj.org/problem?id=1664       把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5, ...

  9. LeetCode 594. Longest Harmonious Subsequence (最长的协调子序列)

    We define a harmonious array is an array where the difference between its maximum value and its mini ...

  10. LeetCode 75. Sort Colors(排序颜色)

    Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...