101
、
java
中会存在内存泄漏吗,请简单描述。
会。如:
int i,i2;?
return (i-i2);??
//when i
为足够大的正数
,i2
为足够大的负数。结果会造成溢位,导致错误。
?
102
、
java
中实现多态的机制是什么?
方法的
重写
Overriding
和
重载
Overloading
是
Java
多态性的不同表现。重写
Overriding
是父类与子类之间多态性的一种表现,重载
Overloading
是一个类中多态性的一种表现。
?
103
、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
对于
GC
来说,当程序员创建对象时,
GC
就开始监控这个对象的
地址
、
大小
以及
使用
情况。通常,
GC
采用有向图的方式
记录和管理堆
(heap)
中的所有对象。通过这种方式确定哪些对象是
"
可达的
"
,哪些对象是
"
不可达的
"
。
当
GC
确定一些对象为
"
不可达
"
时,
GC
就有责任回收这些内存空间
。可以。程序员可以手动执行
System.gc()
,通知
GC
运行,
但是
Java
语言规范并不保证
GC
一定会执行。
?
104
、静态变量和实例变量的区别?
static i = 10; //
常量
class A a;?
a.i =10;//
可变
?
105
、什么是
java
序列化,如何实现
java
序列化?
序列化就是一种用来处理对象流的机制
,所谓
对象流也就是将对象的内容进行流化
。可以对流化后的对象进行
读写
操作,也可将流化后的对象传输于
网络
之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现
Serializable
接口,该接口没有需要实现的方法,
implements Serializable
只是为了标注该对象是可被序列化的,然后使用一个输出流
(
如:
FileOutputStream)
来构造一个
ObjectOutputStream(
对象流
)
对象,接着,使用
ObjectOutputStream
对象的
writeObject(Object obj)
方法就可以将参数为
obj
的对象写出
(
即保存其状态
)
,要恢复的话则用输入流。
?
106
、是否可以从一个
static
方法内部发出对非
static
方法的调用?
不可以
,
如果其中包含对象的
method()
;不能保证对象初始化
.
107
、写
clone()
方法时,通常都有一行代码,是什么?
Clone
有缺省行为,
super.clone();
他负责产生正确大小的空间,并逐位复制。
?
108
、在
JAVA
中,如何跳出当前的多重嵌套循环?
用
break; return
方法。
?
109
、
List
、
Map
、
Set
三个接口,存取元素时,各有什么特点?
List
以
特定次序
来持有元素,可有重复元素。
Set
无法拥有重复元素
,
内部排序。
Map
保存
key-value
值,
value
可多值
。
?
110
、
J2EE
是什么?
J2EE
是
Sun
公司提出的
多层
(multi-diered),
分布式
(distributed)
,
基于组件
(component-base)
的企业级应用模型
(enterpriese application model).
在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次
(tier)
中。所属层次包括客户层
(clietn tier)
组件
,web
层和组件
,Business
层和组件
,
企业信息系统
(EIS)
层。
?
111
、
UML
方面
标准建模语言
UML
。用例图
,
静态图
(
包括类图、对象图和包图
),
行为图
,
交互图
(
顺序图
,
合作图
),
实现图。
?
112
、说出一些常用的类,包,接口,请各举
5
个
常用的类:
BufferedReader?
BufferedWriter?
FileReader?
FileWirter?
String?
Integer
常用的包:
java.lang?
java.awt?
java.io?
java.util?
java.sql
常用的接口:
Remote?
List?
Map?
Document?
NodeList
?
113
、开发中都用到了那些设计模式
?
用在什么场合
?
每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了
MVC
的设计模式。用来开发
JSP/Servlet
或者
J2EE
的相关应用。简单工厂模式等。
?
114
、
jsp
有哪些动作
?
作用分别是什么
?
JSP
共有以下
6
种基本动作
jsp:include
:在页面被请求的时候引入一个文件。
jsp:useBean
:寻找或者实例化一个
JavaBean
。
jsp:setProperty
:设置
JavaBean
的属性。
jsp:getProperty
:输出某个
JavaBean
的属性。
jsp:forward
:把请求转到一个新的页面。
jsp:plugin
:根据浏览器类型为
Java
插件生成
OBJECT
或
EMBED
标记。
?
115
、
Anonymous Inner Class (
匿名内部类
)
是否可以
extends(
继承
)
其它类,是否可以
implements(
实现
)interface(
接口
)?
可以继承其他类或完成其他接口,在
swing
编程中常用此方式。
?
116
、应用服务器与
WEB SERVER
的区别?
1
。
应用服务器处理业务逻辑
,
web
服务器则主要是让客户
可以通过浏览器进行访问
。
2
。应用服务器处理业务逻辑,
web
服务器是
用于处理
HTML
文件的
。
web
服务器通常比应用服务器简单
,如
apache
就是
web
服务器,
Jboss
就是
EJB
应用服务器。
应用服务器:
Weblogic
、
Tomcat
、
Jboss
;
WEB SERVER
:
IIS
、
Apache
?
117
、
BS
与
CS
的联系与区别。
C/S
是
Client/Server
的缩写。服务器通常采用高性能的
PC
、工作站或小型机,并采用大型数据库系统,如
Oracle
、
Sybase
、
Informix
或
SQL Server
。客户端需要安装专用的客户端软件。
B/
S是
Brower/Server
的缩写,客户机上只要安装一个浏览器(
Browser
),如
Netscape Navigator
或
Internet Explorer
,服务器安装
Oracle
、
Sybase
、
Informix
或
SQL Server
等数据库。在这种结构下,用户界面完全通过
WWW
浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过W
eb Server
同数据库进行数据交互。
C/S
与
B/S
区别:
1.硬件环境不同
:
C/S
一般建立在专用的网络上
,
小范围里的网络环境
,
局域网之间再通过专门服务器提供连接和数据交换服务
.
B/S
建立在广域网之上的
,
不必是专门的网络硬件环境
,
例与电话上网
,
租用设备
.
信息自己管理
.
有比
C/S
更强的适应范围
,
一般只要有
操作系统和浏览器就行
2.对安全要求不同
C/S
一般面向相对固定的用户群
,
对信息安全的控制能力很强
.
一般高度机密的信息系统采用
C/S
结构适宜
.
可以通过
B/S
发布部分可公开
信息
.
B/S
建立在广域网之上
,
对安全的控制能力相对弱
,
可能面向不可知的用户。
3.对程序架构不同
C/S
程序可以更加注重流程
,
可以对权限多层次校验
,
对系统运行速度可以较少考虑
.
B/S
对安全以及访问速度的多重的考虑
,
建立在需要更加优化的基础之上
.
比
C/S
有更高的要求
B/S
结构的程序架构是发展的趋势
,
从
MS
的
.Net
系列的
BizTalk 2000 Exchange 2000
等
,
全面支持网络的构件搭建的系统
. SUN
和
IBM
推的
JavaBean
构件技术等
,
使
B/S
更加成熟
.
4.软件重用不同
C/S
程序可以不可避免的整体性考虑
,
构件的重用性不如在
B/S
要求下的构件的重用性好
.
B/S
对的多重结构
,
要求构件相对独立的功能
.
能够相对较好的重用
.
就入买来的餐桌可以再利用
,
而不是做在墙上的石头桌子
5.系统维护不同
?
C/S
程序由于整体性
,
必须整体考察
,
处理出现的问题以及系统升级
.
升级难
.
可能是再做一个全新的系统
B/S
构件组成
,
方面构件个别的更换
,
实现系统的无缝升级
.
系统维护开销减到最小
.
用户从网上自己下载安装就可以实现升级
.
6.处理问题不同
C/S
程序可以处理用户面固定
,
并且在相同区域
,
安全要求高需求
,
与操作系统相关
.
应该都是相同的系统
B/S
建立在广域网上
,
面向不同的用户群
,
分散地域
,
这是
C/S
无法作到的
.
与操作系统平台关系最小
.
7.用户接口不同
C/S
多是建立的
Window
平台上
,
表现方法有限
,
对程序员普遍要求较高
B/S
建立在浏览器上
,
有更加丰富和生动的表现方式与用户交流
.
并且大部分难度减低
,
减低开发成本
.
8.信息流不同
C/S
程序一般是典型的中央集权的机械式处理
,
交互性相对低
B/S
信息流向可变化
, B-B B-C B-G
等信息、流向的变化
,
更像交易中心。
?
118
、
LINUX
下线程,
GDI
类的解释。
LINUX
实现的就是基于核心轻量级进程的
"
一对一
"
线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。
GDI
类为图像设备编程接口类库。
?
119
、
STRUTS
的应用
(
如
STRUTS
架构
)
Struts
是采用
Java Servlet/JavaServer Pages
技术,开发
Web
应用程序的开放源码的
framework
。
采用
Struts
能开发出基于
MVC(Model-View-Controller)
设计模式的应用构架。
Struts
有如下的主要功能:
一
.
包含一个
controller servlet
,能将用户的请求发送到相应的
Action
对象。
二
.JSP
自由
tag
库,并且在
controller servlet
中提供关联支持,帮助开发员创建交互式表单应用。
三
.
提供了一系列实用对象:
XML
处理、通过
Java reflection APIs
自动处理
JavaBeans
属性、国际化的提示和消息。
?
120
、
Jdo
是什么
?
JDO
是
Java
对象持久化的新的规范,为
java data object
的简称
,
也是一个用于存取某种数据仓库中的对象的标准化
API
。
JDO
提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如
JDBC API
的使用)。这些繁琐的例行工作已经转移到
JDO
产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,
JDO
很灵活,因为它可以在任何数据底层上运行。
JDBC
只是面向关系数据库(
RDBMS
)
JDO
更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、
XML
以及对象数据库(
ODBMS
)等等,使得应用可移植性更强
?
121
、内部类可以引用他包含类的成员吗?有没有什么限制?
一个内部类对象可以访问创建它的外部类对象的内容
?
122
、
WEB SERVICE
名词解释。
JSWDL
开发包的介绍。
JAXP
、
JAXM
的解释。
SOAP
、
UDDI,WSDL
解释。
Web Service
是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得
Web Service
能与其他兼容的组件进行互操作。
JAXP(Java API for XML Parsing)
定义了在
Java
中使用
DOM, SAX, XSLT
的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。
JAXM(Java API for XML Messaging)
是为
SOAP
通信提供访问方法和传输机制的
API
。
WSDL
是一种
XML
格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。
SOAP
即简单对象访问协议
(Simple Object Access Protocol)
,它是用于交换
XML
编码信息的轻量级协议。
UDDI
的目的是为电子商务建立标准;
UDDI
是一套基于
Web
的、分布式的、为
Web Service
提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的
Web Service
注册,以使别的企业能够发现的访问协议的实现标准。
?
3
、
int Integer
的区别:
Java
提供两种不同的类型:引用类型和原始类型
(或内置类型)。
Int
是
java
的原始数据类型,
Integer
是
java
为
int
提供的封装类。
Java
为每个原始类型提供了封装类。
?
原始类型封装类
?
booleanBoolean
?
charCharacter
?
byteByte
?
shortShort
?
intInteger
?
longLong
?
floatFloat
?
doubleDouble
?
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为
null
,而原始类型实例变量的缺省值与它们的类型有关。
?
String
类和
StringBuffer
类的区别:
?
它们都是处理字符串的类
,
但是它们有一个