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. JQ重复注册问题

    开发中常常会碰到事件重复注册,简单总结一下解决方法. (1)bind注册事件 $('...').unbind().bind('...',function(){}) (2)live注册事件 $('... ...

  2. 使用python实现后台系统的JWT认证(转)

    今天的文章介绍一种适用于restful+json的API认证方法,这个方法是基于jwt,并且加入了一些从oauth2.0借鉴的改良. 1. 常见的几种实现认证的方法 首先要明白,认证和鉴权是不同的.认 ...

  3. YYHS-Super Big Stupid Cross(二分+扫描线+平衡树)

    题目描述 “我是超级大沙茶”——Mato_No1 为了证明自己是一个超级大沙茶,Mato 神犇决定展示自己对叉(十字型)有多么的了 解. Mato 神犇有一个平面直角坐标系,上面有一些线段,保证这些线 ...

  4. 关于python安装一些包时出现的错误解决方法

    1.关于wordcloud的安装 --win10,py3.6环境下安装总是出现安装错误,解决方法,下载wordcloud的wheel文件,进行安装. 详情参考:https://github.com/a ...

  5. 【爬虫入门手记03】爬虫解析利器beautifulSoup模块的基本应用

    [爬虫入门手记03]爬虫解析利器beautifulSoup模块的基本应用 1.引言 网络爬虫最终的目的就是过滤选取网络信息,因此最重要的就是解析器了,其性能的优劣直接决定这网络爬虫的速度和效率.Bea ...

  6. WPF DataGridHyperlinkColumn

    为了点击链接,我们使用 <DataGrid x:Name="data" LoadingRow="load" ItemsSource="{Bind ...

  7. Python C++扩展

    Python C++扩展 前段时间看了一篇文章,http://blog.jobbole.com/78859/, 颇有感触,于是就结合自己工作中的知识作了一个简单的Python移动侦测:移动侦测的算法使 ...

  8. C# MessageBox.Show每隔3秒自动关闭

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  9. Django项目搭建和配置总结

    安装和创建虚拟环境 参考:linux系统下Python虚拟环境的安装和使用 安装Django包 先进入虚拟环境,在联网下执行: pip install django==1.8.7 1.8.7表示dja ...

  10. C 指针的几个注意点

    1.静态指针在初始化时必须使用编译时可以确定地址表达式完成赋值,如 static int a; static int* pa = &a;//初始化时必须使用可以确定地址的表达式 int b; ...