問(wèn)題:
如何在文本框中只允許輸入漢字,字母數(shù)字或者其他符號(hào)文字都不可以呢?
處理:
//javascript
var?? re=/[^\x00-\xff]/g;
if(re.test(你要測(cè)試的值))
{
????? //是漢字
}
注:用ascII碼控制。好像漢字都是負(fù)數(shù)
System.out.println(Pattern.compile("[\u4e00-\u9fa5]").matcher("a").find());
//[\u4e00-\u9fa5] 中文的正則表達(dá)式
//"a" 你想判斷的字符
問(wèn)題:
在ArrayList 應(yīng)用中有這樣的代碼:
ArrayList a=new ArrayList();
a.add(...);
Iterator i=a.iterator();
理解:Iterator i=a.iterator();
Iterator 是一個(gè)接口,在上面a.iterator()方法的作用是返回一個(gè)接口
hasmore(),next()是怎么被實(shí)現(xiàn)的?
處理:
迭代模式
ArrayList內(nèi)部有一個(gè)實(shí)現(xiàn)了Iterator 接口的類,a.iterator就是返回它內(nèi)部類的一個(gè)實(shí)例,即返回一個(gè)實(shí)現(xiàn)了的iterator接口的類。
接口是一個(gè)類型,相當(dāng)于一個(gè)父類型(supertype),可以用一個(gè)接口引用一個(gè)實(shí)現(xiàn)了此接口的類的實(shí)例。這樣只能用接口提供的方法來(lái)訪問(wèn)此對(duì)象,可以限制訪問(wèn),隱藏具體實(shí)現(xiàn)。
我想遍歷所有key為username的值,比如:
每一個(gè)登陸用戶都有一個(gè)username的session,我如何判斷有多少個(gè)這樣的session及其值呢?
處理:
HttpSessionBindingListener進(jìn)行監(jiān)聽(tīng),維護(hù)一個(gè)全局變量
首先明確一下,樓主的問(wèn)題應(yīng)該是比較 JDK 和 JRE (而不是 JVM,因?yàn)?JDK 和 JRE 里面都包含 JVM)。
顧名思義,JDK 比 JRE 多出來(lái)的東西,就是在開(kāi)發(fā)過(guò)程中要用到的一些東西,比如 javac、javadoc、keytool 等工具,還有其它的一些東西(比如 API 文檔)。一般來(lái)說(shuō),這些東西在軟件開(kāi)發(fā)完成交付運(yùn)行之后就用不到了。不過(guò)也有例外,比如要在 Tomcat 里跑 JSP 的話,就需要 javac。
public:公有的,說(shuō)明該類成員可被所有的對(duì)象使用
protected:保護(hù)的,說(shuō)明該類成員能被同一類中的其他成員,或其子類成員,或同一包中的其他類訪問(wèn),不能被其他包的非子類訪問(wèn)
無(wú):默認(rèn)的.當(dāng)修飾符默認(rèn)時(shí),說(shuō)明該類成員能被同一類中的其他成員,或同一包中的其他類訪問(wèn),不能被其他包的類訪問(wèn)
private:私有的,說(shuō)明該類成員只能被同一類中的其他成員訪問(wèn),不能被其他類的成員訪問(wèn),也不能被子類成員訪問(wèn).
1. 有一個(gè)ArrayList,里面包含N個(gè)Integer,其中的Integer都是由1至N+1的數(shù)字構(gòu)成,并且不重復(fù),但是有一個(gè)1至N+1的數(shù)字對(duì)應(yīng)的Integer
不存在ArrayList中,求該數(shù)。
public static void main(String[] args){
ArrayList list= new ArrayList();
list.add(Integet(7));
list.add(Integet(8));
list.add(Integet(1));
list.add(Integet(2));
list.add(Integet(3));
list.add(Integet(4));
list.add(Integet(5));
}
public int getMissing(ArrayList list){
int len = list.size();
for (int i = 1; i <= len; i++) {
int j = 0;
while (j < len) {
Integer Val = (Integer) list.get(j);
int value = Val.intValue();
if (i == value)
break;
j++;
}
if (j == len) {
return j;
}
}
return -1;
}
2. 有一個(gè)二叉樹(shù)類如下。然后寫出遍歷二叉樹(shù)的方法printTree。
class BinaryTree{
class Node{
? String value;
? Node leftNode;
? Node rightNode;
}
public void printTree(Node root){
? reDo(root,0);
}
public void reDo(Node node,int depth){
? if(node != null) {
??? System.out.println(space()+node.value);
??? reDo(node.leftNode,depth+1);
??? reDo(node.rightNode,depth+1);
? }
?????
}
public String space(int len){
?? StringBuffer bs = new StringBuffer();
?? for(int i=0; i<bs.length();i++){
??? bs.append(" ");
?? }
}
}
3. 有int型數(shù)字如下,123,1234,12345,123456,1234567,12345678,123456789
求一個(gè)方法,輸出123 1,234 12,345 123,456 1,234,567 12,345,678 123,456,789
public String printComma(int input){
StringBuffer bs = new StringBuffer(input + "");
int index = bs.length() - 3;
while (index > 0) {
? bs.insert(index, ",");
? index = index - 3;
}
return bs.toString();
}
4.equals(),hasCode()的作用。
5.Object對(duì)象有哪些方法?
? equals(),clone(),notify(),notifyAll(),wait(),wait(long time),wait(long time,int nanos)
? hasCode(),toString(),getClass()。
6.RuntimeException,非RuntimeException的區(qū)別和例子。
7.Singleton模式
8.共享數(shù)據(jù)在web中的范圍
? page,request,seesion,application
9.Servlet的生命周期。
? servlet有良好的生存期定義,包括加載,實(shí)例化,初始化,處理請(qǐng)求,服務(wù)結(jié)束。由javax.servlet.Servlet接口以下方法表達(dá)
? init(),service(),destroy()。
10.abstract和interface的區(qū)別。
? abstract中可以有自己方法的定義和說(shuō)明,interface只是存在變量和方法的定義。當(dāng)需要的時(shí)候,我們可以inplements多個(gè)接口,但是只能
extends一個(gè)類。
11.實(shí)現(xiàn)多線程有哪幾種方法。
第一種,class MyThread extends Thread{..}? MyThread t = new MyThread(); t.start();
第二中,class UrThread implements Runnable{...} Thread t = new Thread(new UrThread()); t.start();
12.ArrayList和Vector的區(qū)別。
? Vector中的方法是synchronized的,性能上較ArrayList差點(diǎn)。
? 當(dāng)增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)原來(lái)的一倍,ArrayList默認(rèn)增長(zhǎng)原來(lái)的一半。
13.java實(shí)現(xiàn)序列化的方法是實(shí)現(xiàn)serializable接口,具體怎么做。
??
14.String a = "test"; String b = new String("test"); a==b (false)
?? String c = "te"+"st"; a==c (true)
15.
public synchronized void aMethod1(){
}
public void b aMethod(){
synchronized("test"){
?
}
}
A a1 = new A();
A a2 = new A();
a1.aMethod1();
a2.aMethod1();//不需要等待
a1.aMethod2();
a2.aMethod2();//需要等待
16.編程性能方法的討論,ArrayList,HashMap,StringBuffer。
17.Struts的DispatchAction,Action的區(qū)別。RequestProcessor的作用。
? 問(wèn)題一:
? 有int型數(shù)字如下,123,1234,12345,123456,1234567,12345678,123456789
? 求一個(gè)方法,輸出123 1,234 12,345 123,456 1,234,567 12,345,678 123,456,789
??處理:
? public void testPrint(int num) {
??? DecimalFormat format = new DecimalFormat("#,###");
??? System.out.println(format.format(num));
? }
?問(wèn)題二、
double類型如何正確的轉(zhuǎn)換為字符串類型
處理:
?double d = 0.001;
??? DecimalFormat df1 = new DecimalFormat("#.####");
??? String result = df1.format(d);
??? System.out.println(result);
Singleton模式主要作用是保證在Java應(yīng)用程序中,一個(gè)類只有一個(gè)實(shí)例存在。解釋下面的代碼是怎么保證只有一個(gè)實(shí)例的?
public class Singleton {
private Singleton(){}
private static Singleton instance = new Singleton();
public static Singleton getInstance() {
return instance;
}
}
處理:
因?yàn)闃?gòu)造函數(shù)是私有的,用戶不能自己實(shí)例對(duì)象 private Singleton(){}
而且指向這個(gè)唯一的對(duì)象的引用也是私有,只能通過(guò)getInstance方法返回對(duì)象的引用
getInstance方法正實(shí)現(xiàn)了保證唯一對(duì)象的功能
上一周的周一和周日
Calendar cl = Calendar.getInstance();
??cl.getTime();
??cl.add(cl.DAY_OF_YEAR, -cl.get(cl.DAY_OF_WEEK)+1);//get previous Sunday
??System.out.println(cl.get(cl.YEAR) + "-" + (cl.get(cl.MONTH)+1) + "-"
??+ cl.get(cl.DAY_OF_MONTH) +"week:"+(cl.get(cl.DAY_OF_WEEK)-1));
??
??cl.add(cl.DAY_OF_YEAR, -6 );?//get previous Monday
??System.out.println(cl.get(cl.YEAR) + "-" + (cl.get(cl.MONTH)+1) + "-"
??+ cl.get(cl.DAY_OF_MONTH) +"week:"+(cl.get(cl.DAY_OF_WEEK)-1));
用戶登陸,登陸成功后將用戶名和密碼保存到session中,然后轉(zhuǎn)到登陸成功后的頁(yè)面。
現(xiàn)在有一個(gè)問(wèn)題,如果有人看到了某一個(gè)頁(yè)面的url,可以直接在地址欄直接輸入url進(jìn)去,由于session中有用戶名和密碼,所以系統(tǒng)認(rèn)為他也是合法的用戶,如何解決?
處理:
一、 session是存在服務(wù)器上面的?
session有兩種方式一個(gè)是cookies一個(gè)就是url重寫
但是不管是哪種 都是向服務(wù)器傳達(dá)的是session的ID
所以解決的方法就是?
???? 為session設(shè)置一個(gè)存活期:session.setMaxInactiveInterval(10);
二、讓瀏覽器不再緩存
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>