视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Java程序员笔试的一些问题
2025-09-24 14:02:55 责编:小OO
文档
Java程序员笔试的一些问题

前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘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{ 哇扑Blog

}_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:S7p+M"} ~_g;H_rGuest{ 

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{ 哇扑Blog ?_d_J#o_Z

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{ 哇扑Blog%l/A3A_F1V_d_}

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 哇扑Blog3x_M_D_a;|"[ b

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%> 哇扑Blog.i5q_[ Lp u_E

//输出内容 

_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

[<%=j%>]

(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

哇扑Blog_h(j_^_{_m,l#S_X)K \

王小明 哇扑Blog z_t_c:};h

信息学院

0s nn_NQR'Q&tGuest6258113

!i_A_c9Ha"X#@&[/J_]Guest男,1955年生,博士,95年调入海南大学

U8D!G$O ]_x_XGuest 哇扑Blog_@T4E_G0j

事件回调类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剖析XML文件people.xml

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("

" + "");

6}8].u0g_[_f_i_M"T_R_`Guestout.println("

" + ""); 哇扑Blog9b5S.h_V

D9j:A_i

out.println("

" + "");

_j_A_e_w_n8P0X;o_yGuestout.println("

" + ""); 哇扑Blog_h k_p(G G5s_Q

out.println("

教师信息表
姓名" +

#Ys_Z_K2v D_A%{0Y_}Guest(String)hashTable.get(new String("name")) + "

学院" +

)n_t_H_i GGuest(String)hashTable.get(new String("college"))+"

电话" +

*G$m_y_{_q0C l_n OGuest(String)hashTable.get(new String("telephone")) + "

备注" + 哇扑Blog_m { F/D_Y_j_V j

(String)hashTable.get(new String("notes")) + "

"); 哇扑Blog_~'K"rM_M_Q_j

%>

&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类为图像设备编程接口类库。下载本文

显示全文
专题