??xml version="1.0" encoding="utf-8" standalone="yes"?>青青草久久网络,亚洲美女久久,96精品久久久久中文字幕http://www.aygfsteel.com/jasonzsj/category/16670.html学习交友放松zh-cnFri, 02 Mar 2007 06:42:26 GMTFri, 02 Mar 2007 06:42:26 GMT60java常用Ҏhttp://www.aygfsteel.com/jasonzsj/articles/77819.html漂泊的风漂泊的风Sat, 28 Oct 2006 09:36:00 GMThttp://www.aygfsteel.com/jasonzsj/articles/77819.htmlhttp://www.aygfsteel.com/jasonzsj/comments/77819.htmlhttp://www.aygfsteel.com/jasonzsj/articles/77819.html#Feedback0http://www.aygfsteel.com/jasonzsj/comments/commentRss/77819.htmlhttp://www.aygfsteel.com/jasonzsj/services/trackbacks/77819.html常用JAVAҎ大全

<%!
stc_RSYB_Name stcRSYName1[];
stc_SYB_INF stcSYBINF1[];
%>
<%/*
String p = (String) session.getValue("access");
if (p==null || !p.equals("1")) {
response.sendRedirect("error.htm");
return;
}*/
%>
<%!
file://得到机器名字或IP
String get_Myhostname(javax.servlet.http.HttpServletRequest request){
String myhostname = null;
try{
myhostname = request.getRemoteHost();
myhostname = myhostname.toUpperCase();
}catch(Exception e){}
return myhostname;
}
file://处理I字W串
String dealNull(String str) {
String returnstr = null;
if (str == null) returnstr = "";
else returnstr = str;
return returnstr;
}
file://处理I对?
Object dealNull(Object obj){
Object returnstr = null;
if (obj == null) returnstr = (Object)("");
else returnstr = obj;
return returnstr;
}
int dealEmpty(String s) {
s = dealNull(s);
if (s.equals("")) return 0;
return Integer.parseInt(s);
}
String replace(String str,String substr,String restr){
String[] tmp = split(str,substr);
String returnstr = null;
if(tmp.length!=0) {
returnstr = tmp[0];
for(int i = 0 ; i < tmp.length - 1 ; i++)
returnstr =dealNull(returnstr) + restr +tmp[i+1];
}
return dealNull(returnstr);
}

String htmlEncode(String txt){
txt = replace(txt,"&","&");
txt = replace(txt,"&amp;","&");
txt = replace(txt,"&quot;",""");
txt = replace(txt,"\"",""");
txt = replace(txt,"&lt;","<");
txt = replace(txt,"<","<");
txt = replace(txt,"&gt;",">");
txt = replace(txt,">",">");
txt = replace(txt,"&nbsp;"," ");
txt = replace(txt," "," ");
return txt;
}
String unHtmlEncode(String txt){
txt = replace(txt,"&","&");
txt = replace(txt,""","\"");
txt = replace(txt,"<","<");
txt = replace(txt,">",">");
txt = replace(txt," "," ");
return txt;
}
file://ALERT Function
void sAlert(String title,String msg,String focus, JspWriter out){
try {
out.println("<script language='javascript'>");
out.println("alert(\"" + title + "\" + \"\\r\\n\" + \"" + replace(replace(msg,"''","'"),"\"","\\\"") +"\");");
out.println(focus);
out.println("</script>");
} catch(Exception e) { System.out.println(e);}
}
file://CONFIRM Function
void sConfirm(String title,String msg ,String location,JspWriter out){
try{
out.println("<script language='javascript'>");
out.println("if(confirm(\"" + title + "\" + \"\\r\\n\" + \"" + replace(msg,"\"","\\\"") + "\")){" );
out.println("var d = (new Date()).toString();");
out.println(location + "+ d;");
out.println("}");
out.println("parent.document.form1.text1.select();");
out.println("</script>");
} catch (Exception e) { }
}

file://得到字符串长?
int getStringLength(String s) {
int p = 0;
try {
int iLength = 0;
int irealLength = 0;
int j = 0;
p = s.getBytes("Shift_JIS").length;
} catch(java.io.UnsupportedEncodingException e) {}
return p;
}
void formatString(String s,int b,JspWriter out){
b--;
String t = "";
try {
int leng = getStringLength(s);
int j = 0;
if (leng > b) {
for (int i = 1; i <= b ; i++) {
t = s.substring(0,i);
if (t.getBytes("Shift_JIS").length <= b ) {
j++;
} else break;
}
file://j = j+1;
file://System.out.println("b=" + b + "----" + "j=" + j);
for(int i = 0;i < j; i++){
if(s.substring(i,i+1).equals(" "))
out.print(" ");
if(!s.substring(i,i+1).equals(" "))
out.print(htmlEncode(s.substring(i,i+1)));
}
if (s.substring(0,j).getBytes("Shift_JIS").length == b){
out.print("|");
}else{
out.print(" |");
}
} else {
for (int i = 0; i < b - leng ; i++)
t = t + " ";
for (int i = 0; i < s.length(); i++){
if(s.substring(i,i+1).equals(" "))
out.print(" ");
if(!s.substring(i,i+1).equals(" "))
out.print(htmlEncode(s.substring(i,i+1)));
}
out.print(htmlEncode(t + "|"));
}
} catch(Exception e){System.out.println("----" + e);}
}
file://判断是否为数?br />boolean isNumeric(String number)
{
try
{
Integer.parseInt(number);
return true;
}
catch(NumberFormatException sqo)
{
return false;
}
}
file://判断是否为日?br />String mk_date(String c_date,int c_mode)
{
String wk_buf= "";
String ToDay = "";
try
{
ToDay = Integer.toString(java.util.Calendar.getInstance().get(java.util.Calendar.YEAR));
switch(c_mode)
{
case 0:
{
wk_buf = c_date.substring(2, 4) + "/" + c_date.substring(4, 6);
if (c_date.length() == 8)
{
wk_buf = wk_buf + "/" + c_date.substring(6, 8);
}
break;
}
case 1:
{
for (int i=0; i<c_date.length();i++)
{
if (c_date.substring(i, i+1) == " ")
{
wk_buf = wk_buf + "0";
}
else
{
wk_buf = wk_buf + c_date.substring(i, i+1);
}
}
c_date = wk_buf;
wk_buf = "";
if (c_date.substring(0, 1) != "0" )
{
wk_buf = "19";
}
else
{
wk_buf = "20";
}

wk_buf = wk_buf + c_date.substring(0, 2) + c_date.substring(3, 5);

if (c_date.length() == 8)
{
wk_buf = wk_buf + c_date.substring(6, 8);
}
break;
}
case 2:
{
wk_buf = c_date.substring(0, 4) + c_date.substring(5, 7) + c_date.substring(8, 10);
break;
}
case 3:
{
for(int i=0; i<c_date.length();i++ )
{
if (c_date.substring(i, i+1) == " ")
{
wk_buf = wk_buf + "0";
}
else
{
wk_buf = wk_buf + c_date.substring(i, i+1);
}
}
c_date = wk_buf;
wk_buf = "";
if (Integer.parseInt(c_date.substring(0,2)) > Integer.parseInt(ToDay.substring(2, 4)))
{
wk_buf = Integer.toString(Integer.parseInt(ToDay.substring(0,2)) - 1);
}
else
{
wk_buf = ToDay.substring(0,2);
}
wk_buf = wk_buf + c_date.substring(0,2) + c_date.substring(3,5);
if (c_date.length() == 8)
{
wk_buf = wk_buf + c_date.substring(6,8);
}
break;
}
case 4:
{
wk_buf = c_date.substring(0,4) + "/" + c_date.substring(4,6) + "/" + c_date.substring(6, 8);
break;
}
case 5:
{
wk_buf = c_date.substring(0,4) + c_date.substring(5, 7);
break;
}
}
}
catch(Exception e)
{
System.out.println("wrong : " + e);
}
return wk_buf;
}
int cInt(float stsid){
int cInt = 0;
try{
int stsid1 = 0;
if(stsid > 0){
if((stsid - (int)stsid > 0) && (stsid - (int)stsid != 0.5))
stsid1 = (int)(stsid + 0.5);
if(stsid - (int)stsid == 0.5){
if(((int)(stsid-0.5))%2 == 0)
stsid1 = (int)(stsid - 0.5);
else
stsid1 = (int)(stsid + 0.5);
}
if(stsid - (int)stsid ==0)
stsid1 = (int)stsid;
}else{
stsid = -stsid;
if((stsid - (int)stsid > 0) && (stsid - (int)stsid != 0.5))
stsid1 = - (int)(stsid + 0.5);
if(stsid - (int)stsid == 0.5){
if(((int)(stsid-0.5))%2 == 0)
stsid1 = - (int)(stsid - 0.5);
else
stsid1 = - (int)(stsid + 0.5);
}
if(stsid - (int)stsid ==0)
stsid1 = - (int)stsid;
}
cInt = stsid1;
}catch(Exception e){}
return cInt;
}
long cLng(float numb){
int nu = 0;
long cLng = 0;
try{
nu = cInt(numb);
cLng = (long) nu;
}catch(Exception e){}
return cLng;
}
float dealFloat(String s){
s=dealNull(s);
if (s.equals(""))
return 0;
return Float.parseFloat(s);
}
String[] split(String source,String div){
int arynum = 0,intIdx=0,intIdex=0,div_length = div.length();
if(source.compareTo("")!=0){
if(source.indexOf(div)!=-1){
intIdx = source.indexOf(div);
for(int intCount =1 ; ; intCount++){
if(source.indexOf(div,intIdx+div_length)!=-1){
intIdx= source.indexOf(div,intIdx+div_length);
arynum = intCount;
}
else {arynum+=2;break;}
}
}else arynum =1;
}else arynum = 0;

intIdx=0;
intIdex=0;
String[] returnStr = new String[arynum];

if(source.compareTo("")!=0){

if(source.indexOf(div)!=-1){

intIdx = (int)source.indexOf(div);
returnStr[0]= (String)source.substring(0,intIdx);

for(int intCount =1 ; ; intCount++){
if(source.indexOf(div,intIdx+div_length)!=-1){
intIdex=(int)source.indexOf(div,intIdx+div_length);

returnStr[intCount] = (String)source.substring(intIdx+div_length,intIdex);

intIdx = (int)source.indexOf(div,intIdx+div_length);
}
else {
returnStr[intCount] = (String)source.substring(intIdx+div_length,source.length());
break;
}
}
}
else {returnStr[0] = (String)source.substring(0,source.length());return returnStr;}
}
else {return returnStr;}
return returnStr;
}

public class stc_RSYB_Name
{
public int pos = -1;
public String NAME = "";
public String host = "";
public String home1 = "";
public String home2 = "";
public String home3 = "";
}
public class stc_SYB_INF
{
String reg_name = "";
String G_SYB = "";
String R_SYB = "";
}



漂泊的风 2006-10-28 17:36 发表评论
]]>
java基础知识http://www.aygfsteel.com/jasonzsj/articles/77810.html漂泊的风漂泊的风Sat, 28 Oct 2006 08:37:00 GMThttp://www.aygfsteel.com/jasonzsj/articles/77810.htmlhttp://www.aygfsteel.com/jasonzsj/comments/77810.htmlhttp://www.aygfsteel.com/jasonzsj/articles/77810.html#Feedback0http://www.aygfsteel.com/jasonzsj/comments/commentRss/77810.htmlhttp://www.aygfsteel.com/jasonzsj/services/trackbacks/77810.html1.C++或Java中的异常处理机制的简单原理和应用?br />当JAVAE序q反了JAVA的语义规则时QJAVA虚拟机就会将发生的错误表CZؓ一个异常。违反语义规则包?U情c一U是JAVAcd内置的语义检查。例如数l下标越?会引发IndexOutOfBoundsException;讉Knull的对象时会引发NullPointerException。另一U情况就是JAVA允许E序员扩展这U语义检查,E序员可以创q异常Qƈ自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子cR?br />2. Java的接口和C++的虚cȝ相同和不同处?br />׃Java不支持多l承Q而有可能某个cL对象要用分别在几个cL对象里面的方法或属性,现有的单l承机制׃能满求。与l承相比Q接口有更高的灵zL,因ؓ接口中没有Q何实C码。当一个类实现了接口以后,该类要实现接口里面所有的Ҏ和属性,q且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口?br />3. 垃圾回收的优点和原理。ƈ考虑2U回收机制?br />Java语言中一个显著的特点是引入了垃圑֛收机Ӟ使c++E序员最头疼的内存管理的问题q刃而解Q它使得JavaE序员在~写E序的时候不再需要考虑内存理。由于有个垃圑֛收机ӞJava中的对象不再有“作用域”的概念Q只有对象的引用才有“作用域”。垃圑֛收可以有效的防止内存泄露Q有效的使用可以使用的内存。垃圑֛收器通常是作Z个单独的低别的U程q行Q不可预知的情况下对内存堆中已经M的或者长旉没有使用的对象进行清楚和回收Q程序员不能实时的调用垃圑֛收器Ҏ个对象或所有对象进行垃圑֛收。回收机制有分代复制垃圾回收和标记垃圑֛Ӟ增量垃圾回收?br />4. 误Z所知道的线E同步的Ҏ?br />wait():使一个线E处于等待状态,q且释放所持有的对象的lock?br />sleep():使一个正在运行的U程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常?br />notify():唤醒一个处于等待状态的U程Q注意的是在调用此方法的时候,q不能确切的唤醒某一个等待状态的U程Q而是由JVM定唤醒哪个U程Q而且不是按优先?br />Allnotity():唤醒所有处入等待状态的U程Q注意ƈ不是l所有唤醒线E一个对象的锁,而是让它们竞?
5.cM能多重承,接口可以多重l承吗?
接口是可以多重承的。!
6. Error与Exception有什么区别?
Error表示pȝU的错误和程序不必处理的异常Q?br />Exception表示需要捕捉或者需要程序进行处理的异常?br />7. 在java中一个类被声明ؓfinalcdQ表CZ什么意思?
表示该类不能被承,是顶U类?br />8. 描述一下你最常用的编E风根{?
9. heap和stack有什么区别?br />栈是一U线形集合,其添加和删除元素的操作应在同一D完成。栈按照后进先出的方式进行处理?br />堆是栈的一个组成元?br />10. 如果pȝ要用超大整敎ͼ过long长度范围Q,请你设计一个数据结构来存储q种大型数字以及设计一U算法来实现大整数加法q算Q?br />public class BigInt()
{
int[] ArrOne = new ArrOne[1000];
String intString="";
public int[] Arr(String s)
{
intString = s;
for(int i=0;i 0); // throws an Assertionerror if a <= 0
断言可以有两UŞ式:
assert Expression1 ;
assert Expression1 : Expression2 ;
  Expression1 应该L产生一个布倹{?br />  Expression2 可以是得Z个值的L表达式。这个值用于生成显C更多调试信息的 String 消息?br />  断言在默认情况下是禁用的。要在编译时启用断言Q需要?source 1.4 标记Q?br />  javac -source 1.4 Test.java
  要在q行时启用断aQ可使用 -enableassertions 或?-ea 标记?br />  要在q行旉择用断言Q可使用 -da 或?-disableassertions 标记?br />  要系l类中启用断aQ可使用 -esa 或?-dsa 标记。还可以在包的基上启用或者禁用断a?
  可以在预计正常情况下不会到达的Q何位|上攄断言。断a可以用于验证传递给U有Ҏ的参数。不q,断言不应该用于验证传递给公有Ҏ的参敎ͼ因ؓ不管是否启用了断aQ公有方法都必须查其参数。不q,既可以在公有Ҏ中,也可以在非公有方法中利用断言试后置条g。另外,断言不应该以M方式改变E序的状态?
18QGC是什? Z么要有GC? (基础)?br />  GC是垃圾收集器。Java E序员不用担心内存管理,因ؓ垃圾攉器会自动q行理。要h垃圾攉Q可以调用下面的Ҏ之一Q?br />System.gc()
Runtime.getRuntime().gc()
19QString s = new String("xyz");创徏了几个String Object?
  两个对象Q一个是“xyx?一个是指向“xyx”的引用对象s?
20QMath.round(11.5){於多少? Math.round(-11.5){於多少?
  Math.round(11.5)q回QlongQ?2QMath.round(-11.5)q回QlongQ?11;
21Qshort s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
  short s1 = 1; s1 = s1 + 1;有错Qs1是short型,s1+1是int?不能昑ּ转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确?
22Qsleep() ?wait() 有什么区? 搞线E的最?br />  sleep()Ҏ是ɾU程停止一D|间的Ҏ。在sleep 旉间隔期满后,U程不一定立x复执行。这是因为在那个时刻Q其它线E可能正在运行而且没有被调度ؓ攑ּ执行Q除?a)“醒来”的U程h更高的优先 (b)正在q行的线E因为其它原因而阻塞?br />  wait()是线E交互时Q如果线E对一个同步对象x 发出一个wait()调用Q该U程会暂停执行,被调对象q入{待状态,直到被唤醒或{待旉到?
23QJava有没有goto?
  Goto—java中的保留字,现在没有在java中用?
24Q数l有没有length()q个Ҏ? String有没有length()q个ҎQ?br />  数组没有length()q个ҎQ有length的属性?br />  String有有length()q个Ҏ?
25QOverload和Override的区别。Overloaded的方法是否可以改变返回值的cd?
  Ҏ的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父cM子类之间多态性的一U表玎ͼ重蝲Overloading是一个类中多态性的一U表现。如果在子类中定义某Ҏ与其父类有相同的名称和参敎ͼ我们说该Ҏ被重?(Overriding)。子cȝ对象使用q个ҎӞ调用子cM的定义,对它而言Q父cM的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参C数或有不同的参数cdQ则UCؓҎ的重?Overloading)。Overloaded的方法是可以改变q回值的cd?
26QSet里的元素是不能重复的Q那么用什么方法来区分重复与否? 是用==q是equals()? 它们有何区别?
  Set里的元素是不能重复的Q那么用iterator()Ҏ来区分重复与否。equals()是判M个Set是否相等?br />  equals()?=Ҏ军_引用值是否指向同一对象equals()在类中被覆盖Qؓ的是当两个分ȝ对象的内容和cd盔R的话Q返回真倹{?
27Q给我一个你最常见到的runtime exception?br />ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFORMatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
28Qerror和exception有什么区?
  error 表示恢复不是不可能但很困隄情况下的一U严重问题。比如说内存溢出。不可能指望E序能处理这L情况?br />  exception 表示一U设计或实现问题。也是_它表C如果程序运行正常,从不会发生的情况?
29QList, Set, Map是否l承自Collection接口?
ListQSet?
Map不是
30Qabstract class和interface有什么区?
  声明Ҏ的存在而不d现它的类被叫做抽象类Qabstract classQ,它用于要创徏一个体现某些基本行为的c,qؓ该类声明ҎQ但不能在该cM实现该类的情c不能创建abstract cȝ实例。然而可以创Z个变量,其类型是一个抽象类Qƈ让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract cȝ子类为它们父cM的所有抽象方法提供实玎ͼ否则它们也是抽象cMؓ。取而代之,在子cM实现该方法。知道其行ؓ的其它类可以在类中实现这些方法?br />  接口QinterfaceQ是抽象cȝ变体。在接口中,所有方法都是抽象的。多l承性可通过实现q样的接口而获得。接口中的所有方法都是抽象的Q没有一个有E序体。接口只可以定义static final成员变量。接口的实现与子cȝ|除了该实现类不能从接口定义中l承行ؓ。当cd现特D接口时Q它定义Q即程序体l予Q所有这U接口的Ҏ。然后,它可以在实现了该接口的类的Q何对象上调用接口的方法。由于有抽象c,它允怋用接口名作ؓ引用变量的类型。通常的动态联~将生效。引用可以{换到接口cd或从接口cd转换Qinstanceof q算W可以用来决定某对象的类是否实现了接口?br />31Qabstract的method是否可同时是static,是否可同时是nativeQ是否可同时是synchronized?
  都不?
32Q接口是否可l承接口? 抽象cL否可实现(implements)接口? 抽象cL否可l承实体c?concrete class)?
  接口可以l承接口。抽象类可以实现(implements)接口Q抽象类是否可承实体类Q但前提是实体类必须有明的构造函数?
33Q启动一个线E是用run()q是start()?
  启动一个线E是调用start()ҎQɾU程所代表的虚拟处理机处于可运行状态,q意味着它可以由JVM调度q执行。这q不意味着U程׃立即q行。run()Ҏ可以产生必须退出的标志来停止一个线E?
34Q构造器Constructor是否可被override?
  构造器Constructor不能被承,因此不能重写OverridingQ但可以被重载Overloading?
35Q是否可以承Stringc?
  StringcLfinalcL不可以ѝ?
36Q当一个线E进入一个对象的一个synchronizedҎ后,其它U程是否可进入此对象的其它方?
  不能Q一个对象的一个synchronizedҎ只能׃个线E访问?
37Qtry {}里有一个return语句Q那么紧跟在q个try后的finally {}里的code会不会被执行Q什么时候被执行Q在return前还是后?
  会执行,在return前执行?
38Q编E题: 用最有效率的Ҏ出2乘以8{於?
  有C背景的程序员特别喜欢问这U问题?
  2 << 3
39Q两个对象值相?x.equals(y) == true)Q但却可有不同的hash codeQ这句话对不?
  不对Q有相同的hash code?
40Q当一个对象被当作参数传递到一个方法后Q此Ҏ可改变这个对象的属性,q可q回变化后的l果Q那么这里到底是g递还是引用传?
  是g递。Java ~程语言只由g递参数。当一个对象实例作Z个参数被传递到Ҏ中时Q参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变Q但对象的引用是永远不会改变的?
41Qswtich是否能作用在byte上,是否能作用在long上,是否能作用在String?
  switchQexpr1Q中Qexpr1是一个整数表辑ּ。因此传递给 switch ?case 语句的参数应该是 int?short?char 或?byte。long,string 都不能作用于swtich?
42Q编E题: 写一个Singleton出来?br />  Singleton模式主要作用是保证在Java应用E序中,一个类Class只有一个实例存在?br />  一般Singleton模式通常有几U种形式Q?br />  W一UŞ式:定义一个类Q它的构造函Cؓprivate的,它有一个static的private的该cd量,在类初始化时实例话,通过一个public的getInstanceҎ获取对它的引?l而调用其中的Ҏ?br />public class Singleton {
  private Singleton(){}
  //在自己内部定义自׃个实例,是不是很奇怪?
  //注意q是private 只供内部调用
  private static Singleton instance = new Singleton();
  //q里提供了一个供外部讉K本class的静态方法,可以直接讉K  
  public static Singleton getInstance() {
    return instance;   
   }
}
  W二UŞ式:
public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  //q个Ҏ比上面有所改进Q不用每ơ都q行生成对象Q只是第一ơ     
  //使用时生成实例,提高了效率!
  if (instance==null)
    instanceQnew Singleton();
return instance;   }
}
其他形式Q?br />  定义一个类Q它的构造函Cؓprivate的,所有方法ؓstatic的?br />  一般认为第一UŞ式要更加安全?
  Hashtable和HashMap
  Hashtablel承自Dictionaryc,而HashMap是Java1.2引进的Map interface的一个实?

  HashMap允许null作ؓ一个entry的key或者valueQ而Hashtable不允?
  q有是QHashMap把Hashtable的containsҎL了,Ҏcontainsvalue和containsKey。因为containsҎҎ让h引v误解?
  最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是Q在
多个U程讉KHashtableӞ不需要自׃ؓ它的Ҏ实现同步Q而HashMap
必Mؓ之提供外同步?
Hashtable和HashMap采用的hash/rehash法都大概一P所以性能不会有很大的差异?br />43.描述一下JVM加蝲class文g的原理机?
44.试D例说明一个典型的垃圾回收法Q?
45.Ljava写二叉树法Q实现添加数据Ş成二叉树功能Qƈ以先序的方式打印出来.
46.请写一个javaE序实现U程q接池功能?
47.l定一个C语言函数Q要求实现在javacMq行调用?br />48、编一D代码,实现在控制台输入一l数字后Q排序后在控制台输出Q?br />49、列出某文g夹下的所有文Ӟ
50、调用系l命令实现删除文件的操作Q?br />51、实C文g中一ơ读Z个字W的操作Q?br />52、列Z些控制流E的ҎQ?br />53、多U程有哪些状态?
54、编写了一个服务器端的E序实现在客L输入字符然后在控制台上显C,直到输入"END"为止Q让你写出客L的程序;
55、作用域public,private,protected,以及不写时的区别
{:区别如下Q?
作用?当前c?同一package 子孙c?其他package
public ????
protected ???×
friendly ??× ×
private ?× × ×
不写旉认ؓfriendly
56、ArrayList和Vector的区?HashMap和Hashtable的区?
{:ArrayList与Vector主要从二斚w来说.
一.同步?Vector是线E安全的Q也是说是同步的,而ArrayList是线E序不安全的Q不是同步的
?数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一?
HashMap与HashTable主要从三斚w来说?
一.历史原因:Hashtable是基于陈旧的DictionarycȝQHashMap是Java 1.2引进的Map接口的一个实?
?同步?Hashtable是线E安全的Q也是说是同步的,而HashMap是线E序不安全的Q不是同步的
?|只有HashMap可以让你空gZ个表的条目的key或value
57、char型变量中能不能存贮一个中文汉?Z?
{:是能够定义成Z个中文的Q因为java中以unicode~码Q一个char?6个字节,所以放一个中文是没问题的
58、多U程有几U实现方?都是什?同步有几U实现方?都是什?
{:多线E有两种实现ҎQ分别是l承ThreadcM实现Runnable接口
同步的实现方面有两种Q分别是synchronized,wait与notify
59、垃圑֛收机?如何优化E序? 
60、float型float f=3.4是否正确?
{?不正。精度不准确,应该用强制类型{换,如下所C:float f=(float)3.4
61、介lJAVA中的Collection FrameWork(包括如何写自q数据l构)?
{:Collection FrameWork如下Q?
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一个Collection代表一lObjectQ即Collection的元素(ElementsQ?
Map提供key到value的映?
62、Java中异常处理机Ӟ事g机制Q?
11、JAVA中的多Ş与承?
希望大家补上Q谢?
63、抽象类与接口?
{:抽象cM接口都用于抽象,但是抽象c?JAVA?可以有自q部分实现Q而接口则完全是一个标?同时有多重承的功能)?br />~程题:
1Q现在输入n个数字,以逗号Q分开Q?br />然后可选择升或者降序排序;
按提交键在另一面昄
按什?排序Q结果ؓQ?Q?br />提供reset
{案Q?Q?public static String[] splitStringByComma(String source){
           if(source==null||source.trim().equals(""))
                   return null;
           StringTokenizer commaToker =  new StringTokenizer(source,",");
           String[] result = new String[commaToker.countTokens()];
           int i=0;
           while(commaToker.hasMoreTokens()){
                   result = commaToker.nextToken();
                   i++;
           }
           return result;
  }
循环遍历String数组
Integer.parseInt(String s)变成intcd
l成int数组
Arrays.sort(int[] a),
a数组升序
降序可以从尾部开始输?br />2Q金额{换,阿拉伯数字的金额转换成中国传l的形式如:
QE1011Q->Q一千零一拾一元整Q输出?
3、承时候类的执行顺序问?一般都是选择?问你会打印Z?
{?父类Q?
package test;
public class FatherClass
{
public FatherClass()
{
System.out.println("FatherClass Create");
}
}
子类:
package test;
import test.FatherClass;
public class ChildClass extends FatherClass
{
public ChildClass()
{
System.out.println("ChildClass Create");
}
public static void main(String[] args)
{
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
输出l果Q?
C:>java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create
4、内部类的实现方?
{:CZ代码如下Q?
package test;
public class OuterClass
{
private class InterClass
{
public InterClass()
{
System.out.println("InterClass Create");
}
}
public OuterClass()
{
InterClass ic = new InterClass();
System.out.println("OuterClass Create");
}
public static void main(String[] args)
{
OuterClass oc = new OuterClass();
}
}
输出l果:
C:>java test/OuterClass
InterClass Create
OuterClass Create
再一个例题:
public class OuterClass {
private double d1 = 1.0;
//insert code here
}
You need to insert an inner class declaration at line 3. Which two inner class declarations are
valid?(Choose two.)
A. class InnerOne{
public static double methoda() {return d1;}
}
B. public class InnerOne{
static double methoda() {return d1;}
}
C. private class InnerOne{
double methoda() {return d1;}
}
D. static class InnerOne{
protected double methoda() {return d1;}
}
E. abstract class InnerOne{
public abstract double methoda();
}
说明如下Q?
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员??A、B ?
?静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错?
?D ?
?非静态内部类的非静态成员可以访问外部类的非静态变量??C 正确
?{案为C、E
5、Java 的通信~程Q编E题(或问{?Q用JAVA SOCKET~程Q读服务器几个字W,再写入本地显C?
{?Server端程?
package test;
import java.net.*;
import java.io.*;
public class Server
{
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server()
{
try
{
ss=new ServerSocket(10000);
while(true)
{
socket = ss.accept();
String RemoteIP = socket.getInetAddress().getHostAddress();
String RemotePort = ":"+socket.getLocalPort();
System.out.println("A client come in!IP:"+RemoteIP+RemotePort);
in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
String line = in.readLine();
System.out.println("Cleint send is :" + line);
out = new PrintWriter(socket.getOutputStream(),true);
out.println("Your Message Received!");
out.close();
in.close();
socket.close();
}
}catch (IOException e)
{
out.println("wrong");
}
}
public static void main(String[] args)
{
new Server();
}
};
Client端程?
package test;
import java.io.*;
import java.net.*;
public class Client
{
Socket socket;
BufferedReader in;
PrintWriter out;
public Client()
{
try
{
System.out.println("Try to Connect to 127.0.0.1:10000");
socket = new Socket("127.0.0.1",10000);
System.out.println("The Server Connected!");
System.out.println("Please enter some Character:");
BufferedReader line = new BufferedReader(new
InputStreamReader(System.in));
out = new PrintWriter(socket.getOutputStream(),true);
out.println(line.readLine());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(in.readLine());
out.close();
in.close();
socket.close();
}catch(IOException e)
{
out.println("Wrong");
}
}
public static void main(String[] args)
{
new Client();
}
};
6、用JAVA实现一U排序,JAVAcd现序列化的方?二种)Q?如在COLLECTION框架中,实现比较要实C么样的接口?
{?用插入法q行排序代码如下
package test;
import java.util.*;
class InsertSort
{
ArrayList al;
public InsertSort(int num,int mod)
{
al = new ArrayList(num);
Random rand = new Random();
System.out.println("The ArrayList Sort Before:");
for (int i=0;i它L会检查所含文件中的变化,适合用于包含动态页面,q且可以带参?

静态INCLUDE用include伪码实现,定不会检查所含文件的变化Q适用于包含静态页?

]]>

4、两U蟩转方式分别是什?有什么区?

{:有两U,分别为:





前者页面不会{向include所指的面Q只是显C늚l果Q主面q是原来的页面。执行完后还会回来,相当于函数调用。ƈ且可以带参数.后者完全{向新面Q不会再回来。相当于go to 语句?

Servlet斚w

1、说一说Servlet的生命周?

{?servlet有良好的生存期的定义Q包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroyҎ表达?

2、Servlet版本?忘了问的是哪两个版本?的不?

希望大家补上Q谢?

3、JAVA SERVLET API中forward() 与redirect()的区别?

{?前者仅是容器中控制权的转向Q在客户端浏览器地址栏中不会昄{向后的地址Q后者则是完全的跌{Q浏览器会得到跌{的地址Qƈ重新发送请求链接。这P从浏览器的地址栏中可以看到跌{后的链接地址。所以,前者更加高效,在前者可以满需要时Q尽量用forward()ҎQƈ且,q样也有助于隐藏实际的链接。在有些情况下,比如Q需要蟩转到一个其它服务器上的资源Q则必须使用sendRedirect()Ҏ?

4、Servlet的基本架?

public class ServletName extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

}

}



Jdbc、Jdo斚w

1、可能会让你写一DJdbcqOracle的程?q实现数据查?

{?E序如下Q?

package hello.ant;

import java.sql.*;

public class jdbc

{

String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";

String theUser="admin";

String thePw="manager";

Connection c=null;

Statement conn;

ResultSet rs=null;

public jdbc()

{

try{

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

c = DriverManager.getConnection(dbUrl,theUser,thePw);

conn=c.createStatement();

}catch(Exception e){

e.printStackTrace();

}

}

public boolean executeUpdate(String sql)

{

try

{

conn.executeUpdate(sql);

return true;

}

catch (SQLException e)

{

e.printStackTrace();

return false;

}

}

public ResultSet executeQuery(String sql)

{

rs=null;

try

{

rs=conn.executeQuery(sql);

}

catch (SQLException e)

{

e.printStackTrace();

}

return rs;

}

public void close()

{

try

{

conn.close();

c.close();

}

catch (Exception e)

{

e.printStackTrace();

}

}

public static void main(String[] args)

{

ResultSet rs;

jdbc conn = new jdbc();

rs=conn.executeQuery("select * from test");

try{

while (rs.next())

{

System.out.println(rs.getString("id"));

System.out.println(rs.getString("name"));

}

}catch(Exception e)

{

e.printStackTrace();

}

}

}

2、Class.forName的作?Z么要?

{:调用该访问返回一个以字符串指定类名的cȝ对象?

3、Jdo是什?

{?JDO是Java对象持久化的新的规范Qؓjava data object的简U?也是一个用于存取某U数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发h员来_存储数据对象完全不需要额外的代码Q如JDBC API的用)。这些繁琐的例行工作已经转移到JDO产品提供商n上,使开发h员解脱出来,从而集中时间和_֊在业务逻辑上。另外,JDO很灵z,因ؓ它可以在M数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用Q提供到M数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMSQ等{,使得应用可移植性更强?

4、在ORACLE大数据量下的分页解决Ҏ。一般用截取IDҎQ还有是三层嵌套Ҏ?

{?一U分|?

=intPageCount) nextPage=intPageCount; upPage = currentPage-1; if (upPage<=1) upPage=1; rs.close(); sql="select * from tables"; rs=DBLink.executeQuery(sql); i=0; while((i]]>

//输出内容

//输出页q接

合计:<%=currentPage%>/<%=intPageCount%>W一?/A>上一?/A>

]]>

[<%=j%>]

]]>

下一?/A>最后页





Xml斚w

1、xml有哪些解析技?区别是什?

{?有DOM,SAX,STAX{?

DOM:处理大型文g时其性能下降的非常厉実뀂这个问题是由DOM的树l构所造成的,q种l构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随问SAX:不现于DOM,SAX是事仉动型的XML解析方式。它序dXML文gQ不需要一ơ全部装载整个文件。当遇到像文件开_文档l束Q或者标{ּ头与标签l束Ӟ它会触发一个事Ӟ用户通过在其回调事g中写入处理代码来处理XML文gQ适合对XML的顺序访?

STAX:Streaming API for XML (StAX)

2、你在项目中用到了xml技术的哪些斚w?如何实现?

{?用到了数据存贮,信息配置两方面。在做数据交换^台时Q将不能数据源的数据l装成XML文gQ然后将XML文g压羃打包加密后通过|络传送给接收者,接收解密与解压羃后再同XML文g中还原相关信息进行处理。在做Y仉|时Q利用XML可以很方便的q行QY件的各种配置参数都存贮在XML文g中?

3、用jdom解析xml文g时如何解决中文问?如何解析?

{?看如下代?用编码方式加以解?

package test;

import java.io.*;

public class DOMTest

{

private String inFile = "c:\people.xml";

private String outFile = "c:\people.xml";

public static void main(String args[])

{

new DOMTest();

}

public DOMTest()

{

try

{

javax.xml.parsers.DocumentBuilder builder =

javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();

org.w3c.dom.Document doc = builder.newDocument();

org.w3c.dom.Element root = doc.createElement("老师");

org.w3c.dom.Element wang = doc.createElement("?);

org.w3c.dom.Element liu = doc.createElement("?);

wang.appendChild(doc.createTextNode("我是王老师"));

root.appendChild(wang);

doc.appendChild(root);

javax.xml.transform.Transformer transformer =

javax.xml.transform.TransformerFactory.newInstance().newTransformer();

transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");

transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");
transformer.transform(new javax.xml.transform.dom.DOMSource(doc),
new
javax.xml.transform.stream.StreamResult(outFile));

}

catch (Exception e)

{

System.out.println (e.getMessage());

}

}

}

4、编E用JAVA解析XML的方?

{?用SAX方式解析XMLQXML文g如下Q?





王小?/NAME>

信息学院

6258113

?1955q生,博士Q?5q调入v南大?/NOTES>



事g回调cSAXHandler.java

import java.io.*;

import java.util.Hashtable;

import org.xml.sax.*;

public class SAXHandler extends HandlerBase

{

private Hashtable table = new Hashtable();

private String currentElement = null;

private String currentValue = null;

public void setTable(Hashtable table)

{

this.table = table;

}

public Hashtable getTable()

{

return table;

}

public void startElement(String tag, AttributeList attrs)

throws SAXException

{

currentElement = tag;

}

public void characters(char[] ch, int start, int length)

throws SAXException

{

currentValue = new String(ch, start, length);

}

public void endElement(String name) throws SAXException

{

if (currentElement.equals(name))

table.put(currentElement, currentValue);

}

}

JSP内容昄源码,SaxXml.jsp:











]]>

]]>

]]>

]]>

]]>

]]>

]]>

]]>

教师信息?/CAPTION>"); out.println("姓名" + "" + (String)hashTable.get(new String("name")) + ""); out.println("学院" + "" + (String)hashTable.get(new String("college"))+""); out.println("电话" + "" + (String)hashTable.get(new String("telephone")) + ""); out.println("备注" + "" + (String)hashTable.get(new String("notes")) + ""); out.println(""); %>]]>





EJB斚w

1、EJB2.0有哪些内?分别用在什么场? EJB2.0和EJB1.1的区?

{:规范内容包括Bean提供者,应用E序装配者,EJB容器QEJB配置工具QEJB服务提供者,pȝ理员。这里面QEJB容器是EJB之所以能够运行的核心。EJB容器理着EJB的创建,撤消Q激z,LQ与数据库的q接{等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS.....

2、EJB与JAVA BEAN的区别?

{?Java Bean 是可复用的组Ӟ对Java Beanq没有严格的规范Q理ZԌM一个Javac都可以是一个Bean。但通常情况下,׃Java Bean是被容器所创徏Q如Tomcat)的,所以Java Bean应具有一个无参的构造器Q另外,通常Java Beanq要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微YCOM模型中的本地q程内COMlgQ它是不能被跨进E访问的。Enterprise Java Bean 相当于DCOMQ即分布式组件。它是基于Java的远E方法调用(RMIQ技术的Q所以EJB可以被远E访问(跨进E、跨计算机)。但EJB必须被布|在诸如Webspere、WebLogicq样的容器中QEJB客户从不直接讉K真正的EJBlgQ而是通过其容器访问。EJB容器是EJBlg的代理,EJBlg由容器所创徏和管理。客户通过容器来访问真正的EJBlg?

3、EJB的基本架?

{?一个EJB包括三个部分:

Remote Interface 接口的代?

package Beans;

import javax.ejb.EJBObject;

import java.rmi.RemoteException;

public interface Add extends EJBObject

{

//some method declare

}

Home Interface 接口的代?

package Beans;

import java.rmi.RemoteException;

import jaax.ejb.CreateException;

import javax.ejb.EJBHome;

public interface AddHome extends EJBHome

{

//some method declare

}

EJBcȝ代码

package Beans;

import java.rmi.RemoteException;

import javax.ejb.SessionBean;

import javx.ejb.SessionContext;

public class AddBean Implements SessionBean

{

//some method declare

}



J2EE,MVC斚w

1、MVC的各个部分都有那些技术来实现?如何实现?

{?MVC是ModelQViewQController的简写?Model" 代表的是应用的业务逻辑Q通过JavaBeanQEJBlg实现Q, "View" 是应用的表示面(由JSP面产生Q,"Controller" 是提供应用的处理q程控制Q一般是一个ServletQ,通过q种设计模型把应用逻辑Q处理过E和昄逻辑分成不同的组件实现。这些组件可以进行交互和重用?

2、应用服务器与WEB SERVER的区别?

希望大家补上Q谢?

3、J2EE是什么?

{?Je22是Sun公司提出的多?multi-diered),分布?distributed),Zlg(component-base)的企业应用模型(enterpriese application model).在这L一个应用系l中Q可按照功能划分Z同的lgQ这些组件又可在不同计算ZQƈ且处于相应的层次(tier)中。所属层ơ包括客户层(clietn tier)lg,web层和lg,Business层和lg,企业信息pȝ(EIS)层?

4、WEB SERVICE名词解释。JSWDL开发包的介l。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释?

{:Web Service描述语言WSDL

SOAP即简单对象访问协?Simple Object Access Protocol)Q它是用于交换XML~码信息的轻量协议?

UDDI 的目的是为电子商务徏立标准;UDDI是一套基于Web的、分布式的、ؓWeb Service提供的、信息注册中心的实现标准规范Q同时也包含一l企业能将自n提供的Web Service注册Q以使别的企业能够发现的讉K协议的实现标准?

5、BS与CS的联pM区别?

希望大家补上Q谢?

6、STRUTS的应?如STRUTS架构)

{:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用E序的开放源码的framework?采用Struts能开发出ZMVC(Model-View-Controller)设计模式的应用构架?Struts有如下的主要功能Q?

一.包含一个controller servletQ能用Lh发送到相应的Action对象?

?JSP自由tag库,q且在controller servlet中提供关联支持,帮助开发员创徏交互式表单应用?

?提供了一pd实用对象QXML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提C和消息?

设计模式斚w

1、开发中都用C那些设计模式?用在什么场?

{:每个模式都描qC一个在我们的环境中不断出现的问题,然后描述了该问题的解x案的核心。通过q种方式Q你可以无数ơ地使用那些已有的解x案,无需在重复相同的工作。主要用CMVC的设计模式。用来开发JSP/Servlet或者J2EE的相兛_用。简单工厂模式等?

2、UML斚w

{:标准建模语言UML。用例图,静态图(包括cd、对象图和包?,行ؓ?交互?序?合作?,实现?

JavaScript斚w

1、如何校验数字型?

var re=/^d{1,8}$|.d{1,2}$/;

var str=document.form1.all(i).value;

var r=str.match(re);

if (r==null)

{

sign=-4;

break;

}

else{

document.form1.all(i).value=parseFloat(str);

}

CORBA斚w

1、CORBA是什?用途是什?

{:CORBA 标准是公共对象请求代理结?Common Object Request Broker Architecture)Q由对象理l织 (Object Management GroupQ羃写ؓ OMG)标准化。它的组成是接口定义语言(IDL), 语言l定(binding:也译~?和允许应用程序间互操作的协议?其目的ؓQ?

用不同的E序设计语言书写

在不同的q程中运?

Z同的操作pȝ开?

LINUX斚w

1、LINUX下线E,GDIcȝ解释?

{:LINUX实现的就是基于核心轻量q程?一对一"U程模型Q一个线E实体对应一个核心轻量q程Q而线E之间的理在核外函数库中实现?

GDIcMؓ囑փ讑֤~程接口cd?BR>
JAVA华ؓ面试?BR>
JAVA斚w

1 面向对象的特征有哪些斚w  

2 String是最基本的数据类型吗?

3 int ?Integer 有什么区?BR>
4 String 和StringBuffer的区?BR>
5q行时异怸一般异常有何异同?

异常表示E序q行q程中可能出现的非正常状态,q行时异常表C拟机的通常操作中可能遇到的异常Q是一U常见运行错误。java~译器要求方法必d明抛出可能发生的非运行时异常Q但是ƈ不要求必d明抛出未被捕Lq行时异常?BR>
6 说出一些常用的c,?接口Q请各D5?BR>
7 说出ArrayList,Vector, LinkedList的存储性能和特?BR>
ArrayList和Vector都是使用数组方式存储数据Q此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素Q但是插入元素要涉及数组元素Ud{内存操作,所以烦引数据快而插入数据慢QVector׃使用了synchronizedҎQ线E安全)Q通常性能上较ArrayList差,而LinkedList使用双向链表实现存储Q按序号索引数据需要进行前向或后向遍历Q但是插入数据时只需要记录本的前后即可,所以插入速度较快?BR>
8设计4个线E,其中两个U程每次对j增加1Q另外两个线E对j每次减少1。写出程序?BR>
以下E序使用内部cd现线E,对j增减的时候没有考虑序问题?BR>
public class ThreadTest1{

         private int j;

         public static void main(String args[]){

                  ThreadTest1 tt=new ThreadTest1();

                   Inc inc=tt.new Inc();

                   Dec dec=tt.new Dec();

                   for(int i=0;i<2;i++){

                            Thread t=new Thread(inc);

                            t.start();

                            t=new Thread(dec);

                            t.start();

                   }

         }

         private synchronized void inc(){

                   j++;

                  System.out.println(Thread.currentThread().getName()+"-inc:"+j);

         }

         private synchronized void dec(){

                   j--;

                  System.out.println(Thread.currentThread().getName()+"-dec:"+j);

         }

        

         class Inc implements Runnable{

                   public void run(){

                            for(int i=0;i<100;i++){

                                     inc();

                            }

                   }

         }

         class Dec implements Runnable{

                   public void run(){

                            for(int i=0;i<100;i++){

                                     dec();

                            }

                   }

         }

}

9Q?nbsp;  JSP的内|对象及Ҏ?BR>
request request表示HttpServletRequest对象。它包含了有x览器h的信息,q且提供了几个用于获取cookie, header, 和session数据的有用的Ҏ?

response response表示HttpServletResponse对象Qƈ提供了几个用于设|送回 览器的响应的方法(如cookies,头信息等Q?

out out 对象是javax.jsp.JspWriter的一个实例,q提供了几个Ҏ使你能用于向览器回送输出结果?

pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各U范围的名字I间、servlet相关的对象的APIQƈ且包装了通用的servlet相关功能的方法?

session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信?

application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信?

config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数?

page page表示从该面产生的一个servlet实例

10.用socket通讯写出客户端和服务器端的通讯Q要求客户发送数据后能够回显相同的数据?BR>
参见评中socket通讯例子?BR>
11说出Servlet的生命周期,q说出Servlet和CGI的区别?BR>
Servlet被服务器实例化后Q容器运行其initҎQ请求到达时q行其serviceҎQserviceҎ自动zNq行与请求对应的doXXXҎQdoGetQdoPostQ等Q当服务器决定将实例销毁的时候调用其destroyҎ?BR>
与cgi的区别在于servlet处于服务器进E中Q它通过多线E方式运行其serviceҎQ一个实例可以服务于多个hQƈ且其实例一般不会销毁,而CGIҎ个请求都产生新的q程Q服务完成后销毁,所以效率上低于servlet?BR>
12.EJB是基于哪些技术实现的?q说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别?BR>13QEJB包括QSessionBean,EntityBeanQ说Z们的生命周期Q及如何理事务的?
14Q说出数据连接池的工作机制是什?
15同步和异步有和异同,在什么情况下分别使用他们QD例说明?BR>16应用服务器有那些Q?BR>17你所知道的集合类都有哪些Q主要方法?
18l你一?驱动E序A,数据源名UCؓB,用户名称为C,密码为D,数据库表为TQ请用JDBC索出表T的所有数据?BR>19Q说出在JSP面里是怎么分页?
面需要保存以下参敎ͼ
总行敎ͼҎsql语句得到总行?BR>每页昄行数Q设定?BR>当前|Q请求参?BR>面Ҏ当前|和每行数计出当前늬一行行敎ͼ定位l果集到此行Q对l果集取出每|C数的行即可?BR>数据库方面:
1.          存储q程和函数的区别
存储q程是用户定义的一pdsql语句的集合,涉及特定表或其它对象的Q务,用户可以调用存储q程Q而函数通常是数据库已定义的ҎQ它接收参数q返回某U类型的值ƈ且不涉及特定用户表?BR>2.          事务是什么?
事务是作Z个逻辑单元执行的一pd操作Q一个逻辑工作单元必须有四个属性,UCؓ ACIDQ原子性、一致性、隔L和持久性)属性,只有q样才能成ؓ一个事务:
原子?BR>事务必须是原子工作单元;对于其数据修改,要么全都执行Q要么全都不执行?BR>一致?BR>事务在完成时Q必M所有的数据都保持一致状态。在相关数据库中Q所有规则都必须应用于事务的修改Q以保持所有数据的完整性。事务结束时Q所有的内部数据l构Q如 B 树烦引或双向链表Q都必须是正的?BR>隔离?BR>由ƈ发事务所作的修改必须与Q何其它ƈ发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一q发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这UCؓ可串行性,因ؓ它能够重新装载v始数据,q且重播一pd事务Q以使数据结束时的状态与原始事务执行的状态相同?BR>
持久?BR>
事务完成之后Q它对于pȝ的媄响是怹性的。该修改即出现pȝ故障也将一直保持?BR>


3.          游标的作用?如何知道游标已经C最后?

游标用于定位l果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否C最后,通常此变量不{于0表示出错或到了最后?BR>
4.          触发器分Z前触发和事后触发Q这两种触发有和区别。语句触发和行U触发有何区别?BR>
事前触发器运行于触发事g发生之前Q而事后触发器q行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段倹{?BR>
语句U触发器可以在语句执行前或后执行Q而行U触发在触发器所影响的每一行触发一ơ?BR>




中远面试?BR>
   1、面向对象的三个基本特征

   2、方法重载和Ҏ重写的概念和区别

   3、接口和内部cR抽象类的特?BR>
   4、文件读写的基本c?BR>
   **5、串行化的注意事以及如何实C行化

   6、线E的基本概念、线E的基本状态以及状态之间的关系

   7、线E的同步、如何实现线E的同步

   8、几U常用的数据l构及内部实现原理?BR>
   9、Socket通信(TCP、UDP区别及Java实现方式)

  **10、Java的事件委托机制和垃圾回收机制

  11、JDBC调用数据库的基本步骤

  **12、解析XML文g的几U方式和区别

  13、Java四种基本权限的定?BR>
  14、Java的国际化

二、JSP
   1、至要能说?个隐含对象以及他们的区别

  ** 2、forward 和redirect的区?BR>
   3、JSP的常用指?BR>
三、servlet
   1、什么情况下调用doGet()和doPost()Q?BR>
   2、servlet的init()Ҏ和service()Ҏ的区?BR>
   3、servlet的生命周?BR>
   4、如何现实servlet的单U程模式

   5、servlet的配|?BR>
   6、四U会话跟t技?BR>
四、EJB
   **1、EJB容器提供的服?BR>
         主要提供声明周期理、代码生、持l性管理、安全、事务管理、锁和ƈ发行理{服务?BR>
   2、EJB的角色和三个对象

         EJB角色主要包括Bean开发?应用l装?部v?pȝ理?EJB容器提供?EJB服务器提供?BR>
         三个对象是RemoteQLocalQ接口、HomeQLocalHomeQ接口,Beanc?BR>
   2、EJB的几U类?BR>
         会话QSessionQBean Q实体(EntityQBean 消息驱动的(Message DrivenQBean

         会话Bean又可分ؓ有状态(StatefulQ和无状态(StatelessQ两U?BR>
         实体Bean可分为Bean理的持l性(BMPQ和容器理的持l性(CMPQ两U?BR>
   3、bean 实例的生命周?BR>
         对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池理Q而对于Entity Bean和Statefull Session Bean存在Cache理Q通常包含创徏实例Q设|上下文、创建EJB ObjectQcreateQ、业务方法调用、remove{过E,对于存在~冲池管理的BeanQ在create之后实例q不从内存清除,而是采用~冲池调度机制不断重用实例,而对于存在Cache理的Bean则通过ȀzdLzL制保持Bean的状态ƈ限制内存中实例数量?BR>
   4、激zL?BR>
         以Statefull Session Bean ZQ其Cache大小军_了内存中可以同时存在的Bean实例的数量,ҎMRU或NRU法Q实例在ȀzdLzȝ态之间迁U,ȀzL制是当客L调用某个EJB实例业务ҎӞ如果对应EJB Object发现自己没有l定对应的Bean实例则从其去ȀzBean存储中(通过序列化机制存储实例)回复Q激z)此实例。状态变q前会调用对应的ejbActive和ejbPassivateҎ?BR>
   5、remote接口和home接口主要作用

         remote接口定义了业务方法,用于EJB客户端调用业务方?BR>
         home接口是EJB工厂用于创徏和移除查找EJB实例

   6、客服端调用EJB对象的几个基本步?BR>
一?nbsp; 讄JNDI服务工厂以及JNDI服务地址pȝ属?BR>
二?nbsp; 查找Home接口

三?nbsp; 从Home接口调用CreateҎ创徏Remote接口

四?nbsp; 通过Remote接口调用其业务方?BR>
五、数据库
   1、存储过E的~写

   2、基本的SQL语句

六、weblogic
1?nbsp;  如何lweblogic指定大小的内?

在启动Weblogic的脚本中Q位于所在Domian对应服务器目录下的startServerNameQ,增加set MEM_ARGS=-Xms32m -Xmx200mQ可以调整最内存ؓ32MQ最?00M

2?nbsp;  如何讑֮的weblogic的热启动模式(开发模?与品发布模?

可以在管理控制台中修改对应服务器的启动模式ؓ开发或产品模式之一。或者修Ҏ务的启动文g或者commenv文gQ增加set PRODUCTION_MODE=true?BR>
3?nbsp;  如何启动时不需输入用户名与密码?

修改服务启动文gQ增?WLS_USER和WLS_PWV也可以在boot.properties文g中增加加密过的用户名和密?

4?nbsp;  在weblogic理制台中对一个应用域(或者说是一个网?Domain)q行jms及ejb或连接池{相关信息进行配|后,实际保存在什么文件中?

保存在此Domain的config.xml文g中,它是服务器的核心配置文g?BR>
5?nbsp;  说说weblogic中一个Domain的缺省目录结?比如要将一个简单的helloWorld.jsp攑օ何目录下,然的在浏览器上就可打入http://L:端口?/helloword.jsp可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?

Domain目录\服务器目录\applicationsQ将应用目录攑֜此目录下可以作为应用访问,如果是Web应用Q应用目录需要满Web应用目录要求Qjsp文g可以直接攑֜应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,讄服务器的~省应用可以实现在览器上无需输入应用名?BR>
6?nbsp;  如何查看在weblogic中已l发布的EJB?

可以使用理控制収ͼ在它的Deployment中可以查看所有已发布的EJB

7?nbsp;  如何在weblogic中进行ssl配置与客L的认证配|或说说j2ee(标准)q行ssl的配|?BR>
~省安装中用DemoIdentity.jks和DemoTrust.jks  KeyStore实现SSLQ需要配|服务器使用Enable SSLQ配|其端口Q在产品模式下需要从CA获取U有密钥和数字证书,创徏identity和trust keystoreQ装载获得的密钥和数字证书。可以配|此SSLq接是单向还是双向的?BR>
   8、在weblogic中发布ejb需涉及到哪些配|文?BR>
不同cd的EJB涉及的配|文件不同,都涉及到的配|文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml

   9、EJB需直接实现它的业务接口或Home接口?Lq理?

q程接口和Home接口不需要直接实玎ͼ他们的实C码是由服务器产生的,E序q行中对应实现类会作为对应接口类型的实例被用?BR>
  10、说说在weblogic中开发消息Bean时的persistent与non-persisten的差?BR>
persistent方式的MDB可以保证消息传递的可靠?也就是如果EJB容器出现问题而JMS服务器依然会消息在此MDB可用的时候发送过来,而nonQpersistent方式的消息将被丢弃?BR>
  11、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看?BR>
       Session Facade PatternQ用SessionBean讉KEntityBean

Message Facade PatternQ实现异步调?BR>
EJB Command PatternQ用Command JavaBeans取代SessionBeanQ实现轻量讉K

Data Transfer Object FactoryQ通过DTO Factory化EntityBean数据提供Ҏ?BR>
Generic Attribute AccessQ通过AttibuteAccess接口化EntityBean数据提供Ҏ?BR>
Business InterfaceQ通过q程Q本圎ͼ接口和Beancd现相同接口规范业务逻辑一致?BR>
QJQ架构的设计好坏直接媄响系l的性能、可扩展性、可l护性、组件可重用性及开发效率?/jsp:include>
]]>

漂泊的风 2006-10-28 16:37 发表评论
]]>
վ֩ģ壺 ʡ| | »| Դ| Ϫ| | Ͽ| | | | | | | | | ³ľ| | | | ̳| ʮ| | ƽ| | | »| | | | ̨| ɽ| | | ζ| | մ| | | ֻ| | |