每周10道 Java 口试题由 ImportNew 整理编译自网络。
口试题谜底接头请移步:https://github.com/jobbole/java-interview/issues/1
Java口试题投递交换请移步:https://github.com/jobbole/java-interview/issues/2
1. 为什么说Java是一门平台无关语言?
平台无关实际的寄义是“一次编写处处运行”。Java 可以或许做到是因为它的字节码(byte code)可以运行在任何操纵系统上,与底层系统无关。
2. 为什么 Java 不是100%面向工具?
Java 不是100%面向工具,因为它包括8个原始数据范例,譬喻 boolean、byte、char、int、float、double、long、short。它们不是工具。
3. 什么是 singleton class,如何建设一个 singleton class?
Singleton class 在任何时间同一个 JVM 中只有一个实例。可以把结构函数加 private 修饰符建设 singleton。
4. 什么是多态?
多态简朴地说“一个接口,多种实现”。多态的呈现使得在差异的场所同一个接口可以或许提供差异成果,详细地说可以让变量、函数可能工具可以或许提供多种成果。下面是多态的两种范例:
编译时多态主要是对要领举办重载(overload),而运行时多态主要通过利用担任可能实现接口。
什么是运行时多态,也称动态要领分派?
在 Java 中,运行时多态或动态要领分派是一种在运行进程中的要领重载。在这个进程中,通过挪用父类的变量引用被重载的要领。下面是一个例子:
class Car { void run() { System.out.println(“car is running”); } } class Audi extends Car { void run() { System.out.prinltn(“Audi is running safely with 100km”); } public static void main(String args[]) { Car b= new Audi(); //向上转型 b.run(); } }
5. Java类加载器包罗几种?它们之间的干系是怎么样的?
Java 类加载器有:
留意:-Djava.ext.dirs 会包围 Java 自己的 ext 配置,造成 JDK 内建成果无法利用。可以像下面这样指定参数:
-Djava.ext.dirs=./plugin:$JAVA_HOME/jre/lib/ext。
它们的干系如下:
7. 什么是JDBC驱动?
JDBC Driver 是一种实现 Java 应用与数据库交互的软件。JDBC 驱动有下面4种:
8. 利用 Java 毗连数据库有哪几步?
9. 罗列Spring设置中常用的重要注解。
下面是一些重要的注解:
10. Spring中的Bean是什么?罗列Spring Bean的差异浸染域。
Bean 是 Spring 应用的骨架。它们由 Spring IoC 容器打点。换句话说,Bean 是一个由 Spring IoC 容器初始化、装配和打点的工具。
下面是 Spring Bean 的5种浸染域: