- 浏览: 43989 次
- 性别:
- 来自: 北京
文章分类
最新评论
41、是否可以继承 String 类?
String 类是 final 类故不可以继承。
42、swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String上?
switch(expr1)中,expr1 是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于 swtich。
43、try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后会执行,在 return 前执行。
44、编程题: 用最有效率的方法算出 2 乘以 8 等於几?
2 << 3 (有 C 背景的程序员特别喜欢问这种问题)
45、两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对?
不对,有相同的 hash code。
46、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
47、当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?
不能,一个对象的一个 synchronized 方法只能由一个线程访问。
48、编程题: 写一个 Singleton 出来。
Singleton 模式主要作用是保证在 Java 应用程序中,一个类 Class 只有一个实例存在。
一般 Singleton 模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为 private 的,它有一个 static 的 private 的该类变量,在类初始化时实例话,通过一个 public 的 getInstance 方法获取对它的引用,继而调用其中的 方法。
public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是 private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本 class 的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}
第二种形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance;
}
}
其他形式:定义一个类,它的构造函数为 private 的,所有方法为 static 的。一般认为第一种形式要更加安全些。
49、Java 的接口和 C++的虚类的相同和不同处。由于 Java 不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是 public static,所有方法默认情况下是 public.一个类可以
实现多个接口。
50、Java 中的异常处理机制的简单原理和应用。
当 JAVA 程序违反了 JAVA 的语义规则时,JAVA 虚拟机就会将发生的错误表示为一个异常。违反语义规则包括 2 种情况。一种是 JAVA 类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问 null 的对象时会引发 NullPointerException。另一种情况就是 JAVA 允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw 关键字引发异常。所有的异常java.lang.Thowable 的子类。
51、垃圾回收的优点和原理。并考虑 2 种回收机制。
Java 语言中一个显著的特点就是引入了垃圾回收机制,使 c++程序员最头疼的内存管理的问题迎刃而解,它使得 Java 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java 中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独 的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
52、请说出你所知道的线程同步的方法。
wait():使一个线程处于等待状态,并且释放所持有的对象的 lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉
InterruptedException 异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由 JVM 确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
53、你所知道的集合类都有哪些?主要方法?
最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。
54、描述一下 JVM 加载 class 文件的原理机制?
JVM 中类的装载是由 ClassLoader 和它的子类来实现的,Java ClassLoader 是一个重要的 Java运行时系统组件。它负责在运行时查找和装入类文件的类。
55、char 型变量中能不能存贮一个中文汉字?为什么?
能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 2 个字节(Byte)共 16位(bit),所以放一个中文是没问题的。
56、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口同步的实现方面有两种,分别是 synchronized,wait 与 notify。
57、JSP 的内置对象及方法。
request 表示 HttpServletRequest 对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie, header, 和 session 数据的有用的方法。response 表示 HttpServletResponse 对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)out 对象是 javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。pageContext 表示一个javax.servlet.jsp.PageContext 对象。它是用于方便存取各种范围的名字空间、servlet 相关的对象的 API,并且包装了通用的 servlet 相关功能的方法。session 表示一个请求的 javax.servlet.http.HttpSession 对象。Session 可以存贮用户的状态信息applicaton 表示一个 Javax.servle.ServletContext 对象。这有助于查找有关 servlet 引擎和 servlet环境的信息 config 表示一Javax.servlet.ServletConfig 对象。该对象用于存取 servlet 实例的初始化参数。page 表示从该页面产生的一个 servlet 实例。
String 类是 final 类故不可以继承。
42、swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String上?
switch(expr1)中,expr1 是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于 swtich。
43、try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后会执行,在 return 前执行。
44、编程题: 用最有效率的方法算出 2 乘以 8 等於几?
2 << 3 (有 C 背景的程序员特别喜欢问这种问题)
45、两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对?
不对,有相同的 hash code。
46、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
47、当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?
不能,一个对象的一个 synchronized 方法只能由一个线程访问。
48、编程题: 写一个 Singleton 出来。
Singleton 模式主要作用是保证在 Java 应用程序中,一个类 Class 只有一个实例存在。
一般 Singleton 模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为 private 的,它有一个 static 的 private 的该类变量,在类初始化时实例话,通过一个 public 的 getInstance 方法获取对它的引用,继而调用其中的 方法。
public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是 private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本 class 的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}
第二种形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance;
}
}
其他形式:定义一个类,它的构造函数为 private 的,所有方法为 static 的。一般认为第一种形式要更加安全些。
49、Java 的接口和 C++的虚类的相同和不同处。由于 Java 不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是 public static,所有方法默认情况下是 public.一个类可以
实现多个接口。
50、Java 中的异常处理机制的简单原理和应用。
当 JAVA 程序违反了 JAVA 的语义规则时,JAVA 虚拟机就会将发生的错误表示为一个异常。违反语义规则包括 2 种情况。一种是 JAVA 类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问 null 的对象时会引发 NullPointerException。另一种情况就是 JAVA 允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw 关键字引发异常。所有的异常java.lang.Thowable 的子类。
51、垃圾回收的优点和原理。并考虑 2 种回收机制。
Java 语言中一个显著的特点就是引入了垃圾回收机制,使 c++程序员最头疼的内存管理的问题迎刃而解,它使得 Java 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java 中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独 的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
52、请说出你所知道的线程同步的方法。
wait():使一个线程处于等待状态,并且释放所持有的对象的 lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉
InterruptedException 异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由 JVM 确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
53、你所知道的集合类都有哪些?主要方法?
最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。
54、描述一下 JVM 加载 class 文件的原理机制?
JVM 中类的装载是由 ClassLoader 和它的子类来实现的,Java ClassLoader 是一个重要的 Java运行时系统组件。它负责在运行时查找和装入类文件的类。
55、char 型变量中能不能存贮一个中文汉字?为什么?
能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 2 个字节(Byte)共 16位(bit),所以放一个中文是没问题的。
56、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口同步的实现方面有两种,分别是 synchronized,wait 与 notify。
57、JSP 的内置对象及方法。
request 表示 HttpServletRequest 对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie, header, 和 session 数据的有用的方法。response 表示 HttpServletResponse 对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)out 对象是 javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。pageContext 表示一个javax.servlet.jsp.PageContext 对象。它是用于方便存取各种范围的名字空间、servlet 相关的对象的 API,并且包装了通用的 servlet 相关功能的方法。session 表示一个请求的 javax.servlet.http.HttpSession 对象。Session 可以存贮用户的状态信息applicaton 表示一个 Javax.servle.ServletContext 对象。这有助于查找有关 servlet 引擎和 servlet环境的信息 config 表示一Javax.servlet.ServletConfig 对象。该对象用于存取 servlet 实例的初始化参数。page 表示从该页面产生的一个 servlet 实例。
发表评论
-
Java程序员面试题集合(15)
2011-02-26 17:20 709118、LINUX 下线程,GDI 类的解释。 LINUX 实 ... -
Java程序员面试题集合(14)
2011-02-26 17:19 718114、jsp 有哪些动作?作 ... -
Java程序员面试题集合(13)
2011-02-26 17:18 80603、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗 ... -
Java程序员面试题集合(12)
2011-02-26 17:18 59597、一个".java"源 ... -
Java程序员面试题集合(11)
2011-02-26 17:17 84894、排序都有哪几种方法?请列举。用 Java 实现一个快速排 ... -
Java程序员面试题集合(10)
2011-02-26 17:16 61490、说说在 weblogic 中开 ... -
Java程序员面试题集合(9)
2011-02-26 17:14 69380、如何给 weblogic 指定大小的内存? 在启动 We ... -
Java程序员面试题集合(8)
2011-02-26 17:11 66371、简述 synchronized 和 Ja ... -
Java程序员面试题集合(7)
2011-02-26 17:10 70058、线程的基本概念、线程的基本状态以及状态之间的关系线程指在 ... -
Java程序员面试题集合(5)
2011-02-26 17:07 46025、short s1 = 1; s1 = s1 + 1; ... -
Java程序员面试题集合(4)
2011-02-26 17:03 607[size=large][/size]17、abstrac ... -
Java程序员面试题集合(2)
2011-02-26 16:47 6025、Java运行时异常与一 ... -
Java程序员面试题集合(1)
2011-02-26 16:46 5491.面向对象的特征有哪 ...
相关推荐
### Java程序员面试题集合知识点详解 #### 一、面向对象的四大特征 1. **抽象** 抽象是面向对象编程中的一个重要概念,它指的是在设计阶段仅考虑问题的关键部分,忽略不相关的细节。抽象可以分为两类: - **...
java 面试题 面试 集合 程序员面试
以上仅是 Java 程序员面试中可能涉及的一部分知识点,实际面试中还会有更多关于设计模式、JVM 内存模型、数据库操作、网络编程等方面的问题。掌握这些基础和进阶知识对于成为一名优秀的 Java 开发者至关重要。
Java程序员面试题是一个涵盖广泛领域的主题,涉及到Java基础、Web开发、设计模式、数据库和框架等多个方面。以下是对这些文件内容的详细解析: 1. **Model1-CoreJava.doc & Model1-CoreJava-answer.doc**: 这部分...
《Java程序员面试宝典》列举了各大IT公司的面试真题,详细分析了应聘Java程序员职位的常见考点,主要内容包括面试流程及求职准备、Java语言基础、数据类型、集合框架、图形用户界面、输入与输出、多线程、反射机制、...
Java程序员面试时,通常会遇到一系列关于语言特性和框架的问题,这些题目旨在考察候选人的基础知识、问题解决能力和实践经验。以下是对这些面试题目的详细解答: 1. **final, finally, finalize的区别**: - `...
【JAVA程序员面试题集合】 1. **面向对象的特征** - **抽象**:抽象是将复杂的现实问题简化,忽略不相关细节,关注核心功能。它包括过程抽象(方法)和数据抽象(类)。例如,设计一个汽车类,可能会抽象出引擎、...
根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试准备的书籍,作者为何昊。本书可能包含了大量关于Java编程语言的基础知识、高级特性以及与面试相关的技巧和策略等内容。下面将对可能涉及的重要...
### 2018最新最全JAVA程序员面试题解析 #### 一、面向对象的特征有哪些方面? 面向对象编程(OOP)是Java的核心思想之一,它主要包括以下四个关键特性: 1. **抽象**:抽象是面向对象编程的一个核心概念,指的是在...
根据提供的文件信息,我们可以整理出一系列与Java程序员面试相关的知识点,包括但不限于基本数据类型、字符串操作、集合框架、异常处理等内容。下面是详细的知识点解析: ### 基本数据类型 1. **基本数据类型与...
【Java程序员面试题详解】 1. 数据库操作: - 创建表A时,要设置m字段为唯一(UNIQUE)且非空(NOT NULL),n字段初始值为0,m、n、y字段不可为空(NOT NULL)。 - 修改表A的n字段初始值,可以通过ALTER TABLE...
### Java程序员面试题详解 #### 一、Java基础知识 1. **作用域public, private, protected, 以及不写时的区别** - **public**: 可以被任何类访问。 - **protected**: 可以被同一包内及不同包内的子类访问。 - ...
### 华为公司Java程序员面试试题解析 #### 颈环节一:面向对象的基本概念 1. **面向对象的特征**: - 封装:将数据和操作这些数据的方法捆绑在一起,隐藏对象的属性和实现细节,仅对外提供公共访问方式。 - 继承...
Java程序员在面试中可能会遇到各种各样的问题,涵盖了语言基础、数据结构、并发编程等多个方面。下面我们将深入探讨这些知识点。 首先,对于Java语法规范,这是每个Java开发者的基础。这包括但不限于变量声明、数据...
Java 程序员必备面试题-V1版.pdf 本资源是一个 Java 面试题集,涵盖了 Java 基础、集合、并发、MySQL、Kafka 等高频知识点。下面是对标题和描述中所说的知识点的详细说明: 动态代理 在 Java 中,动态代理可以...
这份资料集合了“java程序员面试题集”和“部分外企笔试真题总结”,是准备Java技术面试和外企笔试的宝贵资源。以下将针对这两个核心内容展开详细的解析。 首先,Java程序员面试题集通常涵盖了以下几个方面的知识:...