<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2012年11月9日

         摘要: PL/SQL Developer version 9.0.6.1665 無限用戶注冊碼激活碼 1 Product Code: 46jw8l8ymfmp2twwbuur8j9gv978m2q2du 2 serial Number:307254 3 password:xs374ca 4 License Numbe...  閱讀全文

    posted @ 2013-10-15 09:02 志成中國 閱讀(4031) | 評論 (1)編輯 收藏

         摘要:  認識ExtJSextjs是使用javascript、css和html等技術實現(xiàn)的主要用于創(chuàng)建用戶界面,且與后臺技術無關的前端ajax框架。extjs來源于yui,開發(fā)理念來源于傳統(tǒng)的桌面軟件開發(fā)。1.下載extjs,解壓,得到目錄結(jié)構(gòu)o builds:是extjs壓縮后的代碼,體積更小,加載更快o docs :extjs的文檔o examples...  閱讀全文

    posted @ 2013-01-05 17:04 志成中國 閱讀(1193) | 評論 (2)編輯 收藏

         摘要: 不同概率的抽獎今天為大家寫個小程序。工作中有遇到一些抽獎的活動,但是你懂得,抽獎物品的概率肯定不是一樣,你會發(fā)現(xiàn)好的東西很難抽到,經(jīng)常抽到一些垃圾的東西,嘿嘿,這就是本文要說的,我們要控制抽獎物品的概率。還有順便說一句,網(wǎng)上這種小程序幾乎沒有,很多都是等概率的抽獎balabala…需求很簡單,為了更加形象,這里我們列一個表格來顯示我們抽獎的物品和對應的概率(沒有邊框,大家湊合著看看吧,...  閱讀全文

    posted @ 2012-11-09 16:03 志成中國 閱讀(483) | 評論 (2)編輯 收藏

    Java中static、this、super、final用法

    親:本文具體講解了Java中static的用法,具體內(nèi)容有static的靜態(tài)方法、靜態(tài)變量、靜態(tài)類。(⊙o⊙),你們覺得如何?
    一、static
    請先看下面這段程序:
    public class Hello{
    public static void main(String[] args){ //(1)
    System.out.println("Hello,world!"); //(2)
    }
    }
     
    看過這段程序,對于大多數(shù)學過Java 的從來說,都不陌生。即使沒有學過Java,而學過其它的高級語言,例如C,那你也應該能看懂這段代碼的意思。它只是簡單的輸出“Hello,world”,一點別的用處都沒有,然而,它卻展示了static關鍵字的主要用法。
    在1處,我們定義了一個靜態(tài)的方法名為main,這就意味著告訴Java編譯器,我這個方法不需要創(chuàng)建一個此類的對象即可使用。你還得你是怎么運行這個程序嗎?一般,我們都是在命令行下,打入如下的命令(加下劃線為手動輸入):
     
    javac Hello.java
    java Hello
    Hello,world!
     
    這就是你運行的過程,第一行用來編譯Hello.java這個文件,執(zhí)行完后,如果你查看當前,會發(fā)現(xiàn)多了一個Hello.class文件,那就是第一行產(chǎn)生的Java二進制字節(jié)碼。第二行就是執(zhí)行一個Java程序的最普遍做法。執(zhí)行結(jié)果如你所料。在2中,你可能會想,為什么要這樣才能輸出。好,我們來分解一下這條語句。(如果沒有安裝Java文檔,請到Sun的官方網(wǎng)站瀏覽J2SE API)首先,System是位于java.lang包中的一個核心類,如果你查看它的定義,你會發(fā)現(xiàn)有這樣一行:public static final PrintStream out;接著在進一步,點擊PrintStream這個超鏈接,在METHOD頁面,你會看到大量定義的方法,查找println,會有這樣一行:
     
    public void println(String x)
     
    好了,現(xiàn)在你應該明白為什么我們要那樣調(diào)用了,out是System的一個靜態(tài)變量,所以可以直接使用,而out所屬的類有一個println方法。
    靜態(tài)方法
    通常,在一個類中定義一個方法為static,那就是說,無需本類的對象即可調(diào)用此方法。如下所示:
    class Simple{
    static void go(){
    System.out.println("Go...");
    }
    }
    public class Cal{
    public static void main(String[] args){
    Simple.go();
    }
    }
     
    調(diào)用一個靜態(tài)方法就是“類名.方法名”,靜態(tài)方法的使用很簡單如上所示。一般來說,靜態(tài)方法常常為應用程序中的其它類提供一些實用工具所用,在Java的類庫中大量的靜態(tài)方法正是出于此目的而定義的。
    靜態(tài)變量
    靜態(tài)變量與靜態(tài)方法類似。所有此類實例共享此靜態(tài)變量,也就是說在類裝載時,只分配一塊存儲空間,所有此類的對象都可以操控此塊存儲空間,當然對于final則另當別論了??聪旅孢@段代碼:
     
    class Value{
    static int c=0;
    static void inc(){
    c++;
    }
    }
    class Count{
    public static void prt(String s){
    System.out.println(s);
    }
    public static void main(String[] args){
    Value v1,v2;
    v1=new Value();
    v2=new Value();
    prt("v1.c="+v1.c+" v2.c="+v2.c);
    v1.inc();
    prt("v1.c="+v1.c+" v2.c="+v2.c);
    }
    }
     
    結(jié)果如下:
     
    v1.c=0 v2.c=0
    v1.c=1 v2.c=1
     
    由此可以證明它們共享一塊存儲區(qū)。static變量有點類似于C中的全局變量的概念。值得探討的是靜態(tài)變量的初始化問題。我們修改上面的程序:
     
    class Value{
    static int c=0;
    Value(){
    c=15;
    }
    Value(int i){
    c=i;
    }
    static void inc(){
    c++;
    }
    }
    class Count{
    public static void prt(String s){
    System.out.println(s);
    }
    Value v=new Value(10);
    static Value v1,v2;
    static{
    prt("v1.c="+v1.c+" v2.c="+v2.c);
    v1=new Value(27);
    prt("v1.c="+v1.c+" v2.c="+v2.c);
    v2=new Value(15);
    prt("v1.c="+v1.c+" v2.c="+v2.c);
    }
    public static void main(String[] args){
    Count ct=new Count();
    prt("ct.c="+ct.v.c);
    prt("v1.c="+v1.c+" v2.c="+v2.c);
    v1.inc();
    prt("v1.c="+v1.c+" v2.c="+v2.c);
    prt("ct.c="+ct.v.c);
    }
    }
     
    運行結(jié)果如下:
    v1.c=0 v2.c=0
    v1.c=27 v2.c=27
    v1.c=15 v2.c=15
    ct.c=10
    v1.c=10 v2.c=10
    v1.c=11 v2.c=11
    ct.c=11
     
    這個程序展示了靜態(tài)初始化的各種特性。如果你初次接觸Java,結(jié)果可能令你吃驚。可能會對static后加大括號感到困惑。首先要告訴你的是,static定義的變量會優(yōu)先于任何其它非static變量,不論其出現(xiàn)的順序如何。正如在程序中所表現(xiàn)的,雖然v出現(xiàn)在v1和v2的前面,但是結(jié)果卻是v1和v2的初始化在v的前面。在static{后面跟著一段代碼,這是用來進行顯式的靜態(tài)變量初始化,這段代碼只會初始化一次,且在類被第一次裝載時。如果你能讀懂并理解這段代碼,會幫助你對static關鍵字的認識。在涉及到繼承的時候,會先初始化父類的static變量,然后是子類的,依次類推。非靜態(tài)變量不是本文的主題,在此不做詳細討論,請參考Think in Java中的講解。
    靜態(tài)類
    通常一個普通類不允許聲明為靜態(tài)的,只有一個內(nèi)部類才可以。這時這個聲明為靜態(tài)的內(nèi)部類可以直接作為一個普通類來使用,而不需實例一個外部類。如下代碼所示:
     
    public class StaticCls{
    public static void main(String[] args){
    OuterCls.InnerCls oi=new OuterCls.InnerCls();
    }
    }
    class OuterCls{
    public static class InnerCls{
    InnerCls(){
    System.out.println("InnerCls");
    }
    }
    }
     
    輸出結(jié)果會如你所料。

    posted @ 2012-11-09 16:01 志成中國 閱讀(207) | 評論 (0)編輯 收藏

    java try catch 誰先執(zhí)行問題,你能說明白嗎
    問題1 
     try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后? 
    也許你的答案是在return之前,但往更細地說,我的答案是在return中間執(zhí)行,請看下面程序代碼的運行結(jié)果: 
    public  class Test {
    public static void main(String[] args) {
    System.out.println(new Test().test());;
    }
    static int test()
    {
    int x = 1;
    try
    {
    return x;
    }
    finally
    {
    ++x;
    }
    }
    }
    ---------執(zhí)行結(jié)果是什么  為什么 ---------
    問題2
    下面的程序代碼輸出的結(jié)果是多少?
    public class  smallT
    {
    public static void  main(String args[])
    {
    smallT t  = new  smallT();
    int  b  =  t.get();
    System.out.println(b);
    }
    public int  get()
    {
    try
    {
    return 1 ;
    }
    finally
    {
    return 2 ;
    }
    }
    }
           2012-6-19 16:23 滿意回答 輸出是1和2,
    20705080 回答的很好了,只有幾點補充下,首先代碼例子用的是基本數(shù)據(jù)類型,他們進行傳值就是傳值,其次finally的用途是用來回收系統(tǒng)資源的,沒有catch也是正常的使用(不catch,把異常throw回調(diào)用方法),再有finally和return是有關系的,而且經(jīng)常有人提,就是finally的代碼在return前運行,這就是我為什么先說你的例子是基本數(shù)據(jù)類型的原因,因為return x(1);被放入stack中,stack是后進先出的,等待finally運行完再運行,但他已經(jīng)被賦值了就是1,如果你把代碼改成這樣試試看
    public Something getSome(){
             Something s = new Something("Dog");
             try{
                  return s;
            }finally{
                 s.name ="cat";
             }}
    加個類
    class Something{
            public String name ;
            something(String name){
                   this.name = name;}
    }
    因為相對于基本數(shù)據(jù)類型,引用傳值傳的值是個地址,return s(地址);放入stack中,又被取出時地址不變但地址那邊的數(shù)據(jù)已經(jīng)是cat了贊同0| 評論 
    第1個
    有finally的話
    try 里的return    是先保存x的結(jié)果   等待finally走完   雖然x變2了  但是return的值還是1  
    因為到return的時候已經(jīng)把x的值取出來  等待finally走完  不管x怎么變  之前的1是不會變的
    第2個
    return     等待finally走完   但是finally里return了   所以返回的是2
        贊同0| 評論                2012-6-19 14:54 暢捷通丶稀飯 | 五級 
    第一個是1,因為 x=1 try里面返回的是1 后面又執(zhí)行了finally 后。X 是2 但是沒有返回。所以 還是1
    第二個是2,因為finally最后執(zhí)行,返回的是2. 贊同0| 評論                2012-6-19 14:56 java2000_net | 
    finally中的語句是一定要執(zhí)行的,這點是肯定的。finally中的語句執(zhí)行在try之后。通常try是要和catch(不捕獲異常try就沒意義了)。一般的用法是:
    try{
    1想要執(zhí)行的代碼
    }catch(Exception e){
     2異常處理
    }finally{
    3最終執(zhí)行的代碼
    }
    1中代碼沒錯執(zhí)行的順序就是1->3
    1中代碼有錯執(zhí)行的順序是2->3
    finally中的代碼和return是沒關系的,你可以把return寫在任何地方。它只和try、catch有關。假如你把問題一種finally的代碼寫成:
    finally{
    return ++x;
    }那么結(jié)果就是2了。
    finally一定會執(zhí)行,且在try或catch之后執(zhí)行。
    不知道這么說能明白嗎~~~
    不明白可以問,我再回答~~~ 贊同0| 評論                2012-6-19 15:22 黑夜也明亮 | 四級 
    問題1:答案 1。因為return的值在執(zhí)行finally之前已經(jīng)確定下來了。所以即使在finally里怎么該值它始終是1,除非在finally里在return ++x重新修改返回的值。return x它不會直接返回值回去而是等程序執(zhí)行完finaly后才返回。
    你因該有聽過有finaly的程序一定會執(zhí)行finaly代碼吧。
    問題2:答案 2。根據(jù)一的結(jié)論二也是成立的。 贊同0| 評論                2012-6-19 16:41 iedgtg | 五級 
    第一個問題:輸出的是1,因為finally總是在try-catch執(zhí)行之后執(zhí)行,而且,一定是在return之前執(zhí)行。第一個問題里應該是在return x;之前執(zhí)行,但是,此時return的值已經(jīng)固定了,就是說finally再執(zhí)行也改變不了return的值,當然x的值成了2,但是return的值已經(jīng)固定為1了。
    第二個問題:輸出的是2,因為finally一定是在return之前執(zhí)行,本來程序return的值是1,即將要return了,但是有finally,所以finally先執(zhí)行,所以return的值是2。
    但是第二種情況不建議使用,就是說finally里不建議用return,因為這樣finally就沒有正常的執(zhí)行完畢,這是不推薦的。 贊同0| 評論         

    posted @ 2012-11-09 16:00 志成中國 閱讀(197) | 評論 (0)編輯 收藏

    GET與Post提交問題: ---------------------------------------------- 運行l(wèi)ogin.jsp點登陸時調(diào)用兩次toLoginAction /WEB-INF/jsp/main/main.jsp /WEB-INF/jsp/user/login_form.jsp 所以取得結(jié)果在toLoginAction的execute里運行兩次 String pass = iuserDao.findPassWordByEmail(email); System.out.println(email); System.out.println(pass); 也輸出兩次:條件不同,輸出內(nèi)容不同 當login_form.jsp里的表單 使用post方式提交時,控制臺輸出如下: root@root.com root null null 當login_form.jsp里的表單 使用get方式提交時,控制臺輸出如下: root@root.com root root@root.com root 解決方案一:加struts的token攔截器,只讓表單提交一次。 解決方案二:轉(zhuǎn)一個action,就是把他自動提交的那個請求通過action的轉(zhuǎn)發(fā)取消掉。 問題: 為什么get和post的默認請求后取到的值會不同? 為什么在window的電腦里沒有問題? ---------------------------------------------- 在window下,正常輸出如下: root@root.com root ---------------------------------------------- 緩存問題(服務器緩存或者瀏覽器緩存或者瀏覽器bug),導致提交兩次,與操作系統(tǒng)、程序、js提交是沒關系! get:通過URL路傳參,當頁面再次提交,還會把URL中的值傳遞給action,所有屬性再次被填充就不出現(xiàn)null值 post:URL路徑?jīng)]有信息,當再次提交,就出現(xiàn)屬性就出現(xiàn)null值 你在學生機器上,把在tomcat中work目錄刪除、在把\webapps 中項目刪除,把web容器緩存清空下! 或者把學生機器重新啟動下,把服務器緩存徹底清除下! ---------------------------------------------- ---------------------------------------------- 圖片:struts-user.xml配置如下: ---------------------------------------------- ToLoginAction類如下 : ---------------------------------------------- 進入主頁面的URL如: ---------------------------------------------- 登陸的URL如: ---------------------------------------------- 登陸界面: ---------------------------------------------- windwo系統(tǒng)下提交輸出如圖: ---------------------------------------------- Linux系統(tǒng)下,采用get提交時 ---------------------------------------------- Linux系統(tǒng)下,采用post提交時 ---------------------------------------------- 最后在學生電腦上又試了幾次,get方式提交正常和window系統(tǒng)下一樣了,post方式 提交還是沒改變,不知道為什么。 ---------------------------------------------- 郵件內(nèi)容如下: 發(fā)件人:賈東坡 發(fā)送時間: 2012-11-08 09:37 收件人:zhaozq 主題: dang_get_post 趙老師: 您好。學生的程序有點問題,想聽一下您的理解。問題描述如下: 進入當當網(wǎng)的main頁面,點登陸輸入用戶名,密碼后,點登陸會請求ToLoginAction, 進入main頁面。在ToLoginAction里打印了email和pass,登陸之后輸出結(jié)果在linux 系統(tǒng)下與window下不同。window系統(tǒng)下正常輸出,而在linux系統(tǒng)下有輸出兩次,并且 login_form.jsp時表單提交方法為get時,兩次都能正常輸出;當提交方式為post里,第 二次為null。例如: 在window系統(tǒng)下: 我們在輸入框,輸入用戶名:root@qq.com 密碼root,會輸出如下: root@qq.com root 在linux系統(tǒng)下 當login_form.jsp的表單提交為get時,輸出root@qq.comroot時, 輸出如下: root@qq.com root root@qq.com root 當login_form.jsp的表單提交為post時,輸入root@qq.comroot時, 輸出如下: root@qq.com root null null 原因分析:首先想的是submit按鈕在使用js時,有自動提交功能,可是也沒使用js啊, 還有在linux系統(tǒng)有自己的form機制。還有一個是程序有問題。 解決方案:我給這個action加了個token表單攔截器就可以。說明是表單提交兩次。 問題是:1.為什么表單會提交兩次,而在window下只提交一個。 2.為什么在linux下用get和post提交方式第二次取到的值會不一樣。 3. form提交時在linux系統(tǒng)下與window有什么不一樣。 附件內(nèi)是程序源碼,謝謝您的寶貴時間。 祝: 身體健康,工作順利! 賈東坡北方區(qū) 北方基地項目部 項目經(jīng)理 E-mail: jiadp@tarena.com.cn Address: 北京市昌平區(qū)北七家鎮(zhèn)宏富創(chuàng)業(yè)園科技園綜合樓3層 Mobile: 18301442726 Fax: 86-10-82823773 Website: www.tarena.com.cn ---------------------------------------------- 發(fā)件人:zhaozq 發(fā)送時間: 2012-11-08 11:21 收件人:jiadp 主題: 回復: dang_get_post 賈老師: 您好! 你們班的學生機器是不是采用的是云服務器? zhaozq ---------------------------------------------- 趙老師: 您好。我們班的機器都是普通主機,linux系統(tǒng)的,不是用核的,也不是云服務器。 謝謝您的寶貴時間。 ---------------------------------------------- 賈老師: 您好! 緩存問題(服務器緩存或者瀏覽器緩存或者瀏覽器bug),導致提交兩次,與操作系統(tǒng)、程序、js提交是沒關系! get:通過URL路傳參,當頁面再次提交,還會把URL中的值傳遞給action,所有屬性再次被填充就不出現(xiàn)null值 post:URL路徑?jīng)]有信息,當再次提交,就出現(xiàn)屬性就出現(xiàn)null值 你在學生機器上,把在tomcat中work目錄刪除、在把\webapps 中項目刪除,把web容器緩存清空下! 或者把學生機器重新啟動下,把服務器緩存徹底清除下! zhaozq ---------------------------------------------- 趙老師: 您好。您的分析很有道理,可是我用另外幾臺電腦,試了也不行,所以不該是緩存問題。 瀏覽器bug,這個還沒測試,因為所有學生的電腦都是同樣的系統(tǒng),同樣的瀏覽器,都是這個 情況。要是緩存問題,怎么可能用token攔截了,攔截下的是緩存的,還是我自己提交的,以及 在哪地方緩存。還有個問題就是,在web學習的時候也有表單提交,為什么就沒有這種情況,是 不是和struts有關。 謝謝,您的寶貴時間。 ---------------------------------------------- 趙老師回復: 您好。您的分析很有道理,可是我用另外幾臺電腦,試了也不行,所以不該是緩存問題。 瀏覽器bug,這個還沒測試,因為所有學生的電腦都是同樣的系統(tǒng),同樣的瀏覽器,都是這個 情況。要是緩存問題,怎么可能用token攔截了,攔截下的是緩存的,還是我自己提交的,以及 token不是攔截了,而是令牌值相同不在提交,不是在window 系統(tǒng)提交沒問題嗎?那就與程序無關了,那就是系統(tǒng) 緩存或者瀏覽器緩存中,正常當瀏覽器關閉,緩存中數(shù)據(jù)就清除,但是如果機房比較熱、服務器處于長期運營等情況都會導致緩存信息無法清空,而影響程序執(zhí)行 在哪地方緩存。還有個問題就是,在web學習的時候也有表單提交,為什么就沒有這種情況,是 緩存 不是和struts有關。 和struts沒有關系,而是與計算機硬件設備有關,這個影響具體什么時候會造成,這個都不能預計,這種情況一般比較少見。 祝: 身體健康,工作順利! ---------------------------------------------- 趙老師: 您好。謝謝您的詳細解答,真是受益匪淺,這個問題可以劃上句話了。同學們都很喜歡聽 您講課,風趣幽默、也易于接受,期待您更多的講解。 謝謝,您的精神講解。您辛苦了。 祝: 身體健康,工作順利! ---------------------------------------------- ---------------------------------------------- Debug linux系統(tǒng)下截圖如下: ---------------------------------------------- get方式時:正常情況下:輸出和win一樣了。 root@root.com root ---------------------------------------------- post方式時:輸出如下: root@root.com root null null -------------------------------------------------------------------------------------------

    posted @ 2012-11-09 15:49 志成中國 閱讀(1203) | 評論 (0)編輯 收藏


    posts - 9, comments - 5, trackbacks - 0, articles - 0

    Copyright © 志成中國

    主站蜘蛛池模板: 亚洲精品美女网站| 亚洲综合视频在线| 亚洲AV无码AV男人的天堂不卡| 91黑丝国产线观看免费| 亚洲第一永久在线观看| 久久久久免费看成人影片| 久久亚洲国产精品成人AV秋霞 | 一本久久免费视频| 亚洲区日韩精品中文字幕| 在线永久免费的视频草莓| 亚洲视频一区在线观看| 青草草色A免费观看在线| 亚洲国产av美女网站| 最近免费中文字幕视频高清在线看| 91丁香亚洲综合社区| 嫩草在线视频www免费观看| 亚洲va国产va天堂va久久| 中文字幕免费高清视频| 亚洲影视自拍揄拍愉拍| 免费观看毛片视频| 日本高清免费中文在线看| 亚洲国产婷婷六月丁香| 6080午夜一级毛片免费看6080夜福利| 亚洲人成在线中文字幕| 全免费一级午夜毛片| 一级特黄aaa大片免费看| 精品亚洲综合在线第一区| 亚洲成年人免费网站| 亚洲精品伦理熟女国产一区二区| 免费国产美女爽到喷出水来视频| 中国一级特黄高清免费的大片中国一级黄色片 | 国产中文字幕免费| 国产性生大片免费观看性| 亚洲理论片中文字幕电影| 精品无码国产污污污免费| 国产真人无码作爱免费视频| 亚洲日韩图片专区第1页| 色播在线永久免费视频| 国产午夜不卡AV免费| 亚洲一本一道一区二区三区| 亚洲一区二区三区AV无码|