最新整理Java面试题Word文件下载.docx
- 文档编号:21253366
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:19
- 大小:28.04KB
最新整理Java面试题Word文件下载.docx
《最新整理Java面试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新整理Java面试题Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
为什么?
是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
4、多线程有几种实现方法,都是什么?
同步有几种实现方法,都是什么?
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify
5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
答:
父类:
package
test;
class
FatherClass
{
FatherClass()
System.out.println("
Create"
);
}
子类:
import
test.FatherClass;
ChildClass
extends
ChildClass()
static
void
main(String[]
args)
fc
=
new
FatherClass();
cc
ChildClass();
输出结果:
C:
java
test.ChildClass
Create
6、内部类的实现方式?
示例代码如下:
OuterClass
InterClass
InterClass()
OuterClass()
ic
InterClass();
oc
OuterClass();
输出结果:
test/OuterClass
再一个例题:
double
d1
1.0;
//insert
code
here
You
need
to
insert
an
inner
declaration
at
line
3.
Which
two
declarations
are
valid?
(Choose
two.)
A.
InnerOne{
methoda()
{return
d1;
B.
C.
D.
E.
abstract
methoda();
说明如下:
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。
故
A、B
错
二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;
return
出错。
D
三.非静态内部类的非静态成员可以访问外部类的非静态变量。
C
正确
四.答案为C、E
7、垃圾回收机制,如何优化程序?
希望大家补上,谢谢
8、float型float
f=3.4是否正确?
不正确。
精度不准确,应该用强制类型转换,如下所示:
float
f=(float)3.4
9、介绍JAVA中的Collection
FrameWork(包括如何写自己的数据结构)?
Collection
FrameWork如下:
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)
Map提供key到value的映射
10、Java中异常处理机制,事件机制?
11、JAVA中的多形与继承?
12、抽象类与接口?
抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)。
13、Java
的通信编程,编程题(或问答),用JAVA
SOCKET编程,读服务器几个字符,再写入本地显示?
Server端程序:
.*;
java.io.*;
Server
ServerSocket
ss;
Socket
socket;
BufferedReader
in;
PrintWriter
out;
Server()
try
ss=new
ServerSocket(10000);
while(true)
socket
ss.accept();
String
RemoteIP
socket.getInetAddress().getHostAddress();
RemotePort
"
:
+socket.getLocalPort();
A
client
come
in!
IP:
+RemoteIP+RemotePort);
in
BufferedReader(new
InputStreamReader(socket.getInputStream()));
in.readLine();
Cleint
send
is
+
line);
out
PrintWriter(socket.getOutputStream(),true);
out.println("
Your
Message
Received!
out.close();
in.close();
socket.close();
}catch
(IOException
e)
wrong"
Server();
};
Client端程序:
Client
Client()
Try
Connect
127.0.0.1:
10000"
Socket("
127.0.0.1"
10000);
The
Connected!
Please
enter
some
Character:
InputStreamReader(System.in));
out.println(line.readLine());
System.out.println(in.readLine());
}catch(IOException
Wrong"
Client();
14、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?
如在COLLECTION框架中,实现比较要实现什么样的接口?
用插入法进行排序代码如下
java.util.*;
InsertSort
ArrayList
al;
InsertSort(int
num,int
mod)
al
ArrayList(num);
Random
rand
Random();
Sort
Before:
for
(int
i=0;
i<
num
;
i++
)
al.add(new
Integer(Math.abs(rand.nextInt())
%
mod
1));
al["
+i+"
]="
+al.get(i));
SortIt()
Integer
tempInt;
int
MaxSize=1;
for(int
i=1;
al.size();
i++)
tempInt
(Integer)al.remove(i);
if(tempInt.intValue()>
=((Integer)al.get(MaxSize-1)).intValue())
al.add(MaxSize,tempInt);
MaxSize++;
System.out.println(al.toString());
else
j=0;
j<
MaxSize
j++
if
(((Integer)al.get(j)).intValue()>
=tempInt.intValue())
al.add(j,tempInt);
break;
After:
InsertSort(10,100);
is.SortIt();
JAVA类实现序例化的方法是实现java.io.Serializable接口
Collection框架中实现比较要实现Comparable
接口和
Comparator
接口
15、编程:
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
代码如下:
SplitString
SplitStr;
SplitByte;
SplitString(String
str,int
bytes)
SplitStr=str;
SplitByte=bytes;
is:
′"
+SplitStr+"
′;
SplitBytes="
+SplitByte);
SplitIt()
loopCount;
loopCount=(SplitStr.length()%SplitByte==0)?
(SplitStr.length()/SplitByte):
(SplitStr.length()/Split
Byte+1);
Will
Split
into
+loopCount);
=loopCount
(i==loopCount){
System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
ss
SplitString("
test中dd文dsaf中男大3443n中国43中国人
0ewldfls=103"
4);
ss.SplitIt();
16、JAVA多线程编程。
用JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。
17、STRING与STRINGBUFFER的区别。
STRING的长度是不可变的,STRINGBUFFER的长度是可变的。
如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法
Jsp方面
1、jsp有哪些内置对象?
作用分别是什么?
JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
request
用户端请求,此请求会包含来自GET/POST请求的参数
response
网页传回用户端的回应
pageContext
网页的属性是在这里管理
session
与请求有关的会话期
application
servlet
正在执行的内容
用来传送回应的输出
config
servlet的构架部件
page
JSP网页本身
exception
针对错误网页,未捕捉的例外
2、jsp有哪些动作?
JSP共有以下6种基本动作
jsp:
include:
在页面被请求的时候引入一个文件。
useBean:
寻找或者实例化一个JavaBean。
setProperty:
设置JavaBean的属性。
getProperty:
输出某个JavaBean的属性。
forward:
把请求转到一个新的页面。
plugin:
根据浏览器类型为Java插件生成OBJECT或EMBED标记
3、JSP中动态INCLUDE与静态INCLUDE的区别?
动态INCLUDE用jsp:
include动作实现
include
page="
included.jsp"
flush="
true"
/>
它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面
%@
file="
included.htm"
%>
4、两种跳转方式分别是什么?
有什么区别?
有两种,分别为:
forward
page=
nextpage.jsp"
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。
执行完后还会回来,相当于函数调用。
并且可以带参数.后者完全转向新页面,不会再回来。
相当于go
语句。
Servlet方面
1、说一说Servlet的生命周期?
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。
这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。
2、Servlet版本间(忘了问的是哪两个版本了)的不同?
3、JAVA
SERVLET
API中forward()
与redirect()的区别?
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
这样,从浏览器的地址栏中可以看到跳转后的链接地址。
所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
4、Servlet的基本架构
ServletName
HttpServlet
doPost(HttpServletRequest
request,
HttpServletResponse
response)
throws
ServletException,
IOException
doGet(HttpServletRequest
Jdbc、Jdo方面
1、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询.
程序如下:
hello.ant;
java.sql.*;
jdbc
dbUrl="
jdbc:
oracle:
thin:
@127.0.0.1:
1521:
orcl"
theUser="
admin"
thePw="
manager"
Connection
c=null;
Statement
conn;
ResultSet
rs=null;
jdbc()
try{
Class.forName("
oracle.jdbc.driver.OracleDriver"
).newInstance();
c
DriverManager.getConnection(dbUrl,theUser,thePw);
conn=c.createStatement();
}catch(Exception
e)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 整理 Java 试题