Time of Update: 2018-07-27
今天運行一個其他組開發的jar包,這個jar包由於運行參數是通過命令列的方式輸入的,所以需要運行一個shell指令碼來啟動。 啟動指令碼類似這樣: #!/bin/bashjdbc_driverClassName=com.mysql.jdbc.Driverjdbc_url=jdbc:mysql://XX/XX?characterEncoding=UTF-8jdbc_username=XXjdbc_password=XXjava -jar xx.jar
Time of Update: 2018-07-27
1. JQuery選取器 用於選取頁面上的元素對象。JQuery選取器完全繼承了css選取器的方式 JQuery選取器是學習JQuery的基礎 Dom中如何擷取頁面中的元素對象。 --三種方式
Time of Update: 2018-07-27
1. LinkedHashSet概述: LinkedHashSet是具有可預知迭代順序的Set介面的雜湊表和連結清單實現。此實現與HashSet的不同之處在於,後者維護著一個運行於所有條目的雙重連結清單。此連結清單定義了迭代順序,該迭代順序可為插入順序或是訪問順序。 注意,此實現不是同步的。如果多個線程同時訪問連結的雜湊Set,而其中至少一個線程修改了該Set,則它必須保持外部同步。
Time of Update: 2018-07-27
《Java網路編程》第三章線程講使用回調的方法從線程中返回資訊給對象。例如,如果有多個對象對線程的計算結果感興趣,那麼線程可以儲存一個要回調的對象列表。特定的對象可以通過調用線程類的一個方法把自己添加到這個列表中來完成註冊,表示自己對計算結果高度興趣。如果有多個類的執行個體對結果感興趣,可以定義一個新的Observer interface (介面),所有這些類都要實現這個新介面。這個Observer interface(介面)將聲明回調方法。以上是觀察者模式的典型應用情境。
Time of Update: 2018-07-27
系統情境:系統依賴多個資料庫。其中一台資料庫伺服器運行ORACLE,同時還有數台機器上跑著ObjectServer記憶體資料庫。由於到部署時才能確定從機的數量,因此需要動態建立串連池 方案:Oracle資料庫用c3p0來管理串連池。另外寫一個連線管理員來動態建立記憶體資料庫連接池 代碼:經過簡化,只貼出關鍵代碼,去掉日誌、異常處理、null檢查等 // ObejctServer串連池,系統中域的數量與該類執行個體一一對應 public class
Time of Update: 2018-07-27
轉載請寫明來源地址:http://blog.csdn.net/lastsweetop/article/details/56285838 理解Components 在AngularJS中,Component是一種特殊的directive,它的配置更簡單一些,非常適合組件化的app架構。使用web組件和使用Angular風格的app架構使得編寫app更為簡便。 Component的優點: 比普通directive要簡單很多 更加嚴謹,更加正常化
Time of Update: 2018-07-27
在web項目中,Java訪問資料庫採用的是多使用者操作,需要頻繁串連資料庫,一種方法是來一個請求給一個操作對象,這種方法想法簡單,但存在巨大隱患,如果訪問量特別的大,資料庫連接對象過多,可能導致奔潰。好的方法是,採用資料庫連接時統一管理,包括資料庫連接對象的個數限制以及使用後回收。
Time of Update: 2018-07-27
<!-- 配置資料來源 --> <!-- 載入資料庫的設定檔jdbc.properties 詳解在最後 --> <context:property-placeholder location="classpath:jdbc.properties" /> <bean id="dataSource"
Time of Update: 2018-07-27
從http://dbeaver.jkiss.org/下載了一個DBeaver1.4版,該軟體完全免費,功能與DBVisualizer相比,稍差一些,但是簡單易用,運行效率似乎要高一些。這裡以Sybase ASA, Sybase ASE, MySQL為例,介紹一下它的簡單配置和使用。 1. 下載http://dbeaver.jkiss.org/ DBeaver1.4
Time of Update: 2018-07-27
主要採用的方法是:先不斷通過移位操作找到divisor最接近dividend的倍數,如被除數是100,除數是3的話,這個倍數就是32。 然後用100減去3的32倍,這裡的32倍是通過左移產生,並沒有用到乘法。 這時,再用一個迴圈找到3的多少倍最接近於100和它32倍的差,即找到最接近於4的倍數,通過不斷試探16倍,8倍,4倍。。。(通過右移),結果是1倍,為3。 再重複做差的動作,去找最接近1的3的倍數,當然是0倍。最後當做差的值小於3的一倍時,迴圈退出。
Time of Update: 2018-07-27
HttpServletRequest類有getParameter(),getAttribute(),setAttribute()等方法,沒有setParameter()方法 getParameter()用來去post或者get提交表單時候,獲得表單裡的資料,或者是url上的參數 當Web組件為連結關係時(我認為這裡是指web重新導向),被連結的web組件通過getParameter()方法來獲得參數 我們加入在b.jsp中有以下代碼: <!-- b.jsp中 -->&
Time of Update: 2018-07-27
上次我們說了一下多線程的管理,今天我們來看一下多線程的鎖。 1、不同的加鎖方式 類鎖 在代碼中的方法上加了static和synchronized的鎖,或者synchronized(xxx.class)的程式碼片段 對象鎖
Time of Update: 2018-07-27
如果兩個操作訪問同一個變數,且這兩個操作中有一個為寫操作,此時這兩個操作之間就存在資料依賴性。資料依賴分為下列3種類型,如表3-4所示。 上面3種情況,只要重排序兩個操作的執行順序,程式的執行結果就會被改變。 前面提到過,編譯器和處理器可能會對操作做重排序。編譯器和處理器在重排序時,會遵守資料依賴性,編譯器和處理器不會改變存在資料依賴關係的兩個操作的執行順序。
Time of Update: 2018-07-27
原文地址:http://www.html-js.com/article/1538 (前端亂燉) 射線法是一種很簡單直觀的判斷平面內點是否在多邊形內的方法。除了射線法還有很多其他的方法,今天就再介紹一種通過迴轉數來判斷的方法。 平面中的閉合曲線關於一個點的迴轉數(又叫卷繞數),代表了曲線繞過該點的總次數。下面這張圖動態示範了迴轉數的概念:圖中紅色曲線關於點(人所在位置)的迴轉數為 2。
Time of Update: 2018-07-27
(一)類載入機制與反射 Java類載入器除了根類載入器之外,其他類載入器都是使用Java語言編寫的,所以程式員完全可以開發自己的類載入器,通過使用自訂類載入器,可以完成一些特定的功能。 (二)類的載入、串連和初始化 系統可能在第一次使用某個類時載入該類,也可能採用預先載入機制來載入某個類。 1. JVM和類 當我們調用Java命令運行某個Java程式時,該命令將會啟動一個Java虛擬機器進程,不管該Java程式有多麼複雜,
Time of Update: 2018-07-27
使用註解實現Spring的聲明式交易管理,更加簡單。 步驟: 1) 必須引入Aop相關的jar檔案 2) bean.xml中指定註解方式實現聲明式交易管理以及應用的交易管理員類
Time of Update: 2018-07-27
DBCP、C3P0、Proxool 、 BoneCP等開來源資料庫串連池基本簡介 簡介 使用評價 項目首頁 DBCP DBCP是一個依賴Jakarta commons-pool對象池機制的資料庫連接池.DBCP可以直接的在應用程式用使用
Time of Update: 2018-07-27
重新導向 什麼是重新導向 伺服器通知瀏覽器向一個新的地址發送請求 註: 可以發送一個302狀態代碼和一個location訊息頭 該訊息頭包含了一個地址。這個地址稱為重新導向地址。瀏覽器收到之後,會立即向重新導向地址發請求 2、如何重新導向 response.sendRedirect(String url); 註: url就是重新導向地址。 重新導向之後,容器會清空response對象中儲存的資料 3、特點 重新導向地址是任意的。
Time of Update: 2018-07-27
需求:假設一個線程(JarThread)正在從網路連接(用System.in類比)中讀取一個JAR歸檔檔案。這個歸檔檔案中第一項是資訊清單檔(用‘/’標識結束)。另一個線程(MainThread)可能對這個資訊清單檔的內容感興趣,即使歸檔檔案的其餘部分尚不可用。對資訊清單檔感興趣的線程會建立一個定製的ManifestFile對象,將這個對象的引用傳遞給將要讀取JAR歸檔檔案的線程,並等待這個對象。讀取歸檔檔案的線程首先用流中的項填寫ManifestFile,然後通知ManifestFile,再繼
Time of Update: 2018-07-27
jQuery.extend = jQuery.fn.extend = function() {var options, name, src, copy, copyIsArray, clone,target = arguments[0] || {},i = 1,length = arguments.length,deep = false;// Handle a deep copy situationif ( typeof target === "boolean" )