隨筆-22  評論-8  文章-0  trackbacks-0
            2011年6月14日
               摘要: 最近給機器裝上了Archlinux的操作系統,可以windows有進還不得不用,所以下載了virtualBox,準備安裝個虛擬機;安裝比較簡單,可裝好后與主系統(archlinux)如何交換數據呢?看到了數據空間,想到是用這個,可一直也沒有搞清楚如可進行設置,所以就放了下來。 最近在網上看到一篇文章,對數據空間進行了說明,才搞清楚是這么回事。閑話少說,就說怎么設置吧:  閱讀全文
          posted @ 2011-12-29 17:21 Hukin 閱讀(1996) | 評論 (1)編輯 收藏
               摘要: 每個文件系統分為3部分:超級塊,i-節點表,數據區 。
          超級塊 :存放文件系統本身的信息,比如記錄了每個區域的大小,或未被使用的磁盤塊的信息。(不同版本稍有差別)
          i-節點表 :每個文件都有其屬性,大小,最近修改時間等等,這些被存儲在ino_t 的結構體中,所有的i-節點都有一樣的大小,i-節點表就是這樣一些節點的列表。
          (表中的每個i-節點都通過位置來標志,例如標志為2的i-節點位于文件系統i-節點表中的第3個位置 )
          數據塊 :存放文件內容,因為塊的大小一定,所以有時一個文件會分布在多個磁盤上。
            閱讀全文
          posted @ 2011-12-28 11:16 Hukin 閱讀(5088) | 評論 (1)編輯 收藏
          @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
          length是屬性,一般集合類對象擁有的屬性,取得集合的大小。
               例如:數組.length就是取得數組的長度。
          length()是方法,一般字符串類對象有該方法,也是取得字符串長度。
               例如:字符串.length();
          posted @ 2011-09-03 13:39 Hukin 閱讀(393) | 評論 (0)編輯 收藏
               摘要: 一、指令元素(directive elements):控制所生成的servlet結構。
          JSP指令用于“轉換階段”提供整個JSP頁面的相關信息,影響由JSP頁面生成的Servlet的整體結構。
          指令不會產生任何的輸出到當前的輸出流中。

          1,指令元素語法:
          <%@ directive {attr="value"}* %>
          說明:
          <和% 以及和@,%和>之間不能有任何的空格。
          屬性值兩邊的雙引號可以替換為單引號。引號標記不能完全省略。
          在屬性中使用引號使用\進行轉義。
          2,指令的xml語法:


          在編寫XML兼容的jsp頁面時,只要不在同一頁面中混用xml語法和標準語法,就可以使用指令的xml兼容模式。  閱讀全文
          posted @ 2011-08-29 17:12 Hukin 閱讀(1628) | 評論 (0)編輯 收藏
               摘要: 創建了一個名為:hbchen 密碼為:hbchen (的)用戶。
          然后登錄一下。
          mysql>exit;
          @>mysql -u hbchen -p
          @>輸入密碼
          mysql>登錄成功   閱讀全文
          posted @ 2011-08-28 21:04 Hukin 閱讀(21714) | 評論 (0)編輯 收藏
               摘要: jion 語句有三種,inner join, left outer join 和 right outer join 都可以簡寫,分別為jion,left join,right jion。

          jion語句可以用來組合兩個表中的記錄,只要在公共字段之中有相符的值即可,該語句聯合兩個表查詢得到的結果是可以添加新的數據,可以把它看成將兩個具有相關內容的表聯接在一起新生成的表,而一般的select 語句沒有這個功能。  閱讀全文
          posted @ 2011-08-28 18:31 Hukin 閱讀(16240) | 評論 (0)編輯 收藏
               摘要: mysql中的where和having子句的區別

          http://hi.baidu.com/ww999/blog/item/f330c8d3073107d0a8ec9a72.htmlwwhttp://hi.baidu.com/ww999/blog/item/f330c8d3073107d0a8ec9a72.htmlmysql中的where和having子句都可以實現過濾記錄的功能,但他們的用法還是有一些區別的,看一例子:
          用group by和having子句聯合來查出不重復的記錄,sql如下:
          select uid,email,count(*) as ct from `edm_user081217` GROUP BY email
          然后看這個,就容易理解了
          select uid,email,count(*) as ct from `edm_user081217` GROUP BY email HAVING ct > 1
          先用group by 對email進行分組,在用having來過濾大于1的,這樣查找出來的就是重復的記錄了.  閱讀全文
          posted @ 2011-08-28 17:12 Hukin 閱讀(32646) | 評論 (2)編輯 收藏
               摘要: 大家都知道ArrayList和LinkedList的大致區別:

          1.ArrayList是實現了基于動態數組的數據結構,LinkedList基于鏈表的數據結構。
          2.對于隨機訪問get和set,ArrayList覺得優于LinkedList,因為LinkedList要移動指針。
          3.對于新增和刪除操作add和remove,LinedList比較占優勢,因為ArrayList要移動數據。

          ArrayList和LinkedList是兩個集合 類,用于存儲一系列的對象引用(references)。例如我們可以用ArrayList來存儲一系列的String或者Integer。那么 ArrayList和LinkedList在性能上有什么差別呢?什么時候應該用ArrayList什么時候又該用LinkedList呢?  閱讀全文
          posted @ 2011-08-25 16:37 Hukin 閱讀(263) | 評論 (0)編輯 收藏
               摘要: threadJVM
          定義:守護線程--也稱“服務線程”,在沒有用戶線程可服務時會自動離開。優先級:守護線程的優先級比較低,用于為系統中的其它對象和線程提供服務。

          設置:通過setDaemon(true)來設置線程為“守護線程”;將一個用戶線程設置為守護線程的方式是在 線程對象創建 之前 用線程對象的setDaemon方法。

          example: 垃圾回收線程就是一個經典的守護線程,當我們的程序中不再有任何運行的Thread,程序就不會再產生垃圾,垃圾回收器也就無事可做,所以當垃圾回收線程是JVM上僅剩的線程時,垃圾回收線程會自動離開。它始終在低級別的狀態中運行,用于實時監控和管理系統中的可回收資源。

          生命周期:守護進程(Daemon)是運行在后臺的一種特殊進程。它獨立于控制終端并且周期性地執行某種任務或等待處理某些發生的事件。也就是說守護線程不依賴于終端,但是依賴于系統,與系統“同生共死”。那Java的守護線程是什么樣子的呢。當JVM中所有的線程都是守護線程的時候,JVM就可以退出了;如果還有一個或以上的非守護線程則JVM不會退  閱讀全文
          posted @ 2011-08-14 16:01 Hukin 閱讀(1516) | 評論 (1)編輯 收藏
          首先,你要找到msdbg2.dll。一般就在%CommonProgramFiles%\Microsoft Shared\VS7Debug”目錄下。
          找找先,實在不行搜索吧;如果沒有直接下載一個,有的也需要執行以下操作:
          msdbg2.dll文件拷貝一份到windows/system32目錄下,然后在運行中regsvr32 msdbg2.dll,重啟vs即可。
          posted @ 2011-07-12 20:23 Hukin 閱讀(3069) | 評論 (3)編輯 收藏
               摘要: 對于SOCKET在這里我不想究其歷史,我只想說其時它是一種進程通訊的方式,簡言之就是調用這個網絡庫的一些API函數就能實現分布在不同主機的相關進程之間的數據交換.
          SOCKET中首先我們要理解如下幾個定義概念:

          一是IP地址:IP Address我想很容易理解,就是依照TCP/IP協議分配給本地主機的網絡地址,就向兩個進程要通訊,任一進程要知道通訊對方的位置,位置如何來確定,就用對方的IP

          二是端口號:用來標識本地通訊進程,方便OS提交數據.就是說進程指定了對方進程的網絡IP,但這個IP只是用來標識進程所在的主機,如何來找到運行在這個主機的這個進程呢,就用端口號.

          三是連接:指兩個進程間的通訊鏈路.

          四是半相關:網絡中用一個三元組可以在全局唯一標志一個進程:
          (協議,本地地址,本地端口號)這樣一個三元組,叫做一個半相關,它指定連接的每半部分。   閱讀全文
          posted @ 2011-06-27 10:46 Hukin 閱讀(201) | 評論 (0)編輯 收藏
          在網頁中書寫相對路徑: 使用被引用文檔或素材相對于當前頁面的相對路徑,例如,在網頁“/home/www/a/index.htm”引用素材“/home/www/a/images/a.jpg”,其相對路徑應該是“./images/a.jpg”或“images/a.jpg”。 
          在JS文件中書寫相對路徑:JS文件是指在頁面中引用的外部JavaScript文件,其中可能采用JavaScript代碼生成html代碼,由于生成的html代碼是嵌入在引用該JS文件的頁面中,因此,在描述相對路徑時,應該使用被引用的文檔或素材相對于引用JS文件的頁面之間的相對路徑。例如,文檔“/home/www/a/index.htm”中引用了JS文件“/home/www/a/js/hello.js”,而在該js中生成一段引用素材“/home/www/a/images/1.jpg”的html代碼,則在這段代碼中,其相對路徑應該是“./images/1.jpg”或“images/1.jpg”,而不能是“../images/1.jpg”。 
          在CSS文件中書寫相對路徑:CSS文件是指在頁面中引用的外部樣式定義文件,該文件通常用于定義頁面中各種html標記的顯示效果(例如文本的字體名稱、字體大小、縮進、邊距等),CSS文件中同樣可以引用外部的素材或文檔(例如設置某個DIV對象的背景圖片)。和JS文件不同,瀏覽器認為CSS文件也是一個獨立的文檔,因此,在CSS中對素材的引用可以通過計算素材文件和該CSS文件之間的相對路徑來實現,而與引用該CSS文件的頁面所在的位置無關。例如,文檔“/home/www/a/index.htm”中引用了CSS文件“/home/www/a/css/main.css”,而在該CSS中引用了素材“/home/www/a/images/1.jpg”,則在CSS中對于該素材引用的相對路徑應該是“../images/1.jpg”,而不能是“./images/1.jpg”或“images/1.jpg”。 
          在Flash中書寫相對路徑:Flash用于表現網頁中的某些動態效果,使用Flash的網頁往往更美觀,交互性更強。在Flash文件中,同樣可以引用外部的素材(例如,使用Flash制作一個精美的相冊),那么,應該如何在Flash中使用相對路徑引用外部素材呢?與JS文件類似,瀏覽器也不認為Flash文件是一個獨立的文檔,而是認為其是一個嵌入在頁面內的素材,因此,在Flash文件中引用素材時,同樣應該使用被引用的素材和嵌入Flash的html頁面之間的相對路徑。例如,文檔“/home/www/a/index.htm”中引用了Flash文件“/home/www/a/swf/main.swf”,而該Flash中引用了素材“/home/www/a/images/1.jpg”,則正確的相對路徑是“./images/1.jpg”或“images/1.jpg”,而不是“../images/1.jpg”。
          posted @ 2011-06-24 09:30 Hukin 閱讀(913) | 評論 (0)編輯 收藏
               摘要: Embed
          (一)、基本語法:
          embed src=url
          說明:embed可以用來插入各種多媒體,格式可以是 Midi、Wav、AIFF、AU、MP3等等,
          Netscape及新版的IE 都支持。url為音頻或視頻文件及其路徑,可以是相對路徑或絕對路徑。
          示例:

          (二)、屬性設置:
          1、自動播放:
          語法:autostart=true、false
          說明:該屬性規定音頻或視頻文件是否在下載完之后就自動播放。
          true:音樂文件在下載完之后自動播放;
          false:音樂文件在下載完之后不自動播放。
          示例:


          2、循環播放:  閱讀全文
          posted @ 2011-06-23 14:14 Hukin 閱讀(173) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2011-06-16 16:45 Hukin 閱讀(6755) | 評論 (0)編輯 收藏
          1.將數據庫驅動程序的JAR文件放在Tomcat的 common/lib 中;

          2.在server.xml中設置數據源,以MySQL數據庫為例,如下:
          在<GlobalNamingResources> </GlobalNamingResources>節點中加入,
                <Resource
                name="jdbc/DBPool"
                type="javax.sql.DataSource"
                password="root"
                driverClassName="com.mysql.jdbc.Driver"
                maxIdle="2"
                maxWait="5000"
                username="root"
                url="jdbc:mysql://127.0.0.1:3306/test"
                maxActive="4"/>
             屬性說明:name,數據源名稱,通常取”jdbc/XXX”的格式;
                      type,”javax.sql.DataSource”;
                      password,數據庫用戶密碼;
                      driveClassName,數據庫驅動;
                      maxIdle,最大空閑數,數據庫連接的最大空閑時間。超過空閑時間,數據庫連
                               接將被標記為不可用,然后被釋放。設為0表示無限制。
                      MaxActive,連接池的最大數據庫連接數。設為0表示無限制。
                      maxWait ,最大建立連接等待時間。如果超過此時間將接到異常。設為-1表示
                               無限制。

          3.在你的web應用程序的web.xml中設置數據源參考,如下:
            在<web-app></web-app>節點中加入,
            <resource-ref>
              <description>MySQL DB Connection Pool</description>
              <res-ref-name>jdbc/DBPool</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
              <res-sharing-scope>Shareable</res-sharing-scope>
           </resource-ref>
            子節點說明: description,描述信息;
                         res-ref-name,參考數據源名字,同上一步的屬性name;
                         res-type,資源類型,”javax.sql.DataSource”;
                         res-auth,”Container”;
                         res-sharing-scope,”Shareable”;

          4.在web應用程序的context.xml中設置數據源鏈接,如下:
            在<Context></Context>節點中加入,
            <ResourceLink
             name="jdbc/DBPool" 
             type="javax.sql.DataSource" 
             global="jdbc/DBPool"/>
             屬性說明:name,同第2步和第3步的屬性name值,和子節點res-ref-name值;
                       type,同樣取”javax.sql.DataSource”;
                       global,同name值。
           
          至此,設置完成,下面是如何使用數據庫連接池。
          1.建立一個連接池類,DBPool.java,用來創建連接池,代碼如下:
          import javax.naming.Context;
          import javax.naming.InitialContext;
          import javax.naming.NamingException;
          import javax.sql.DataSource;

          public class DBPool {
              private static DataSource pool;
              static {
                   Context env = null;
                    try {
                        env = (Context) new InitialContext().lookup("java:comp/env");
                        pool = (DataSource)env.lookup("jdbc/DBPool");
                        if(pool==null) 
                            System.err.println("'DBPool' is an unknown DataSource");
                         } catch(NamingException ne) {
                            ne.printStackTrace();
                    }
                }
              public static DataSource getPool() {
                  return pool;
              }
          }

          2.在要用到數據庫操作的類或jsp頁面中,用DBPool.getPool().getConnection(),獲得一個Connection對象,就可以進行數據庫操作,最后別忘了對Connection對象調用close()方法,注意:這里不會關閉這個Connection,而是將這個Connection放回數據庫連接池。
          posted @ 2011-06-14 15:06 Hukin 閱讀(171) | 評論 (0)編輯 收藏
          郁悶!為了在MyEclipse配置Tomcat 服務器,竟然弄了我幾乎一個上午,也沒弄成功,最后才注意到本該早注意到Tomcat 5.x還有個JDK這個東東,才成功了。一上午辛辛苦苦也沒解決就是因為沒注意到他害的,其實配置是很簡單的。下面是其步驟:
            一、單擊工具欄的的黑小三角或者單擊 菜單欄窗口—>首選項,出現首選項對話框,在對話框的左邊框中找到MyEclipse—>Application Servers下找到Tomcat選項,如下圖,
          二、根據自己的Tomcat版本選擇相應的Tomcat選項(我的是5.0版本),然后在對話框右側的Tomcat home directory選項選擇Tomcat的安裝目錄,下面的Tomcat base directory和Tomcat temp directory系統會自動為你填上,Optional  program arguments可以不用填,我也不知道這是做什么用的,再選上Enable選項,要不然在待會兒在Server中看不到Tomcat服務器
          三、千萬別忘了Tomcat 選項下面的JDK,我就是因為沒注意到它才一直不成功,單擊JDK,彈出如下對話框,
          Notes會提示你怎么做,
          四、點擊Tomcat JDK name旁的"Add",彈出如下對話框:
          JRE名稱(N)選項填上名字(可以隨便取),在JRE主目錄選項選擇你的jdk安裝目錄(僅僅只是jdk,不包含jre),JRE系統庫系統會自動添加,缺省JVM參數可以不用填,按“確定”回到上級再按“確定”就OK了。
          如果你配置的不對的話會彈出出錯提示對話框
          就是Notes提示的第一條。
          五、回到MyEclipse主界面,在Server下多了個Tomcat選項,右鍵單擊Tomcat,選擇Mannage Deployment(如果你不配置的話等一下你是運行不了項目的),彈出Srever Deployments對話框,在Server選項上選擇你剛剛配置的Tomcat服務,點擊"Add",彈出New Deployment對話框,
          在Project上選擇你要運行的項目,單擊“完成”返回上一級按“確定”就可以了。
            最后啟動Tomcat服務器,在Web Browser輸入地址,到這里就大功告成了。
          是不是發現原來很簡單呢!
          提醒一下,在New Deployment對話框中的Packaged Archive選項是把項目打包成.war形式運行的。
            剛開始是因為MyEclipse自帶的Derby不會用,才去配置Tomcat的,等Tomcat配置成功后,也就明白怎么用Derby了,其實很簡單,配置都不用你去配,系統已經幫你配好了,你只要啟動它就行了。
          只是感覺MyEclipse這方面沒Lomboz—Elipse那么方便,只要在想要執行的jsp文件上選擇“Run on Server”就行了,在MyEclipse下不行
          posted @ 2011-06-14 14:49 Hukin 閱讀(315) | 評論 (0)編輯 收藏

          比如:在網上書店應用中,從一個客戶開始購物,到最后結賬,整個過程是一個Session.
          Servlet API中定義了javax.servlet.http.HttpSession接口,Servlet容器必須實現這一接口。當一個Session開始時,Servlet容器將創建一個HttpSession對象,在HttpSession對象中可以存放客戶狀態的信息。Servelt容器為HttpSession分配一個唯一標識符,稱為Session ID.Servlet容器把Session ID作為Cookie保存在客戶的瀏覽器中。每次客戶發出HTTP請求時,Servlet容器可以從HttpRequest對象中讀取Session ID,然后根據SessionID找到相應的HttpSession對象,從而獲取客戶的狀態信息。
          HttpSession接口中的方法:
          getId():返回Session的ID;
          invalidate():使當前的Session失效,Servlet容器會釋放HttpSession對象占用的資源。
          setAttribute(String name,Object value):將一對name/Value屬性保存在HttpSession對象中
          getAttribut(String name):根據name參數返回保存在HttpSession對象的屬性值。
          getAttributeNames():以數組的方式HttpSession對象中所有的屬性名。
          isNew():判斷是否是新創建的Session,如果是新創建的Session,返回true,否則返回false
          setMaxInactiveInterval():設定一個Session可以處于不活動狀態的最大時間間隔,以秒為單位。如果超過這個時間。Session自動失效,如果設置為負數,表示不限制Session付出與不活動狀態的時間。
          getMaxInactiveInterval()讀取當前Sessions可以處于不活動狀態的最大時間間隔。
          在Java Servlet API中提出了跟蹤Session的另一種機制,如果客戶瀏覽器不支持Cookie,Servlet容器可以重寫客戶請求的URL,吧Session ID添加到URL信息中。
          HttpServletResponse接口提供了重寫URL的方法:
          public java.lang.String encodeURL(java.lang.String url)
          該方法的實現機制為:
          先判斷當前的Web組件是否啟用Session,如果沒有啟用Session,例如在JSP中聲明
          <%@ page session="false"%>或者已經執行了session.invalidate()方法,那么直接返回參數URL
          再判斷客戶瀏覽器是否支持Cookie,如果支持Cookie,就直接返回參數URL;如果不支持,就在參數URL中加入Session ID信息,然后返回修改后的URL.

          String username1 = "";  (username1 為自定義的字段,從數據庫中取出值后放到里面)
          request.getSession().setAttribute("username",username1);            
           從request里得到session在把值傳進去,不過這種方法可以將從數據庫里取得的數據用session顯示于頁面,但當在頁面點擊按鈕產生別的action的時候,取出來顯示在頁面的數據就都沒了,原來是request的生命周期是一個請求,當另外一個請求發生時,原來action中的request的值沒重置了,也就是說原來的數據都沒了,所以在頁面也不會顯示.這時候要將原來action中的request.getSession().setAttribute("username",username1);  
          改為HttpSession session = request.getSession();   session.setAttribute("username",username1);這時候傳到頁面的生命周期就是一個會話,即使你在頁面有別的請求,但session中的值依然存在.

          posted @ 2011-06-14 10:40 Hukin 閱讀(378) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 绥棱县| 灵川县| 大厂| 辽宁省| 保山市| 肇州县| 桃江县| 扶余县| 错那县| 福建省| 渝北区| 扎赉特旗| 沙坪坝区| 定结县| 自治县| 友谊县| 邵武市| 四平市| 呼玛县| 都兰县| 雷州市| 昌邑市| 阿克苏市| 东乌| 胶南市| 高雄县| 嵩明县| 南靖县| 黄平县| 绍兴市| 奇台县| 东阿县| 大厂| 扬州市| 年辖:市辖区| 千阳县| 江阴市| 开封县| 平塘县| 平罗县| 潼关县|