<!----><!---->
<!---->
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
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
占
16
个字节,所以放一个中文是没问题的
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
实例
58
、线程的基本概念、线程的基本状态以及状态之间的关系
线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。
Java
中的线程有四种状态分别是:运行、就绪、挂起、结束。
59
、
JSP
的常用指令
<%@page
language="java" contenType="text/html;charset=gb2312"
session="true" buffer="64kb" autoFlush="true"
isThreadSafe="true" info="text"
errorPage="error.jsp" isErrorPage="true"
isELIgnored="true" pageEncoding="gb2312"
import="java.sql.*"%>
isErrorPage(
是否能使用
Exception
对象
)
,
isELIgnored(
是否忽略表达式
)
<%@include
file="filename"%>
<%@taglib
prefix="c"uri="http://......"%>
60
、什么情况下调用
doGet()
和
doPost()
?
Jsp
页面中的
form
标签里的
method
属性为
get
时调用
doGet()
,为
post
时调用
doPost()
。
61
、
servlet
的生命周期
web
容器加载
servlet
,生命周期开始。通过调用
servlet
的
init()
方法进行
servlet
的初始化。通过调用
service()
方法实现,根据请求的不同调用不同的
do***()
方法。结束服务,
web
容器调用
servlet
的
destroy()
方法。
62
、如何现实
servlet
的单线程模式
<%@ page
isThreadSafe="false"%>
63
、页面间对象传递的方法
request
,
session
,
application
,
cookie
等
64
、
JSP
和
Servlet
有哪些相同点和不同点,他们之间的联系是什么?
JSP
是
Servlet
技术的扩展,本质上是
Servlet
的简易方式,更强调应用的外表表达。
JSP
编译后是
"
类
servlet"
。
Servlet
和
JSP
最主要的不同点在于,
Servlet
的应用逻辑是在
Java
文件中,并且完全从表示层中的
HTML
里分离开来。而
JSP
的情况是
Java
和
HTML
可以组合成一个扩展名为
.jsp
的文件。
JSP
侧重于视图,
Servlet
主要用于控制逻辑。
65
、四种会话跟踪技术
会话作用域
ServletsJSP
页面描述
page
否是代表与一个页面相关的对象和属性。一个页面由一个编译好的
Java servlet
类(可以带有任何的
include
指令,但是没有
include
动作)表示。这既包括
servlet
又包括被编译成
servlet
的
JSP
页面
request
是是代表与
Web
客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个
Web
组件(由于
forward
指令和
include
动作的关系)
session
是是代表与用于某个
Web
客户机的一个用户体验相关的对象和属性。一个
Web
会话可以也经常会跨越多个客户机请求
application
是是代表与整个
Web
应用程序相关的对象和属性。这实质上是跨越整个
Web
应用程序,包括多个页面、请求和会话的一个全局作用域
66
、
Request
对象的主要方法:
setAttribute(String
name,Object)
:设置名字为
name
的
request
的参数值
getAttribute(String
name)
:返回由
name
指定的属性值
getAttributeNames()
:返回
request
对象所有属性的名字集合,结果是一个枚举的实例
getCookies()
:返回客户端的所有
Cookie
对象,结果是一个
Cookie
数组
getCharacterEncoding()
:返回请求中的字符编码方式
getContentLength()
:返回请求的
Body
的长度
getHeader(String
name)
:获得
HTTP
协议定义的文件头信息
getHeaders(String
name)
:返回指定名字的
request Header
的所有值,结果是一个枚举的实例
getHeaderNames()
:返回所以
request Header
的名字,结果是一个枚举的实例
getInputStream()
:返回请求的输入流,用于获得请求中的数据
getMethod()
:获得客户端向服务器端传送数据的方法
getParameter(String
name)
:获得客户端传送给服务器端的有
name
指定的参数值
getParameterNames()
:获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParameterValues(String
name)
:获得有
name
指定的参数的所有值
getProtocol()
:获取客户端向服务器端传送数据所依据的协议名称
getQueryString()
:获得查询字符串
getRequestURI()
:获取发出请求字符串的客户端地址
getRemoteAddr()
:获取客户端的
IP
地址
getRemoteHost()
:获取客户端的名字
getSession([Boolean
create])
:返回和请求相关
Session
getServerName()
:获取服务器的名字
getServletPath()
:获取客户端所请求的脚本文件的路径
getServerPort()
:获取服务器的端口号
removeAttribute(String
name)
:删除请求中的一个属性
67
、
J2EE
是技术还是平台还是框架?
J2EE
本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE
也是一个框架,包括
JDBC
、
JNDI
、
RMI
、
JMS
、
EJB
、
JTA
等技术。
68
、我们在
web
应用开发过程中经常遇到输出某种编码的字符,如
iso8859-1
等,如何输出一个某种编码的字符串?
Public String
translate (String str) {
String tempStr = "";
try {
tempStr = new String(str.getBytes("ISO-8859-1"),
"GBK");
tempStr = tempStr.trim();
}
catch (Exception e) {
System.err.println(e.getMessage());
}
return tempStr;
}
69
、简述逻辑操作
(&,|,^)
与条件操作
(&&,||)
的区别。
区别主要答两点:
a.
条件操作只能操作布尔型的
,
而逻辑操作不仅可以操作布尔型
,
而且可以操作数值型
b.
逻辑操作不会产生短路
70
、
XML
文档定义有几种形式?它们之间有何本质区别?解析
XML
文档有哪几种方式?
a:
两种形式
分享到:
相关推荐
Java面试笔试题大汇总是Java开发者在求职过程中不可或缺的参考资料,涵盖了从基础语法到高级特性的各类问题。这篇文档旨在帮助求职者准备Java面试,确保他们对语言有深入的理解和熟练的应用能力。以下是一些可能包含...
5. 125条常见的java面试笔试题大汇总.pdf:这是一份包含125个JAVA面试和笔试题目的PDF文件,涵盖了基础到高级的JAVA知识,是全面复习的好帮手。 通过以上文件,学习者可以系统性地复习JAVA知识,包括基本语法、面向...
根据压缩包子文件的文件名称“java面试笔试题大汇总.doc”,我们可以预期这是一份Word文档,里面可能包含了Java面试的各类问题,如: 1. **基础语法**:包括变量、数据类型、运算符、流程控制语句、异常处理等基础...
│ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海...
│ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海...
│ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海...
Java面试真题第三弹接住!相信通过前两节的学习,大家对于Java多少有些了解。学习Java建议还是多动手练习,很多时候你会发现想的和写出来运行的不是一回事儿,本节内容大家可以根据题目自己练习看看~ 1.使用MyBatis...
以上是华为面试笔试题中可能涉及的一些Java知识点,深入理解和熟练掌握这些内容对于应对面试和笔试至关重要。在实际准备过程中,应结合具体题目进行针对性的练习和复习,以便在面试中展现出扎实的技术功底。
│ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海...
│ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海...
通过阅读"数据库笔试题汇总.doc"和"Java面试题大全.pdf",你将有机会接触到这些主题的实际问题和解答,从而深化理解和应用能力。准备充分的面试者不仅能够解答问题,更能展示出对JAVA和数据库领域的深度理解和实践...
【华为历年笔试题大汇总分析】 华为作为全球领先的ICT(信息与通信技术)解决方案提供商,其招聘过程中的笔试环节往往涵盖了通信技术、软件工程、硬件设计、财经管理等多个领域,旨在全面评估候选人的专业能力和...
【Java笔试题150个】是一篇关于Java面试中常见笔试题目的汇总,涵盖了Java基础知识、类与对象、运算符、集合框架等多个方面。以下是对这些知识点的详细解释: 1. **作用域**:在Java中,作用域决定了变量、类、方法...
这份"最新java面试题汇集"提供了全面的Java面试和笔试题目,旨在帮助寻找工作的程序员提升技能,增加成功获得职位的机会。 一、基础篇 1. Java的特性:了解Java的跨平台性、自动内存管理(垃圾回收)、异常处理、多...
### Java后端技术面试知识点汇总 #### 一、Java基础篇 **1.1 Java基础** - **面向对象的特征**:面向对象编程的核心特征包括继承、封装和多态。 - **继承**:允许一个类继承另一个类的属性和方法。 - **封装**...
本篇文章将详细解析标题“46家大公司计算机编程笔试题”及其描述“名企,笔试,计算机编程各种开发语言相关练习题”中涉及的关键知识点,并围绕C++题目汇总.doc和46家公司笔试题.pdf这两个文件,推测可能包含的编程...
3. 百度笔试题汇总:这是一个集合了历年来百度笔试题目的文档,可能包含多届、多岗位的题目,有助于应聘者全面了解百度的出题风格和考察重点。 4. 百度2006,2007笔试题:这部分内容可能包含了百度在2006年和2007年...
博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……...
"C语言面试题之华为篇.doc"和"c与c++面试题汇总.rar"则关注C和C++的基础知识和高级特性,这两门语言在系统级编程和高性能计算中广泛使用。 此外,"lina.rar"可能包含了关于Linux操作系统的信息,这对于系统分析师来...
【iOS知识学习】_iOS面试题汇总 在iOS开发领域,面试通常会涵盖各种技能层次的问题,从初级的基础知识到高级的设计模式和技术。本篇文章将深入探讨一些常见的iOS面试问题,帮助开发者准备面试。 1. **浅复制和深...