前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题>>,还有一篇忘了名字,读后深受启发。 哇扑Blogo$Q7j_y_Y
在寻找这些答案的过程中,我将相关答案记录下来,就形成了以下这些东西。需要说明的是以下答案肯定有很多不完整甚至错误的地方,需要各位来更正与完善它,千万不要扔我的鸡蛋啊。 哇扑Blog_G_G9N_N#c_
希望本文能够给即将奔赴笔试考场的同仁些许帮助,更希望更多的人加入到收集整理笔试题与完善答案的这些工作中来,为大家更好的获得工作机会做一点贡献。 哇扑Blog_Y_~_M&c_r
在此感谢前面两文的作者的对笔试题目的收集与整理。 哇扑BlogN7B_Z7@_N2p_S
如有任何意见与建议请通过QQ:6045306,Mail:huijunzi@21cn.com与我联系。 哇扑Blog W-M l_u*l4]
Java基础方面: 哇扑Blog"w_N7X_v_R-R IZ N/U
W%U_`_T6k+~6C4M$rGuest1、作用域public,private,protected,以及不写时的区别
*L.u_{_P'}8__u$B)h"SGuest答:区别如下:
u J5N9mM+t2UIGuest作用域 当前类 同一package 子孙类 其他package
:c6U_a%u_z c0e_D3M_~_XGuestpublic √ √ √ √
z_j,v_`"n nGuestprotected √ √ √ ×
w!S5w*[_c_bGuestfriendly √ √ × ×
7A$V_t D b_b+dGuestprivate √ × × ×
(V_C
i_^3X1p5lGuest不写时默认为friendly
c1p_a_u_B f-L_L_aGuest哇扑Blog*R O_b%}_a_| _
2、ArrayList和Vector的区别,HashMap和Hashtable的区别
%V R_M!q_HGuest答:就ArrayList与Vector主要从二方面来说.
_@/Z"n'K_`Guest一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 哇扑Blog"Z_e.g;@8Y6C
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半 哇扑Blog_m$r-W0t;`+K_k$q_]4~ ?*c
就HashMap与HashTable主要从三方面来说。
_n1d"k#P;R:e_QGuest一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 哇扑Blog_g9_ f%S_c"@3E_}3q_|_m
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
6M s$v_F WV)\\9p_dGuest三.值:只有HashMap可以让你将空值作为一个表的条目的key或value 哇扑Blog5j.W-d+L_^1g_A_l:X_}_^
哇扑Blog'E6x_A#d;t_O_l
3、char型变量中能不能存贮一个中文汉字?为什么?
o E_o_p_r_q ?#r_mGuest答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
_SQ_n_Y,`#I_T tGuest哇扑Blog2q%G5@_h9n/~-R
4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
_K_j_i3P;K_wGuest答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 哇扑Blog_@_kC.w_f __R+I:r
同步的实现方面有两种,分别是synchronized,wait与notify 哇扑Blog_e_o4M_K_v_N_a
哇扑Blog,T_L_V;J$]8D2o_y_Q%G(r
5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
?&j#d_Y_UGuest答:父类: 哇扑Blog6r4T_s4e0c_j,@/e;a
package test; 哇扑Blog_N1m_[-S_}_y_Q8n:W_[
public class FatherClass
a,t-l_}_s!y2?5GGuest{ 哇扑Blog_E:h_~_}_C_P_Z_o;q#M
public FatherClass()
;Q_{)f6o1\?/PGuest{
5\\+sV&v_D h:U1n.W/d_@GuestSystem.out.println("FatherClass Create");
_G V u's_U_Q%V7tr__ {Guest} 哇扑Blog!y6v h0h_s _!r*x
}
_t4L(TQ!LGuest子类:
f
i$a_W2M_r_X_P+mGuestpackage test; 哇扑Blog(f_L_C_B%i$t_g&@ D9|_g_p_Q
import test.FatherClass;
4y_L%t2D_i;aGuestpublic class ChildClass extends FatherClass
_g/r
bJ-a_r4LGuest{ 哇扑Blog_F,[?H z2~_q4C
public ChildClass()
_z&B(v*p_X#GGuest{ 哇扑Blog*A#b/Z6\\_a {_?"~_x
System.out.println("ChildClass Create");
_u1w_T_x1^/^Guest}
+p_N$j_v;m t:a_WNGuestpublic static void main(String[] args)
(~'e%l"h
m_r1p1r_RGuest{ 哇扑Blog_]4Rv_o1I
FatherClass fc = new FatherClass();
_Zy:n_r_W6YGuestChildClass cc = new ChildClass();
!H6c_f aP8^#r_H_j_VGuest} 哇扑Blog"__m5p_b6`'J_]_\\3R
}
_X2m/Q_H5J_V-W F_[Guest输出结果:
*xR%S c!S M_nGuestC:\\>java test.ChildClass
;d z M }_a6A }!R&vGuestFatherClass Create
f4^:N8n_w)w_C!p_s_c_i._GuestFatherClass Create
6h_p_h_F6CGuestChildClass Create
_F_P_E,L)hV_?0F5p_?_e_z3FGuest
4w_U_o!r B_O_TGuest6、内部类的实现方式? 哇扑Blog_a6O_D S'S1F/E_Z Z#H
答:示例代码如下:
(s_A(Y1v_D1YGuestpackage test; 哇扑Blog1o#b_xs_B;R_|_s$e:|
public class OuterClass
.P_D2q'd_P$q_y!dGuest{ 哇扑Blog"B9b!k_i)L_j [ z
private class InterClass
_d_F+H_]-G_hGuest{
.I5i&l.L&c&W_W;f_~.xGuestpublic InterClass()
_O8W ]8z_o(g'l_DGuest{
2I)s+o.]%a'EGuestSystem.out.println("InterClass Create");
9B)m_e_l_L_p'S7N_@Guest}
_f J
J
t_X_K_?Guest}
&y E1[0Q2H4l_]R9JGuestpublic OuterClass() 哇扑Blog Q_j/J_Q(z;c4Z
{
_+i l_{_AzGuestInterClass ic = new InterClass();
4}%~.e3k)v XGuestSystem.out.println("OuterClass Create");
_v_{_A_M_l$GGuest}
-g g_H1I DGuestpublic static void main(String[] args) 哇扑Blog V,T_sf,b,h.k_i;r ~ X L0o_d
{
J_y#\\)O E-|;~_D)D_\\GuestOuterClass oc = new OuterClass(); 哇扑Blog_E.e_B {9})H
} 哇扑Blog:Tz"Y3u_a pj,J
}
_N0kJ)w+H_F!n_p___{_ZGuest输出结果:
_E.t_C*k_`_l_CGuestC:\\>java test/OuterClass
_f_U"BE,V }GuestInterClass Create 哇扑Blog,z_t5Y;c!S:t_f
OuterClass Create 哇扑Blog_S_X_F4D,c/s-V_V
再一个例题:
i _
f_a1m f_r+D-FGuestpublic class OuterClass {
C_A__;F0Q1xHGuestprivate double d1 = 1.0; 哇扑Blog"u9|1M_I#t
W_H
//insert code here 哇扑Blog_J_P_D_u$u1A
} 哇扑Blog3e_p8f_M_\\7l_e
l
You need to insert an inner class declaration at line 3. Which two inner class declarations are
&i_v2W_]_~ TGuest哇扑Blog_o_` e_W)d)t_O
valid?(Choose two.)
9?!r R%a6p6Y_lGuestA. class InnerOne{
;b_l4}_t_g q_JGuestpublic static double methoda() {return d1;} 哇扑Blog0u!i;Y_?_s_B_{3g
} 哇扑Blogu"P6Y/v r_~ ]
B. public class InnerOne{
_o;N_|4K8R&Y ^9M#p_DGueststatic double methoda() {return d1;}
D7l+W_a(Y-_Guest}
#Z c_[%T&F A!{_T_s&qGuestC. private class InnerOne{
1]_y1s1F_x_p:aGuestdouble methoda() {return d1;}
+e2[!N } {Guest} 哇扑Blog
H w/G1Y\\;\
D. static class InnerOne{
_j_q `_| m/?2c"J_jGuestprotected double methoda() {return d1;}
%Y-T4f_c*x_V5@7VGuest}
%?&R_F_F_[0tGuestE. abstract class InnerOne{ 哇扑Blog2U_Z_y"x)O_X7K_R
public abstract double methoda();
_[_{'f s4zGuest} 哇扑Blog_D
T0\\"}:gQ$t_R_r
说明如下:
_K_}0U_b1v$q_z5]_B_@Guest一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错 哇扑Blog_c-Q|*[_V'x_y_g8Y%]
二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。
_v_\/O/~_Q_h5B_O-vGuest哇扑BlogA_D%F_Q |_~_s b
故 D 错
,B s'J
x_n;s6A_Q!Y_Q1kGuest三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确
_O(x_v_o6y%]_o3~_IGuest四.答案为C、E
_\\.L_WR;a_I.A$S6w lGuest哇扑Blog;]_@_y,h
~_UY
7、垃圾回收机制,如何优化程序?
_X_M_o_S&z y)k_i/z2{_K1kGuest希望大家补上,谢谢
$p5a+pJ'oGuest
_c(r;[H%Y T$I4R s8@7y;bGuest8、float型float f=3.4是否正确?
4T$U_b8`_Q+n-SGuest答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 哇扑Blog_M"p_w4j;Y
哇扑Blog V7E_o_s_@_v
9、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?
7N q V gE_JGuest答:Collection FrameWork如下: 哇扑Blog_j_Y5b;w_y7b_O_O D
Collection
_B e_a_?_p$xGuest├List 哇扑Blog_w/x q_y'V_L_D_N_o_b
│├LinkedList
_`.f+B___g5iGuest│├ArrayList 哇扑Blog_c+G_i_p#S"M_`
│└Vector 哇扑Blog#U_w_V7C)|
│ └Stack
3@2W_C OVGuest└Set
_m*O1}&W(K&__k_y_U9x_bGuestMap
,Y k;{*B_O_H:O5I_E6HGuest├Hashtable
_O_]_f U*}Guest├HashMap 哇扑Blog ]9P_F
}_m_G_M k%F_@4e
└WeakHashMap
T_W_B
r-q/M%D.|GuestCollection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements) 哇扑Blog Q_q1Z(X/k#k.P___V
Map提供key到value的映射 哇扑Blog5y_y7b P2y v*B
_?*W2t_N7P5a YGuest10、Java中异常处理机制,事件机制?
_B$I9A7w_A;T_BGuest
1D_^_z8L8c$sGuest11、JAVA中的多形与继承?
y2l_o+j%S_h b_lGuest希望大家补上,谢谢 哇扑Blog_b_B_k;Z4Z%T_WH_U
哇扑Blog;h,cY`*e_U%H_f o
12、抽象类与接口? 哇扑Blog'I2h*d_t_N b
答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)。
{6Z_}.s_R_P_d$zGuest
_T_B_};`+V7a9T!c_z2@Guest13、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 哇扑Blog_^'Ir_|_W
答:Server端程序: 哇扑Blog_c_^6E_y_p7w G
package test;
_e U_w_~1G
GGuestimport java.net.*;
i%I_M T5a%C1eGuestimport java.io.*; 哇扑Blog_z#H_X+z-W/A_z
哇扑Blog O_c~_l_Y_i
public class Server
!f)[0g_@_s.YQ+x,uGuest{
_t%[_U&h$WGuestprivate ServerSocket ss;
~ U_j#D U_Q"O_gGuestprivate Socket socket; 哇扑Blog Q h_L_q;`'a1H0R
private BufferedReader in;
+c7gv_wj1B%t;oGuestprivate PrintWriter out;
c_b_K3G_}%O`Guestpublic Server()
9N_Q9_Q9k_v8T0GGuest{
_{_G_p {_z_bGuesttry
_`4U_a/h_n/n_t(d8y6g#[Guest{
_g_E
{L H8N%|Guestss=new ServerSocket(10000);
:t__9f5S_| z_m_e bGuestwhile(true) 哇扑Blog_C-V_i_a5W+F'z_M_F_p
{
_^_C(r_@
C_K1fGuestsocket = ss.accept(); 哇扑Blog_V8H_V#__x_g_u
String RemoteIP = socket.getInetAddress().getHostAddress(); 哇扑Blog TM_z.[!o_a E
String RemotePort = ":"+socket.getLocalPort();
ZP_v2{1dGuestSystem.out.println("A client come in!IP:"+RemoteIP+RemotePort);
(r_m1S)r.R&}$j+^_{Guestin = new BufferedReader(new 哇扑Blog7i ~ V_b_M#t
哇扑BlogO;Z c_?_H_f
InputStreamReader(socket.getInputStream())); 哇扑Blog%JN_T.F;t*^_V
String line = in.readLine();
_b_^(_:Y_r_g-A_GGuestSystem.out.println("Cleint send is :" + line);
a_^(\\_I)`_u_X_e_nGuestout = new PrintWriter(socket.getOutputStream(),true); 哇扑Blog8N_w_Y,^D4o_u_K
out.println("Your Message Received!");
_G_a_t_O Z*o_wGuestout.close();
,~*Z.U&p_?,^*Y&PGuestin.close(); 哇扑Blog7A E_Y p_W R%B_d#i
c
socket.close();
_V_}#T [0lGuest} 哇扑Blog*[.G,v$D5W
}catch (IOException e)
+n_H_X+a9e_`_s"MGuest{ 哇扑Blog W2F_E{_u_}_}
out.println("wrong"); 哇扑Blog'x9N.i/i_?_f_B3s_b
}
8s_r_A8W_Y0{b_\\:M9q c_|Guest}
,D d8o_f_]d(A*l ?_aGuestpublic static void main(String[] args)
(p_x_N_X6T*?_jGuest{ 哇扑Blog__3n_v!z_q d_L_g
new Server();
%r(z_f#J$Y3I_Q_u4c_M/oO,gGuest}
0k#E_S_v&[4VGuest}; 哇扑Blog(|_|_L_?_\\%l1L
Client端程序:
_s-F9v h"c KGuestpackage test;
']_t O,f2p3]Guestimport java.io.*;
f_A&q&w3] _Guestimport java.net.*; 哇扑Blog%o_L_t_N_h
5O6y O_{6T h_b6^3H_EGuestpublic class Client
_a(l-`_^_H1j_KGuest{
&S~_M Y d6q0fGuestSocket socket;
_k N3W
F&O_A_[)u9}GuestBufferedReader in;
_H_C*[ A-e_MGuestPrintWriter out;
_{,Q:O_D;j_ZGuestpublic Client()
_b2R_E
e%L_oGuest{ 哇扑Blog&D4K b/P_@-P4v\
try
_P_b_U_B;J-g_D_{5SGuest{
,R_J5u)|3J_EGuestSystem.out.println("Try to Connect to 127.0.0.1:10000");
)y*P_M/o4X_q_I0N_c ^;O1x1KGuestsocket = new Socket("127.0.0.1",10000);
6b u l_R;H_YGuestSystem.out.println("The Server Connected!");
7g,X6Q_Z_y q6zGuestSystem.out.println("Please enter some Character:");
_[.K6U$s @GuestBufferedReader line = new BufferedReader(new
_h(X_C6Nc_z_EGuest
5u,A_z:@_Y!_9I_J_M&j$~GuestInputStreamReader(System.in)); 哇扑Blog"\\9w o_P_G_J U
out = new PrintWriter(socket.getOutputStream(),true); 哇扑Blog_L0X4n_cn_}/_
out.println(line.readLine());
'K-b_i9b'L_B_J_^"]8xGuestin = new BufferedReader(new InputStreamReader(socket.getInputStream())); 哇扑Blog I)a"S_C9i:V_W
System.out.println(in.readLine()); 哇扑Blog i_F%b7i*Q T_L_^
J8[_B
out.close(); 哇扑Blog6]_w7]6}_R_` U
in.close();
_r W_m_Mbn_DGuestsocket.close();
,~*W1u a a%BGuest}catch(IOException e)
S c8__T__4__@$[~Guest{
_e_\\"U S_nGuestout.println("Wrong");
!N kh_A#z6V_s
{Guest}
_b C A w_a#x_n6C,v_`Guest}
_n?#B_a:c6w w_U'uGuestpublic static void main(String[] args)
-b*p5c_D FGuest{
:y.e%|0G_r&Q_c YGuestnew Client();
k7m2@_A9R_aGuest}
_J_{_n:m1fGuest};
e#c3d9H?-m#CGuest哇扑Blog_n:a_}0x;G_X7`/f
14、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口? 哇扑Blog.q#Q_D_q%G/Z#Z
答:用插入法进行排序代码如下 哇扑Blog"\\#c$i1t:@)o%I
package test;
,F {__3Q_u_^;z@Guestimport java.util.*; 哇扑Blog:}_X'X0j6P_w_b7S
j
class InsertSort 哇扑Blog)q_F$}&~_{;L0m_?
{
w_S9v:j_X+B_t _GuestArrayList al; 哇扑Blog3M0x_Y_n_Z @_U*L1E_J d
public InsertSort(int num,int mod)
*~_M
Z2E-e j9a O_T5UGuest{ 哇扑Blog)d"m_k_q6E9c3]
al = new ArrayList(num); 哇扑Blog_I_F^_P_t/k
U
b
Random rand = new Random();
_r/K'{/v_qGuestSystem.out.println("The ArrayList Sort Before:"); 哇扑Blog,K,w_P4g_s:^_U[ v,D
for (int i=0;i }_D%^ V)^7Hh_h al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1)); 4LF_K_C7?_W_F6z.LGuestSystem.out.println("al["+i+"]="+al.get(i)); _d_o*X)\\ w*s$T_o_YGuest} 'o_u0M_V_?7i_B2p_DGuest} 哇扑Blog_A_g.e1Q I/P public void SortIt() )y_r:? f S5vGuest{ +m0ut_[ p;V O_~GuestInteger tempInt; 哇扑Blog_u;n*R1F_I_t int MaxSize=1; +?_F\\_Y_]-zt_?_?Guestfor(int i=1;i J(`-x_B'K:]_h4GH gGuesttempInt = (Integer)al.remove(i); 5\\_\\6v&R_c8Z&Y0w+i_AGuestif(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue()) /~_I%o+F2}_G_wGuest{ _`_|$E H*K_e_c_BGuestal.add(MaxSize,tempInt); _a!n6F2W Y_GR!~,JGuestMaxSize++; 哇扑Blog_X*X#D_cm8o;z_Y3X System.out.println(al.toString()); *h/Z8i*mX.[3rGuest} else { _H.E)?4C9O#H_}_L"K*y!YGuestfor (int j=0;j if d9c_r+l_K+V5sGuest哇扑Blog_Et_f4e_Z_h;P_n B (((Integer)al.get(j)).intValue()>=tempInt.intValue()) 8p_t%S5]"pGuest{ 哇扑Blog6U ^_L_Ia_Z%e_f0i al.add(j,tempInt); _P6n#C_?&J6KGuestMaxSize++; !Z_s$c_g_p%EGuestSystem.out.println(al.toString()); 哇扑Blog`9t3u_{:s1~"w break; 哇扑Blog Q_@_d_~_y_B_G_b#Z } 哇扑Blog"}_}&u_S_f5I_D7j } "s]_b l_I'iGuest} 哇扑Blog9L F_[(K7M*D_O"g_m } 哇扑Blog.qf(q p8U m:]_?_Z System.out.println("The ArrayList Sort After:"); _U5u_g ]_lGuestfor(int i=0;i System.out.println("al["+i+"]="+al.get(i)); 哇扑Blog+U_T5}"|!T } 哇扑Blog*i_D:}%__m;@,W#k_a&c_O } +_!o T(P_P_y(TGuestpublic static void main(String[] args) +~_s#}_g_]%d#C_YGuest{ 哇扑Blog*~9e9z L_YP_b_t InsertSort is = new InsertSort(10,100); 哇扑Blog$f_z'd_Z:y L!a2s is.SortIt(); ,U_o {1S8a#Z_g_[Guest} _L3h_U_}2x_@Guest} _y,u+NH/X'_GuestJAVA类实现序例化的方法是实现java.io.Serializable接口 _b_I_S6{ s_uGuestCollection框架中实现比较要实现Comparable 接口和 Comparator 接口 &C$X'O_X_Z_x#?_Z_y_zP#UGuest _lg3h V"b+{_u_N,iGuest15、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。 哇扑BlogW_Fk_P_G_l:y+c 答:代码如下: _y O_N_j D_q_\\)[sSGuestpackage test; _R/s_V_^_S_z_EGuest '^8D_k_~$N ] dGuestclass SplitString _[4b)b_v_U,G___A_s6YGuest{ +j_i0v s3g_^GuestString SplitStr; $~$X(s k_@Guestint SplitByte; _H_Z_u$?_h h_I;t u_];\\Guestpublic SplitString(String str,int bytes) !T;R:Ui-h/R0?/vGuest{ !c_h_l_e%z,O#d_oGuestSplitStr=str; 哇扑Blog_Z_q f_t_O x3h'e-{_T SplitByte=bytes; 哇扑Blog_W8`_p P_x System.out.println("The String is:´"+SplitStr+"´;SplitBytes="+SplitByte); 哇扑Blogh_~7_+m2G_]!h } 哇扑Blog N T;~ s7V.m2c_E_Z_i(V public void SplitIt() 哇扑Blog&H"z*k i8b_j_a { 哇扑Blog2Hy_g7\\(F%L(e:A_] int loopCount; 哇扑Blog:`_c-]/` e_l_e4u 哇扑Blog_K_}_` X_X9@ L_W3` 哇扑Blog_oK0L$] {"x7D loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split 哇扑Blog2^3s!d&s_g_zn.k_S3U t _U M_Y_Zi_K:WGuestByte+1); 3o;p;d_O_a_`GuestSystem.out.println("Will Split into "+loopCount); _HR(|_U4m!}Guestfor (int i=1;i<=loopCount ;i++ ) ^7A_]9E/Z0k#pLGuest{ 哇扑Blog_F_@_c U_i_Z if (i==loopCount){ 哇扑Blog_W:o T_h_Q_H+S_t 哇扑Blog,__w3J+K_i7l_E /o5v_p_y_? {GuestSystem.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length())); 哇扑Blog4_7J_a8I'E_S u:n } else { `-X3`_T"h!n#z*tGuest _c7Q(L_g_rGuest _j)u2^:T-] zGuestSystem.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte))); _E:O_f d_O_Z-N_W {Guest} 哇扑Blog&X9o'o&P ^$t_M~_t)E } /`$I_k+b_s_S4?4{-L5CGuest} _X_w|+|5l_N4h_t_X&_Guestpublic static void main(String[] args) _V_QM:S_t+}8^Guest{ 哇扑Blog(A I1L_F_M&@6j SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人 哇扑Blog_w"[%r F_T_E'Y_f _?7b"? T'r_X6k#e4vGuest0ewldfls=103",4); 哇扑Blog_@!r7a_X Y_`_{4A ss.SplitIt(); 'q5Q2U4t9|_P'F%O_BGuest} 哇扑Blog!L_H7\\_j_K5j&j.K } 哇扑Blog_P_F$D1n_]_x9Y_x_Z!Q)E )h_V1|%T)vGuest16、JAVA多线程编程。 用JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。 哇扑Blog6q%O+M_g;|{2o b_~ 希望大家补上,谢谢 _Und9G_L_I_F_jGuest w I/Q/y+O_o jGuest17、STRING与STRINGBUFFER的区别。 $s_Z_s)CWxGuest答:STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法 ,T2^-m_w&R6[&R'Y_p v_NGuest 6p_l_h H A3v7p)@GuestJsp方面 %b-}4Z |,N3j_nGuest哇扑Blog_n%Y/}_C @_` t_r 1、jsp有哪些内置对象?作用分别是什么? 哇扑Blog_Z0v:\\_@0X!w5B1C f 答:JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 哇扑Blog-T'[!^_l0J q request 用户端请求,此请求会包含来自GET/POST请求的参数 哇扑Blog r_G-M_]_c'Y_y___E response 网页传回用户端的回应 _A_o_h @_s_s'I8FGuestpageContext 网页的属性是在这里管理 _A__G i%f8K U_S,M8o_GGuestsession 与请求有关的会话期 Q,|2H!{3Q"^_E_v&WGuestapplication servlet 正在执行的内容 3}/{_a3b;__T_L R_p__0^_pGuestout 用来传送回应的输出 &m_b,\\_K Q_{_XGuestconfig servlet的构架部件 哇扑Blog_Z0A"|6a0f page JSP网页本身 b_i_sV_C_PGuestexception 针对错误网页,未捕捉的例外 哇扑Blog [/L g_q,{_w_G 哇扑Blog"F&h"S2T_C_S_t_{_^_s__ 2、jsp有哪些动作?作用分别是什么? *e0\\_q_j-s_g GGuest答:JSP共有以下6种基本动作 r s3Xb_T!g%c&d_@Guestjsp:include:在页面被请求的时候引入一个文件。 哇扑Blog;K.R_l_q_C jsp:useBean:寻找或者实例化一个JavaBean。 哇扑Blog*F0S3M y.O_@ a d_s jsp:setProperty:设置JavaBean的属性。 哇扑Blog&N#m_m_g5? ~_`|_g_Q jsp:getProperty:输出某个JavaBean的属性。 _M5S6V_?0h_GGuestjsp:forward:把请求转到一个新的页面。 _m___?0?6x:P5~Guestjsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记 _^_n_t_} t j!m/`Guest (a_?_A o7b_{Guest3、JSP中动态INCLUDE与静态INCLUDE的区别? N6L_a_r_[_}_i_L6n_cGuest答:动态INCLUDE用jsp:include动作实现 5N_e&P8S/\\6oB1z)RGuest [_h_y__$y_J_N HGuest静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 H_A_J:x_b4`Guest<%@ include file="included.htm" %> 哇扑Blog_u,w_u3H [_SW_T _Y8w3i q_x6L.j_z ~_KGuest4、两种跳转方式分别是什么?有什么区别? 哇扑Blog3W_u!b_x/x 答:有两种,分别为: [_w_q_L |6y_SGuest P#`_Z_U.^Guest前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。 哇扑Blog9? h_t_O_W_M(H#W;}_Y-} 哇扑Blog i6Y.g_o_} Servlet方面 哇扑Blog6k_O'y,U i_g g_h O_s$QL_v_B0hGuest1、说一说Servlet的生命周期? 6D#t6Q_p9I_S VGuest答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 哇扑Blog_N)U,~'E_q_M 哇扑Blog_S*y_w#C*q_k O 2、Servlet版本间(忘了问的是哪两个版本了)的不同? !j n/s_Z6v iGuest希望大家补上,谢谢 哇扑Blog_l_L-Fy_~_V_R_m h 哇扑BlogI(v4X,`_^X.|_^ 3、JAVA SERVLET API中forward() 与redirect()的区别? .u_T_Z0g_L0A_dGuest答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。 哇扑Blog.I+D4O_y_K(T_J 6{_Z_[ v_\\_QGuest4、Servlet的基本架构 哇扑Blog_v2`_[_gZ public class ServletName extends HttpServlet { 哇扑Blog,f2x_U \\ l8@%e public void doPost(HttpServletRequest request, HttpServletResponse response) throws 哇扑Blog_i_H_\\%@0l6B_|2_ ServletException, IOException { D/g_e_G1d_['DGuest} _P!A _"e,Bm_^Guestpublic void doGet(HttpServletRequest request, HttpServletResponse response) throws 哇扑Blog'a___C_p_Q!G0k f_X_y ServletException, IOException { _o/h_HK_ZLGuest} 哇扑Blog(W6D_m\\2vS_k ^ z } h9x;r i_B CGuest 0q0A___H_j;Z0^$UsGuestJdbc、Jdo方面 _J_\\5G_d7~_U_S \\3XGuest哇扑Blog)L3@'I ~_t 1、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询. 哇扑Blog%l(c*m4H_f 答:程序如下: 哇扑Blog8Z_P q&}_J5vh&Gz+s+_ package hello.ant; !L_L_k3m3a9VGuestimport java.sql.*; _J-l E_s mH8d_j_I_wGuestpublic class jdbc 哇扑Blog%[__:_3v'^ D C(_ { 哇扑Blog9K_H.z&F#A.q_W#m String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl"; 哇扑Blog7h'n I+i&y3Q)P_` String theUser="admin"; 哇扑Blog2xi7m m1z/A_f String thePw="manager"; 哇扑Blog6T$D_w't-H_o Connection c=null; 3F!c$F*e_`_b2e3o4RGuestStatement conn; 哇扑Blog_a_D"D)\\_B ResultSet rs=null; 3m E'o_O rGuestpublic jdbc() 哇扑Blog__2V_D_`_a6} { 哇扑Blog u_N_m&m"t_s%V try{ 1d5s&\\_i;u3?7PGuestClass.forName("oracle.jdbc.driver.OracleDriver").newInstance(); ,s(P_X6n4Z_K_HGuestc = DriverManager.getConnection(dbUrl,theUser,thePw); 哇扑Blog [4U_}7v q_e9G conn=c.createStatement(); 哇扑Blog(X_Z_u_{T!V1c l }catch(Exception e){ ,Y_j_|_Cu;mGueste.printStackTrace(); 哇扑Blog_[4n$H e)l C(f } H3v_u+G5v"f_~Guest} -Q8k_}j8~Guestpublic boolean executeUpdate(String sql) 哇扑Blog {&R$d_z)w/h.U!E { 哇扑Blog!T_L1F_E5Q8p k5vu try 哇扑Blog g_^_g p_w { 哇扑Blog__v a6G)a k]_n j conn.executeUpdate(sql); _j X_a V M F&M*c2V r_H_?UGuestreturn true; s$R_k f N'F_^+u0G ~Guest} $B_`+`_@2K_I o dGuestcatch (SQLException e) 哇扑Blog)y(g!J J I { 哇扑Blog;w%q c*W2j T*j e.printStackTrace(); !m%l_?_D W(^ n1gGuestreturn false; 哇扑Blog_eS'u_G Y+C_q1S4q5Q6t } 8z;__f_i_|.x(i%WGuest} 哇扑BlogC_z*p_W!r-p_\\_t_\/} public ResultSet executeQuery(String sql) _d_H_@/c_C!?___l MA"LGuest{ _M_P&o_U_@_e$Ur:Q_hGuestrs=null; 哇扑Blog-q.R7n8W3r8k_H_y7} try 哇扑Blog ~_p_w'f_l { 哇扑Blog K.m_l |0Sr_|&V2q_{ rs=conn.executeQuery(sql); _p_x_o_R%Z5Ip_OGuest} _E;N_]_V_A$V_t)V_[Guestcatch (SQLException e) _|2]$d!Z'n.s4oGuest{ _h_Y_w!RS_P!`"VGueste.printStackTrace(); _]*h f-p_N0hGuest} A_G_A,E.r)Ef[Guestreturn rs; 6q_s'o_t/^%jGuest} 哇扑Blog.B)h3J-\\_x#|;E_j public void close() $?-o;e-m*R,x(sGuest{ _`_l:A/O_^/[_O_WGuesttry (@4I_i_k DGuest{ _S0g_t(];d_O_l_v_c)N9SGuestconn.close(); 哇扑Blog_}_x_O+b u_~ c.close(); 哇扑Blog"@2| g(Z_R_~ z8SP } _O N_a;l_e0T(IGuestcatch (Exception e) E-M+q G7K_\\_W_s*v.YGuest{ 哇扑Blog_~6n_Q;K_{_@ N_G e.printStackTrace(); 哇扑Blog.w_i/F_E_x_^%x } _W S0d%T%V e1w4x J_s:HGuest} 哇扑Blog/Z_r_r ^_M public static void main(String[] args) (z$^+]-G7{;~_EGuest{ 哇扑BlogUM ^6p_H_d_J ResultSet rs; A s7B A-H_cGuestjdbc conn = new jdbc(); 哇扑Blogu%?!T_s;yW"r d_Y rs=conn.executeQuery("select * from test"); 哇扑Blog_b1C_u_W_? I%\\ m try{ _qu_X#F+KGuestwhile (rs.next()) 8_;\\2\\_m_C_|_C_Z:k ` YGuest{ .k6\\_g;p_l3r_1\\GuestSystem.out.println(rs.getString("id")); ___G"X5d:W ~GuestSystem.out.println(rs.getString("name")); l)D_g_E2ZGuest} 6f8@"L_E E*D;w3\\Guest}catch(Exception e) 哇扑Blog'j_z/`+|6\\:r_p P_H { 1G_P_?_H;b-F LGueste.printStackTrace(); (k0m$K6E)|3z8T1m0B_TGuest} *JL*@S_O_nGuest} 哇扑Blog_j9a z_O_~'E } 'r7h3y_J t_eGuest _T1]0J0KamGuest2、Class.forName的作用?为什么要用? (j4d9?+I [4`![_HGuest答:调用该访问返回一个以字符串指定类名的类的对象。 哇扑Blog___F_N_\\ { i!e_?(i_O +@*O t!A_M f%d_` UGuest3、Jdo是什么? 哇扑BlogC_p_J5] [!O#L_C 答:JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。 &x.Ek u'z_d_])SGuest _e7B6q_w [/b_n%l_p bGuest4、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。 哇扑Blog3`*R!Q_M_{_EB_Wz 答:一种分页方法 哇扑Blog_P8G;y,w_M_}_X i#L <% %q#I(]_~_R'o_tGuestint i=1; E(k%K"Ku)}Guestint numPages=14; /`_y_r2}_E P%C k_\\_W:@_iGuestString pages = request.getParameter("page") ; 哇扑Blog x#l/A_e_@ int currentPage = 1; 哇扑Blog_f6O1`_G q_a9P B_v_V currentPage=(pages==null)?(1):{Integer.parseInt(pages)} _w_z_w_O_V_~Guestsql = "select count(*) from tables"; #f j0S_?;bGuestResultSet rs = DBLink.executeQuery(sql) ; "f.f/G9j7x/h_T.wGuestwhile(rs.next()) i = rs.getInt(1) ; *w/j!W t6o_n_N d-v_EGuestint intPageCount=1; 哇扑Blog_l_X;H_Y_Y,E X_N intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+1); 哇扑Blog2W_j_w vW5M+a int nextPage ; 哇扑Blog)`_? t_~:Y_M_l_C int upPage; 哇扑Blog7O_E8D1s*k_w J:W-Z b nextPage = currentPage+1; &A ]_K5X;p:G/}_U4FGuestif (nextPage>=intPageCount) nextPage=intPageCount; _]3k-b W8j!z4IGuestupPage = currentPage-1; 哇扑BlogJ+g_t_y_p_C_I7V_m_~0t if (upPage<=1) upPage=1; 哇扑Blog b0{8h%\\,h8F d_o rs.close(); 哇扑Blog.]_X.b T_X_}B Y B)| sql="select * from tables"; 哇扑Blogn3g3K%x_S_g_y rs=DBLink.executeQuery(sql); a_Y.{_{z_`_aGuesti=0; n_g_G"N+r:f_Y,zGuestwhile((i //输出内容 _w0f#b/^_~u dGuest//输出翻页连接 哇扑Blog+t N(R9a:{%s*B_S_J t*D 合计:<%=currentPage%>/<%=intPageCount%>第一页_?)H+~ W+J_v j_FGuest哇扑Blog%U_\\0y_w_e-D href="List.jsp?page=<%=upPage%>">上一页 !CQ1k%f_E:H_l_M:m8eGuest<% /x_S_e8C_y_pW_wGuestfor(int j=1;j<=intPageCount;j++){ 哇扑Blog_n7B*I7o,D-k if(currentPage!=j){ _l#K7|9J_y0?Guest%> 哇扑Blog_B_\O6N_c'e*d_~_Z O L_h (S$]4x_c0{2uAGuest<% 哇扑BlogI_W_a(KB4A }else{ 哇扑Blog_t_s w_P_a9V out.println(j); p;_;J_u&O0W3Y_RGuest} 哇扑Blog_t's_E_?_W_f } W:f*A_}_[ [ A_uGuest%> "h,N*A_m_jGuest下一页最后页 哇扑Blog A_Z*w$Z:[_} W@_P_w 5}_~*s'x*\\_aGuest _j_d_a_Q_C_EGuest _[_F+}sQ_eGuest _f6}*~_f$K j_T5\\ k @GuestXml方面 '{_X6[_l_S_g&H_wGuest哇扑Blog s3a5a_K;C5_ 1、xml有哪些解析技术?区别是什么? 哇扑Blogc_A$Z_]_t_j_^ 答:有DOM,SAX,STAX等 哇扑Blog*Q_? n,q$b)o'|+T!z DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问 哇扑Blog_z_w;r K } }D_I5U STAX:Streaming API for XML (StAX) _Cr`;S ?"]:VGuest哇扑Blog_P_z#]_A_T!X 2、你在项目中用到了xml技术的哪些方面?如何实现的? 哇扑Blog_H.?#B l_q/d_p J 答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。 哇扑Blog_{_{_K.^3M$B _n"c9B8h7z_x_G$F \\Guest3、用jdom解析xml文件时如何解决中文问题?如何解析? 哇扑Blog(Q3D_[_kc_U 答:看如下代码,用编码方式加以解决 $n S U_n_I4Q_r_qGuestpackage test; 哇扑Blog_K_U$m+p c_S&a import java.io.*; h(m5Q0Q8k_}Guestpublic class DOMTest 哇扑Blog;?_g%D a8Z+D_l!S+R { 哇扑Blog*B2G9O_M_O ?_g)e private String inFile = "c:\\\\people.xml"; 0c#g;j8W_H_RGuestprivate String outFile = "c:\\\\people.xml"; ,D_u_{C_U_y_\\_ZGuestpublic static void main(String args[]) V"v_X_n_YGuest{ 哇扑Blog-]_t d_?_`:E new DOMTest(); 哇扑Blog_F!n1h&^'`_Dw {_uB Q } 0h_{0I*u_G NL_hGuestpublic DOMTest() :f l_Z_x1Yr_N m V8C"OGuest{ 哇扑Blog5E_n_^9K;w_S_u!S&M try B_g8d_X s_I_u_c WGuest{ 哇扑Blog2c.em$B_F_X&[-r J javax.xml.parsers.DocumentBuilder builder = 哇扑Blog X;Zi8c_~_|_J 哇扑Blog_|(j_GT_L X9B_S_~_\\ qGuestjavax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder(); "R/Y_S_u&E(q_y_~Guestorg.w3c.dom.Document doc = builder.newDocument(); 哇扑Blog__,k/e!x F_]6f_`_~ org.w3c.dom.Element root = doc.createElement("老师"); -W j+y_Y_z/|(@'f_CGuestorg.w3c.dom.Element wang = doc.createElement("王"); 哇扑Blog&N%h6S,m2] a_L_b)D org.w3c.dom.Element liu = doc.createElement("刘"); 哇扑Blog'Q_~_e n_U:O7t wang.appendChild(doc.createTextNode("我是王老师")); _r%Q,{Y_a;p7yGuestroot.appendChild(wang); _]%Y2^f+X8c!e_Z;eGuestdoc.appendChild(root); _B_H8{$J_@.W3`_dGuestjavax.xml.transform.Transformer transformer = ___n A2g_F_r&S"KGuestjavax.xml.transform.TransformerFactory.newInstance().newTransformer(); -s*r }7D1f%_(xGuesttransformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312"); _u_X_g_p-J$AGuesttransformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes"); 哇扑Blog_c X.?_WJ a_dZ5h 哇扑Blog3W_P_S_V_c;T+xw 哇扑Blog,Q0](R!|#t!w_J_H transformer.transform(new javax.xml.transform.dom.DOMSource(doc), 哇扑Blog ?&U8\\0n%X V(B#d_w new 哇扑Blog_W ~_w \ ?_vR}_T 哇扑Blog_t+]_J:q z5o javax.xml.transform.stream.StreamResult(outFile)); 8Z(T1l3[_|_fGuest} 哇扑Blog_q%?&V.x AO catch (Exception e) 哇扑Blog*T_?_o_[/O*` P0p { 哇扑Blog'T_| s+g5X7H_b4y System.out.println (e.getMessage()); -d;A_S3f K%j_~Guest} /o_h(L g W+`Guest} _]5^aI7Z+g SGuest} _p!k-r0y!A_]_d_G(r_TGuest !Q\\_V_P7p6K_i_x)X)`_BGuest4、编程用JAVA解析XML的方式. A!z ?_p)k_K.fGuest答:用SAX方式解析XML,XML文件如下: 哇扑Blog_S;[_S_l_Y9w_k_D 哇扑Blog&Y_w,E9w:X_^,K;t 0s nn_NQR'Q&tGuest !i_A_c9Ha"X#@&[/J_]Guest U8D!G$O ]_x_XGuest 事件回调类SAXHandler.java 哇扑Blog1[_Y1x3P!S/w3V u$N'l*y import java.io.*; -t1_#h&W_V m_s-dGuestimport java.util.Hashtable; 哇扑Blog'F1`_Qh1U_E W__ import org.xml.sax.*; 哇扑Blog_g#y_a9k(s public class SAXHandler extends HandlerBase 哇扑BlogB"M4t2` w_\K*h @ { 2L1S_U_] N_q,j)LdGuestprivate Hashtable table = new Hashtable(); 哇扑Blog_n O_`_L,]1{*B4x_n2u_g private String currentElement = null; _s_e X2R_A*i%N;\\_f%XGuestprivate String currentValue = null; /{4\\8v&F2iGuestpublic void setTable(Hashtable table) 哇扑Blog j N_q_H&X,n8K { (M5W-u;T_?_b_a_C'Z_]EGuestthis.table = table; 哇扑Blog_}5w8Y+K H!g_{8g_p9^_G } _B6M_[&x_o_B_O_`Guestpublic Hashtable getTable() 哇扑Blog __[$| A_{_b$w { 哇扑Blog_t_W'Z e-z return table; ;\\_H_z_a4[_~,~_O*iGuest} 哇扑Blog T[_C_A_]*X_z1x P public void startElement(String tag, AttributeList attrs) 9V(M4__R KGuestthrows SAXException _a h0@_?9f_rGuest{ .U t_~#__r6nGuestcurrentElement = tag; 哇扑Blog w_j_|6B_Q(`_x } L i_w_U1z7Q$l7c6[_A(`Guestpublic void characters(char[] ch, int start, int length) d_O_S_N_Z+W8h)l_q}Guestthrows SAXException _U%x_x @_a_PGuest{ "y_X!}5Y Q"m!sGuestcurrentValue = new String(ch, start, length); _t+Z_s;N_[_N G%b_@Guest} b%G_w)T:_&r qGuestpublic void endElement(String name) throws SAXException _M,Q&wC{ `Guest{ 哇扑Blog9_9A,a_Q,E.K_` if (currentElement.equals(name)) (g_w/T:m_v,@ f_N_E%GGuesttable.put(currentElement, currentValue); 哇扑Blog_Z,J|_b_H:G_j_t } _f_m7G_W1V@q,@%i"B_~Guest} 哇扑Blog Gc g/r_e'|;z h JSP内容显示源码,SaxXml.jsp: 哇扑Blog3\\_w9B_N_cM_h:M _x3a5B_i_X2Z8`Guest $e_F0]2D$~_cGuest z-W$N5R_r_M t/XGuest 哇扑Blog_o_u)A)c9D!d H_w;K8m#f_L+e_H_u8xGuest<%@ page errorPage="ErrPage.jsp" 哇扑Blog0W b_v_b:^ contentType="text/html;charset=GB2312" %> 哇扑Blog d_T"[_h&l0rF!E ^ <%@ page import="java.io.*" %> .Y_O.r_B4X_W5|Guest<%@ page import="java.util.Hashtable" %> (\\_|_h_rB_D_zGuest<%@ page import="org.w3c.dom.*" %> 哇扑Blog_p%u,X_q@ <%@ page import="org.xml.sax.*" %> 哇扑Blog)g_^ N_f B1n(z*? <%@ page import="javax.xml.parsers.SAXParserFactory" %> 哇扑Blog.b"\\ S_T-h K-P2q#s <%@ page import="javax.xml.parsers.SAXParser" %> _x+{ I9V_| pGuest<%@ page import="SAXHandler" %> 哇扑Blog$Y#ke_^_L_I%T%v_w <% 哇扑Blog;k-l_L_c!i;l_n H_B {0}/O File file = new File("c:\\\\people.xml"); 哇扑Blog_O_S_^-q_\\.Nm_T O_Y_i FileReader reader = new FileReader(file); 2d_h_gc_k9a_}'B&A_GGuestParser parser; 哇扑Blog:y&z,P!G$w_g L$Y a-{)q SAXParserFactory spf = SAXParserFactory.newInstance(); 哇扑Blog_{(y!z/b_{.]_S SAXParser sp = spf.newSAXParser(); 哇扑Blog G_w `_f_v(MO7w SAXHandler handler = new SAXHandler(); &?b7f2s#V'FGuestsp.parse(new InputSource(reader), handler); 哇扑Blog_o_[_| l_d_E_x_y%G Hashtable hashTable = handler.getTable(); _T_A_Q,@_X_JGuestout.println(" &~+Y_k)c2BGuestout.println(" #Ys_Z_K2v D_A%{0Y_}Guest(String)hashTable.get(new String("name")) + " 6}8].u0g_[_f_i_M"T_R_`Guestout.println(" )n_t_H_i GGuest(String)hashTable.get(new String("college"))+" D9j:A_i out.println(" *G$m_y_{_q0C l_n OGuest(String)hashTable.get(new String("telephone")) + " _j_A_e_w_n8P0X;o_yGuestout.println(" (String)hashTable.get(new String("notes")) + " out.println(" %> &Y_V_i T_GU.M+L_M h_F9~Guest _^!z N_Q#b%t9?_EGuest _~|_\\;m8~;s+x_bGuest _^/g_J.a1`#s5tmGuestEJB方面 #\\_WW-Xs_Z_L b9zGuest哇扑Blog*[+\\8Y_S_J_|'M 1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 哇扑Blog_R R&a_r ~'n.S,r 答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS..... 哇扑Blog\\_gy_y [1b V f 哇扑Blog_E M_l_s5s_| k_j 2、EJB与JAVA BEAN的区别? 7J!u_C:B_k_D_qGuest答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 _l a_L_Y_noGuest #](?/aM#e/x*s8a6z#QGuest3、EJB的基本架构 *s [ ?1C LGuest答:一个EJB包括三个部分: ,HW_s_a_R_q_O_lGuestRemote Interface 接口的代码 _K)@_r1u YM_TGuestpackage Beans; 哇扑Blog-^&D_v_P)y_U W!G import javax.ejb.EJBObject; _J&M"v_f_I t8l XGuestimport java.rmi.RemoteException; 哇扑Blog'XS$u hN [%z_f(g public interface Add extends EJBObject %m_@ X_W!k_|_NGuest{ _SU_@%G_|9XGuest//some method declare 哇扑Blog,S/M-D l_z*X } a uf_Z_oGuestHome Interface 接口的代码 ;x R7m_P*Z)n_EGuestpackage Beans; -u_H0P;Z_k+x+k:S9l9XGuestimport java.rmi.RemoteException; s_t_j(O;MGuestimport jaax.ejb.CreateException; _A r,|_w_t_A0}9y Y:Z8DGuestimport javax.ejb.EJBHome; @x m_F,s_p A2r(~Guestpublic interface AddHome extends EJBHome _e_V*A3U_V_a_yGuest{ 哇扑Blog_S+g8^_k_r&X(?_| //some method declare 哇扑Blog*R1V_k-K3R S_u ^#b_] } h M7} G*m_A6g;v_@GuestEJB类的代码 哇扑Blog o_h-q_}5?_S0F_{_i package Beans; _[9}6m k7{)r&x&r*~6OGuestimport java.rmi.RemoteException; _n Z+W&t E)^"J_o aGuestimport javax.ejb.SessionBean; 哇扑Blog C z$[_n'[ import javx.ejb.SessionContext; /|_g_S_d_S;B;D O_bGuestpublic class AddBean Implements SessionBean _p3j)T_A6] d@_[Guest{ _s'p6X*T_N-i)u$gGuest//some method declare W9P:@-@_P6_ JGuest} 哇扑Blog_B)h F&x i [_Y \ 哇扑Blog_?_Q_X_x*y_E J2EE,MVC方面 哇扑Blog6A_B,m_P%__^_V7t;V f :d4h_X_N V_].e E8b$M_SGuest1、MVC的各个部分都有那些技术来实现?如何实现? _b_a_P_z+J_D_}_M_oGuest答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。 哇扑Blog@_E d!B_Wb+J_o _S)Z(E_f_FGuest2、应用服务器与WEB SERVER的区别? _}_\\_m_X_K/GGuest希望大家补上,谢谢 ,I2s Y5i_~ `_^ N9h(]_W6CGuest哇扑Blog_t_g_W,V_XI_r _](K_U3Y.@_U_\\Guest3、J2EE是什么? 哇扑Blog&C_q9e_w P'B_J 答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。 _J4S4K%\\_|,t_]Guest哇扑Blog `'A_j$B_YU K 4、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 哇扑Blog_D'r_I_V_u8f/_ 答:Web Service描述语言WSDL 哇扑Blog \\ O_R_d_G2g_@_p4D1Q_Y SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。 _J_A5j.Y2H_\\_F_xGuestUDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。 哇扑Blog2y_UF/[2U)c_K_S _\\8y4F_^9m!bGuest 6U;g_B4e_zGuest5、BS与CS的联系与区别。 哇扑Blog&J_O_P;f {_g'Z2M)[9M2G-l 希望大家补上,谢谢 !f @*T$n4C_B_n_iGuest哇扑Blog$S,G'R_K_{_j 6、STRUTS的应用(如STRUTS架构) /c4U#x+D%H;wB(C3T aGuest答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能: _|$b_a_`_T;[_t;yGuest一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。 哇扑Blog-~ w_]_Z_z(X_N_} 二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。 _x_]-h+[%~_v \\ b CGuest三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。 哇扑Blog%O/D_E_y_\\_v+c_P_a (d_N l/r5WGuest设计模式方面 +H&v$c$D_{ cGuest _P%r_o;v_kGuest1、开发中都用到了那些设计模式?用在什么场合? M O6G J)X.P b_CGuest答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。 哇扑Blog2X6m;a_I_C_`_g 哇扑Blog_B_F_w.r_*U(P_e_L 9Y_o_y3] YGuest2、UML方面 哇扑Blog.R_b_ho_o P2v.U 答:标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图, %{_z0q*b.d_MGuest哇扑Blog_M_d_{_q:g_Z3L_e z_i)Y JavaScript方面 哇扑Blog7__\\_z_E,\\_b_p8} 哇扑Blog-O_R+?_C V 1、如何校验数字型? 哇扑Blog/s JZ%]_s y_V_@)i_[_N var re=/^\\d{1,8}$|\\.\\d{1,2}$/; 哇扑Blog_n_A7|_B_H o_{&Fi var str=document.form1.all(i).value; 哇扑Blog_h_V&z_Q_Z4o-[8R var r=str.match(re); 哇扑Blog(z8{` OD1q if (r==null) 哇扑Blog_o3X_d}j;i_P { 哇扑Blog0S_c_c4E:C_Z sign=-4; 哇扑Blog9a.S.h:m_V-j#g_s break; 哇扑Blog6i} y5s1J_p `_g } _k_m8a-E#N:e_F.OGuestelse{ i%m_t_j_n2B__#sGuestdocument.form1.all(i).value=parseFloat(str); :h%s_G+T Q_z,NGuest} ,r&Y,d7R$Q*D_HGuest哇扑Blog"i0W$\\$X:M ~ _c_|_u_F_H_N [8g+Q8w:aGuestCORBA方面 哇扑Blog!b Xv7X_l .~_^2|_y&~_V_hGuest1、CORBA是什么?用途是什么? 哇扑Blog_r c8E r;w+c_L.K 答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为: 哇扑Blog_K_\\"c_L_Q_d_e_s 用不同的程序设计语言书写 哇扑Blog8u }_F#f_w_N6q_z 在不同的进程中运行 /M_B_k#I8C_I0VGuest为不同的操作系统开发 哇扑Blog ^-?_R%K6J/D_|_Q_qe 哇扑Blog_C_m6o5];M 哇扑Blog x8z$g_D_T&h7F_f_[A2`_K LINUX方面 哇扑Blog3Y8U]Z"Q_H_O _[][$w_o5x_D g_MGuest1、LINUX下线程,GDI类的解释。 t_X_S!A_N1]'M1x_BGuest答:LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。 !O;U"m_G_c_i_C/iGuestGDI类为图像设备编程接口类库。下载本文
"); 哇扑Blog_~'K"rM_M_Q_j "); 姓名 " + "" + "); 哇扑Blog9b5S.h_V学院 " + "" + "); 电话 " + "" + "); 哇扑Blog_h k_p(G G5s_Q备注 " + "" + 哇扑Blog_m { F/D_Y_j_V j