可愛的琪琪,開心快樂每一天
          溫馨小屋
          可愛的琪琪,開心快樂每一天
          posts - 7,comments - 39,trackbacks - 0
               摘要: 大數據量insert與update語句的效率問題  閱讀全文
          posted @ 2007-03-18 21:37 陳琪 閱讀(6103) | 評論 (1)編輯 收藏

          據說被稱為世上最經典的15句話


            1,記住該記住的,忘記該忘記的。改變能改變的,接受不能改變的

            2,能沖刷一切的除了眼淚,就是時間,以時間來推移感情,時間越長,沖突越淡,仿佛不斷稀釋的茶

            3,怨言是上天得至人類最大的供物,也是人類禱告中最真誠的部分

            4,智慧的代價是矛盾。這是人生對人生觀開的玩笑。

            5,世上的姑娘總以為自己是驕傲的公主(除了少數極丑和少數極聰明的姑娘例外)

            6,如果敵人讓你生氣,那說明你還沒有勝他的把握

            7,如果朋友讓你生氣,那說明你仍然在意他的友情

            8,令狐沖說“有些事情本身我們無法控制,只好控制自己。”

            9,我不知道我現在做的哪些是對的,那些是錯的,而當我終于老死的時候我才知道這些。所以我現在所能做的就是盡力做好每一件事,然后等待著老死。

            10,也許有些人很可惡,有些人很卑鄙。而當我設身為他想象的時候,我才知道:他比我還可憐。所以請原諒所有你見過的人,好人或者壞人

            11,魚對水說你看不到我的眼淚,因為我在水里.水說我能感覺到你的眼淚,因為你在我心里。

            12,快樂要有悲傷作陪,雨過應該就有天晴。如果雨后還是雨,如果憂傷之后還是憂傷.請讓我們從容面對這離別之后的離別。 微笑地去尋找一個不可能出現的你!

            13,死亡教會人一切,如同考試之后公布的結果――雖然恍然大悟,但為時晚矣~!

            14,你出生的時候,你哭著,周圍的人笑著;你逝去的時候,你笑著,而周圍的人在哭!一切都是輪回!!!! 我們都在輪回中!!!

            15,男人在結婚前覺得適合自己的女人很少,結婚后覺得適合自己的女人很多 !

          posted @ 2007-03-07 12:44 陳琪 閱讀(329) | 評論 (0)編輯 收藏
          ???? 網上看面試題時看到,摘抄別人寫的一個程序,并做了一些注解,翻譯為java版,記錄一下
          package?chenqi;

          /**
          ?*?要求:試編寫程序實現將八個皇后放置在國際象棋棋盤的無沖突的位置上的算法,并給出所有的解。
          ?*?提示:在國際象棋上放置皇后時,任何一個皇后的水平、豎直和斜45o都不能有另一個皇后。
          ?*?解決該問題采用逐次試探的方法,即采用遞歸調用putchess函數的方法。
          ?*?首先將第一個皇后放于第一行第一列,然后開始向下一行遞歸。
          ?*?每一步遞歸中,首先檢測待放置位置是否與已放置的皇后沖突,如不沖突,則進行下一行的放置,
          ?*?否則,選擇該行的下一個位置進行檢測。如整行的位置都沖突,則回到上一行,重新選擇位置源碼:
          ?*?
          @author?Administrator
          ?*
          ?
          */

          public?class?EightQueen?{

          ????
          //8根線代表8列,數組中每個對象存的值表示皇后在該列的位置
          ????int[]?line?=?new?int[8];
          ????
          int?answer=0;
          ????
          ????
          /**
          ?????*?判斷是否有沖突---用試探法,判斷是否與其他列有沖突
          ?????*?
          @param?t
          ?????*?
          @return?返回0表示沒有沖突,返回1表示有沖突
          ?????
          */

          ????
          private?int?Judge(int?t)?{
          ????????
          int?i,?n?=?0;
          ????????
          for?(i?=?0;?i?<?t;?i++)?{
          ????????????
          //第一種沖突情況:2列處于同一行沖突
          ????????????if?(line[i]?==?line[t])?{
          ????????????????n?
          =?1;
          ????????????????
          break;
          ????????????}

          ????????????
          //2列處于斜向上45度對角線沖突
          ????????????if?(line[i]?+?i?==?line[t]?+?t)?{
          ????????????????n?
          =?1;
          ????????????????
          break;
          ????????????}

          ????????????
          //2列處于斜向下45度對角線沖突
          ????????????if?(line[i]?-?i?==?line[t]?-?t)?{
          ????????????????n?
          =?1;
          ????????????????
          break;
          ????????????}

          ????????}

          ????????
          return?n;
          ????}

          ????
          ????
          /**
          ?????*?主要控制函數
          ?????*?
          @param?n
          ?????
          */

          ????
          private?void?control(int?n)
          ????
          {
          ????????
          int?t?=?8;
          ????????
          for?(line[n]?=?0;?line[n]?<?t;?line[n]++)?{
          ????????????
          if?(Judge(n)?==?1)
          ????????????????
          continue;
          ????????????
          else?if?(n?!=?7)
          ????????????????control(n?
          +?1);
          ????????????
          else
          ????????????????show();
          ????????}

          ????}

          ????
          ????
          /**
          ?????*?顯示擺放的結果
          ?????*?
          ?????
          */

          ????
          private?void?show()?{
          ????????
          int?i,?j;
          ????????
          for?(i?=?0;?i?<?8;?i++)?{
          ????????????
          for?(j?=?0;?j?<?8;?j++)?{
          ????????????????
          if?(line[i]?==?j)
          ????????????????????System.out.print(
          "Q");
          ????????????????
          else
          ????????????????????System.out.print(
          "*");
          ????????????}

          ????????????System.out.println();
          ????????}

          ????????answer
          ++;
          ????????System.out.println();
          ????????System.out.println(answer);
          ????}



          ????
          ????
          public?static?void?main(String[]?args)?{
          ????????EightQueen?s?
          =?new?EightQueen();
          ????????s.control(
          0);
          ????????System.out.println(s.answer);
          ????}

          ????
          }

          這段代碼感覺又簡潔又易懂,再次感謝他的作者:
          http://blog.chinaunix.net/u/26924/showart_228365.html
          posted @ 2007-02-28 23:38 陳琪 閱讀(469) | 評論 (0)編輯 收藏
               摘要: struts tiles  閱讀全文
          posted @ 2007-02-23 17:32 陳琪 閱讀(769) | 評論 (0)編輯 收藏

          1。網上的一種說法,關閉range,關閉worksheet,關閉workbook,最后關閉excel
          System.Runtime.InteropServices.Marshal.ReleaseComObject(Range);
          2System.Runtime.InteropServices.Marshal.ReleaseComObject(myBook);
          3System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);

          Range = null;
          myBook = null;
          myExcel = null;

          我試過,沒有成功


          2。關閉進程
          C#和Asp.net下excel進程一被打開,有時就無法關閉,?? 尤其是website.對關閉該進程有過GC、release等方法,但這些方法并不是在所有情況下均適用。? 于是提出了kill?? process的方法,?? 目前我見過的方法多是用進程創建時間篩選excel.exe進程,?? 然后kill 。???? 這樣的方法是不精確的,?? 也是不安全的,?? 通過對網上一些關于Api運用文章的閱讀,?? 我找到了更為直接精確找到這個process并kill的方法,以下就是代碼????????
          using?? System.Runtime.InteropServices;??
          ?????
          ? [DllImport("User32.dll",?? CharSet?? =?? CharSet.Auto)]??
          ? public?? static?? extern?? int?? GetWindowThreadProcessId(IntPtr?? hwnd,?? out?? int?? ID);??
          ? protected?? void?? Button1_Click(object?? sender,?? EventArgs?? e)??
          ? {??
          ????? Excel.ApplicationClass?? excel?? =?? new?? Microsoft.Office.Interop.Excel.ApplicationClass();??
          ????? excel.Workbooks.Open("d:\aaa.xls",?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing,?? Type.Missing);??
          ????? IntPtr?? t?? =?? new?? IntPtr(excel.Hwnd);??
          ????? int?? k?? =?? 0;??
          ????? GetWindowThreadProcessId(t,?? out?? k);??
          ????? System.Diagnostics.Process?? p?? =?? System.Diagnostics.Process.GetProcessById(k);??
          ????? p.Kill();??????????????????
          ?? }


          以上代碼百分百成功的關閉excel.exe進程
          我的做法是結合兩者,先釋放資源,然后關閉進程。
          同時網上說避免使用GC.Collect 方法 (),因為會導致整個clr進行gc,影響你的性能.所以我也沒有調用GC.Collect

          posted @ 2006-11-04 11:28 陳琪 閱讀(10176) | 評論 (16)編輯 收藏

          ? 思路是先將oracle中時間字段轉化成字段串,然后與字符串模糊查詢
          如下:
          select * from atm1_operatelog t where to_char(t.operatetime,'yyyy-MM-dd') like '2006-10-16'

          同時反過來也是一樣可行的
          select * from atm1_operatelog t where t.operatetime like to_date('2006-10-16','yyyy-MM-dd')
          將字段串轉化為時間然后使用like關鍵字

          posted @ 2006-10-17 15:45 陳琪 閱讀(4908) | 評論 (8)編輯 收藏

          public static void main(String[] args) {
          ??ListPortAction.test();
          ?}

          ??? public static void test(){
          ??try{
          ???String targetfile = "c:/1.xls";
          ????? OutputStream os = new FileOutputStream(targetfile);
          ????? jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
          ????? jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0);
          ????? for(int i=0;i<50;i++){
          ????? ?if(i!=0){
          ????? ??InputStream in = new FileInputStream(targetfile);
          ????? ??Workbook wb = Workbook.getWorkbook(in);
          ????? ??os = new FileOutputStream(targetfile);
          ????? ??wwb = Workbook.createWorkbook(os,wb);
          ????? ??ws = wwb.getSheet(0);
          ????? ??wb.close();????? ????
          ????? ??in.close();
          ????? ?}
          ????? ?for(int j=0;j<1000;j++){
          ????? ??Label l = new Label(0,j+i*1000,"測試");
          ????? ??ws.addCell(l);
          ????? ?}
          ????? ?try{
          ????? ?wwb.write();
          ????? ?wwb.close();
          ????? ?os.flush();
          ????? ?os.close();
          ????? ?}catch(Exception e){
          ?????? ?System.out.println("錯誤2:");
          ??????? e.printStackTrace();
          ????? ?}
          ????? }
          ???? }catch(Exception e){
          ???? ?System.out.println("錯誤:");
          ????? e.printStackTrace();
          ???? }
          ?}
          以上是我寫的一個測試類,寫5W條記錄現在是沒有問題,先存硬盤,然后從硬盤獲取流,最后可以寫到response的outputStream中,不過感覺自己的代碼質量不是很好,歡迎高手多多指教。可以互相交流思想。

          posted @ 2006-09-01 09:51 陳琪 閱讀(2083) | 評論 (1)編輯 收藏
          主站蜘蛛池模板: 禄丰县| 花莲县| 博白县| 和平区| 海盐县| 赤壁市| 敦化市| 陵水| 林西县| 郯城县| 施秉县| 皋兰县| 兴海县| 牙克石市| 七台河市| 南陵县| 抚顺县| 满城县| 克拉玛依市| 肇东市| 冀州市| 思茅市| 郸城县| 包头市| 松潘县| 宜春市| 绍兴市| 商南县| 偏关县| 三原县| 肥东县| 神农架林区| 会昌县| 汉中市| 凤山市| 搜索| 临城县| 望都县| 乌什县| 北京市| 东乡族自治县|