ZeroBlue

          留出時間,讓自己微笑。
          posts - 6, comments - 12, trackbacks - 0, articles - 0
             :: 首頁 ::  :: 聯系 ::  :: 管理

          2006年8月31日

          數據庫鎖的概念,類型,排鎖語句:
          鎖是數據庫中的一個非常重要的概念,它主要用于多用戶環境下保證數據庫完整性和一致性。 我們知道,多個用戶能夠同時操縱同一個數據庫中的數據,會發生數據不一致現象。即如果沒有鎖定且多個用戶同時訪問一個數據庫,則當他們的事務同時使用相同的數據時可能會發生問題。這些問題包括:丟失更新、臟讀、不可重復讀和幻覺讀。

          找出表A中M字段大于500,Y(日期)早于當前數據庫一天,X字段取值不重復的記錄:
          select * from A where x in
          (select x from A group by x having count(x)=1)
          and m >500 and y < getdate()-1;

          從表A中統計X字段的不同取值數并只把記錄數多于5的找出:
          select * from A where x in (select x from A group by x having count(x)>5)

          設表B結構與表A相同,將B中n字段值大于500的記錄插入A
          insert into?A select * from?B where n>500


          對表A,建立和刪除M,N字段聯合唯一索引:
          CREATE UNIQUE? INDEX myclumn_index ON A(x,y)
          DROP INDEX A.myclumn_index?
          ?注意:當你的內存容量或硬盤空間不足時,也許你不想給一個表增加索引。對于包含索引的數據庫,SQL Sever需要一個可觀的額外空間。例如,要建立一個聚簇索引,需要大約1.2倍于數據大小的空間。要看一看一個表的索引在數據庫中所占的空間大小,你可以使用系統存儲過程sp_spaceused,對象名指定為被索引的表名。

          posted @ 2007-03-01 20:32 zeroblue 閱讀(261) | 評論 (0)編輯 收藏

          節選自《程序員》2006年第9期《茶杯里的風暴》一文,作者:金尹。如下:
            P2P網絡向傳統應用的滲透,將對Ruby、Python這些新興的編程語言提出巨大的挑戰。首先在P2P網絡中單個運算節點上的程序并不需要像Web服務那樣保持24×7穩定,也不需要支持大容量并發計算。Ruby、Python這些語言的快速開發優勢得以顯著地體現,他們將是未來桌面的主力開發語言。其次,為了共享P2P覆蓋網上分散的計算資源,分布式計算所需的容錯能力、分布式存儲格式、算法、支持庫乃至語言級別的支持都納入到新語言的規劃當中;最后,到我們的計算機上出現越來越多的客戶端小程序時,為每一個程序開啟一個龐大的虛擬機將是一個非常糟糕的辦法,那么在共享虛擬機上,我們如何提供對多核的支持?而這些多核的虛擬機特性又如何從語言層面、支持庫層面展現給開發者,同時又不失去語言的簡潔特性?這些都是我們不能回避的話題!
            AJAX、Ruby竄紅并非是一場茶杯里的風暴,而是巨大冰山的一角。無論是服務端還是客戶端,并行/分布式計算的巨大需求都向編程語言提出嚴峻的挑戰。然而目前大多數的編程語言設計之初并不關注并行/分布式計算,這些語言中的許多經典特性(比如OO)在并行/分布式計算上變成了捆住程序員的鎖鏈。工欲善其事,必先利其器。在并行/分布式計算領域中我們必須拋棄原有的經驗、習慣、以一種新的思維面對新的世界。

            再回過頭來看看下面這篇文章:
          ?????????http://www.cnblogs.com/sharenet/archive/2006/05/18/403517.aspx

          posted @ 2006-09-01 14:49 zeroblue 閱讀(1607) | 評論 (7)編輯 收藏

          Step 1:配置web.xml
          <?xml?version="1.0"?encoding="UTF-8"?>
          <web-app?version="2.4"?xmlns="http://java.sun.com/xml/ns/j2ee"
          ????xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
          ????xsi:schemaLocation
          ="http://java.sun.com/xml/ns/j2ee?
          ????http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          >

          ????
          <display-name>springapp</display-name>
          ????????
          ????
          <servlet>
          ????????
          <servlet-name>springMVC</servlet-name>
          ????????
          <servlet-class>
          ????????????org.springframework.web.servlet.DispatcherServlet
          ????????
          </servlet-class>
          ????????
          <load-on-startup>1</load-on-startup>
          ????
          </servlet>

          ????
          <servlet-mapping>
          ????????
          <servlet-name>springMVC</servlet-name>
          ????????
          <url-pattern>/page/*</url-pattern>
          ????
          </servlet-mapping>

          </web-app>
          servlet-mapping定義所有以/page/開頭的url請求都會被spring 的DispatcherServlet處理轉發。默認情況下DispatcherServlet會讀取<servlet-name>-servlet.xml文件的配置信息初始化,該文件中urlMapping的定義決定當前請求轉發給哪個controller來處理。

          Step2:定義/WEB-INF/springMVC-servlet.xml
          ?
          <?xml?version="1.0"?encoding="UTF-8"?>
          <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">

          <beans>
          ????
          <!--?方法名解析器?-->
          ????
          <bean?id="InternalPathMethodNameResolver"
          ????????class
          ="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver"?/>
          ????????
          ????
          <!--?視圖解析器?-->
          ????
          <bean?id="viewResolver"
          ????????class
          ="org.springframework.web.servlet.view.InternalResourceViewResolver">
          ????????
          <property?name="viewClass">
          ????????????
          <value>org.springframework.web.servlet.view.JstlView</value>
          ????????
          </property>
          ????
          </bean>
          ????
          ????
          <bean?id="controller"?class="com.controller.IndexController">
          ????????
          <property?name="methodNameResolver">
          ????????????
          <ref?bean="InternalPathMethodNameResolver"?/>
          ????????
          </property>
          ????
          </bean>

          ????
          <bean?id="urlMapping"
          ????????class
          ="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
          ????????
          <property?name="mappings">
          ????????????
          <props>
          ????????????????
          <prop?key="/controller/*">controller</prop>
          ????????????
          </props>
          ????????
          </property>
          ????
          </bean>
          </beans>
          urlMapping定義/controller/開頭的url請求由名字為controller的控制器來處理,因為是多動作處理器,所以要定義MethodNameResolver來告訴springMVC應該調用controller的哪個方法,這里用的是InternalPathMethodNameResolver,該方法名解釋器會把整個URL中最后一個"/"和最后一個"."之間的部分作為要調用的方法名。

          Step3:定義controller類并繼承MultiActionController?
          package?com.controller;

          import?java.io.IOException;
          import?java.util.HashMap;
          import?java.util.Map;

          import?javax.servlet.ServletException;
          import?javax.servlet.http.HttpServletRequest;
          import?javax.servlet.http.HttpServletResponse;

          import?org.springframework.web.servlet.ModelAndView;
          import?org.springframework.web.servlet.mvc.multiaction.MultiActionController;

          public?class?IndexController?extends?MultiActionController?{
          ????
          ????
          public?ModelAndView?method1(HttpServletRequest?request,
          ????????????HttpServletResponse?respnose)?
          throws?ServletException,?IOException?{
          ????????Map?model?
          =?new?HashMap();
          ????????model.put(
          "message",?"你調用的是方法1");
          ????????
          return?new?ModelAndView("/index.jsp",?"model",?model);
          ????}

          ????
          ????
          public?ModelAndView?method2(HttpServletRequest?request,
          ????????????HttpServletResponse?respnose)?
          throws?ServletException,?IOException?{
          ????????Map?model?
          =?new?HashMap();
          ????????model.put(
          "message",?"你調用的是方法2");
          ????????
          return?new?ModelAndView("/index.jsp",?"model",?model);
          ????}

          }


          通過配置文件,訪問上面這個controller中某個方法的url即為:localhost:8080/page/controller/方法名


          Step4:/index.jsp
          <%@?page?language="java"?pageEncoding="UTF-8"%>
          <%@?taglib?prefix="c"?uri="http://java.sun.com/jstl/core_rt"?%>
          <%@?taglib?prefix="fmt"?uri="http://java.sun.com/jstl/fmt"%>?


          <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">

          <html>
          <head></head>??
          <body>

          ????
          <c:out?value="${model.message}"/>
          </body>
          </html>
          因為InternalPathMethodNameResolver方法名解釋器會把整個URL中最后一個"/"和最后一個"."之間的部分作為要調用的方法名,所以你可以在這個URL后面加任意文件格式的后綴,比如:
          localhost:8080/page/controller/method1.jsp

          localhost:8080/page/controller/method2.html
          很爽吧,和真實的URL地址一樣。


          另:開發環境:MyEclipse5.0M2+tomcat5.5
            需要用到spring.jar和jstl.jar兩個包。

          附:源代碼下載

          posted @ 2006-08-31 13:39 zeroblue 閱讀(10053) | 評論 (3)編輯 收藏

          主站蜘蛛池模板: 卓资县| 肥城市| 芦山县| 宕昌县| 揭东县| 香港 | 淄博市| 夏邑县| 黄浦区| 大理市| 准格尔旗| 姜堰市| 宾阳县| 资中县| 明星| 五大连池市| 古丈县| 乐业县| 万州区| 同德县| 日喀则市| 洛南县| 富宁县| 竹山县| 连城县| 大洼县| 和田市| 独山县| 长葛市| 庐江县| 泾阳县| 吉安市| 和田县| 安溪县| 潮州市| 民勤县| 桐乡市| 神农架林区| 子洲县| 托克托县| 柘荣县|