Time of Update: 2018-12-03
背景隨著應用系統功能的不斷新增,而某些功能的實現對即時性要求並不是那麼高,但是邏輯卻很複雜、執行比較耗時,比如涉及外部系統調用、多資料來源等等;此時,我們就希望可以讓這些複雜的商務邏輯放在後台執行,而前台與使用者的互動可以不用等待,從而提高使用者體驗;另外,從系統架構這個層面來說,我們也希望按照不同功能來拆分,以保持各個系統之間的低耦合,當一個系統出現問題時不會影響到其他系統,並且對於獨立的各個系統,我們可以專門進行效能最佳化、監控等;所以我們需要通用、高效的非同步任務處理系統;設計目標打造輕量
Time of Update: 2018-12-03
以前都是用公司現成的架構開發一些項目,但最近自己利用Struts+Spring+hibernate開發項目的時候才發現自己會的技術太少了,真是問題多多啊,革命尚未成功,同志還需努力。。。。 剛開始的時候,將JSP頁面利用<%@page
Time of Update: 2018-12-03
隨著這個世界越來越依賴我們的實踐,作為電腦行業的從業人員,對電腦行業的 science實在有必要給與應有的尊重。行動的第一步,就是閱讀一些經典的著作,掌握前人/前輩/行業大家們總結出來的知識和行之有效實踐,在日常實踐中使用這些知識和實踐,成為一個更好的開發人員。他將這些著作分成五大類:基本讀物(Foundational Texts)(每個開發人員都應該讀的,沒有例外,不管什麼經驗或平台。這些讀物注重討論如何編寫更好,可維護的代碼,向堅實的物件導向設計過渡)Code Complete, 2nd
Time of Update: 2018-12-03
RMI技術比較socket的網路編程主要有以下幾個方面: 第一、.RMI是物件導向的,而後者不是。 第二、.RMI是與語言相綁定的。比如當你使用JavaRMI技術的時候,用戶端與伺服器端都必須使用Java開發。而socket的網路編程是使用獨立於開發語言的,甚至獨立於平台。基於socket的網路編程,用戶端與伺服器端可以使用不同開發語言和不同的平台。 第三、從網路通訊協定棧的觀點來看,RMI與socket的網路編程處於不同層次上。基於socket的網路編程位於TCP協議之上,而
Time of Update: 2018-12-03
多線程切換開銷帶來的多線程程式的低效性,這促使我們認真地思考一個問題:我們是否需要多線程?何時需要多線程? 多線程的核心在於多個代碼塊並發執行,本質特點在於各代碼塊之間的代碼是亂序執行的。我們的程式是否需要多線程,就是要看這是否也是它的內在特點。 假如我們的程式根本不要求多個代碼塊並發執行,那自然不需要使用多線程;假如我們的程式雖然要求多個代碼塊並發執行,但是卻不要求亂序,則我們完全可以用一個迴圈來簡單高效地實現,也不需要使用多線程;只有當它完全符合多線程的特點時,多線程機制對線程
Time of Update: 2018-12-03
SOA是一種應用程式框架,它著眼於日常的業務應用,並將它們劃分為單獨的業務功能和流程,即所謂的服務。它使使用者可以構建、部署和整合這些服務,且無需依賴應用程式及其運行計算平台,從而提高商務程序的靈活性。這種業務靈活性可使企業加快發展速度,降低總體擁有成本,改善對及時、準確資訊的訪問。SOA有助於實現更多的資產重用、更輕鬆的管理和更快的開發與部署,在當今的業務環境中,變化是毫無疑問的,因此快速響應客戶需求、市場機遇和外部威脅的敏捷性,輕鬆應對企業商務服務變化、發展的需要比以往任何時候都更顯重
Time of Update: 2018-12-03
Time of Update: 2018-12-03
一周前,筆者分享過一篇文章《seo診斷:透過Log日誌找到網站死結》,並在最後附上了兩條改善建議。由於客觀條件所限,最後採用robots 屏蔽的方法。先一起來看看一周后的蜘蛛變化,三大主流蜘蛛總抓取量銳減,證明robots檔案開始生效。從圖上的訪問次數、總停留時間和總抓取量看,有所進步但路還很遠。 然而,從11號開始,網站LOG日誌開始出現眾多中文非主流蜘蛛訪問,其中不乏知名俄羅斯搜尋引擎蜘蛛Yandexbot,還有不明“飛行物”AhrefsBot &
Time of Update: 2018-12-03
P7把主要精力集中於構建活動,可以大大提高程式員的生產率。在最近的一個項目中,對於這一點,我是深有體會。我們花了很長的時間做設計,結果接下來的許多工作都在愉快的心情下完成。我覺得P28的那個食物鏈的例子更有說服力,健康的生態環境中,海鷗吃新鮮的鮭魚,鮭魚吃新鮮的青魚,青魚吃新鮮的水蝽。這是一條健康的食物鏈。如果環境被汙染了,水蝽在汙染的水域遊泳,那麼海鷗,食物鏈的最後一環吃下的不僅僅是是不健康的鮭魚體內的垃圾,還有青魚,水蝽體內的汙染物。軟體開發中,架構師吃掉需求,設計師吃掉架構,程式員,軟體食
Time of Update: 2018-12-03
前言:好久沒有系統性的看過書了,早就聽說《POJOsinAction》是本好書,可惜自己一直不能靜下心來學習,此次在部落格上記錄我的學習筆記原因有兩點,第一是想通過部落格來監督我把這本書讀完,其二是覺得自己總是在互連網上“剽竊”人家的學習成果,而自己從來都沒有為大家貢獻自己的成果,實在是有點內疚,希望我的學習筆記對大家有所協助。系統設計時需要考慮的五大因素:1、如何組織商務邏輯2、如何封裝商務邏輯,以及暴露給展示層及其他客戶程式調用的介面3、如何訪問資料庫4、如何處理短事務中的並發5、如何處理長
Time of Update: 2018-12-03
Hibernate主鍵產生器的可選項說明:1)Assigned 主鍵由外部程式負責產生,無需Hibernate參與。2) hilo 通過hi/lo演算法實現的主鍵產生機制,需要額外的資料庫表儲存主鍵產生曆史狀態。3) seqhilo 與hilo類似,通過hi/lo演算法實現的主鍵產生機制,只是主鍵曆史狀態儲存在Sequence中,適用於支援Sequence的資料庫,如Oracle。4)
Time of Update: 2018-12-03
spring提供的單元測試是強大的,spring的單元測試很簡單,封裝的很好。我們要用spring的單元測試測試我們寫的add,delete等方法時候需要spring提供的一個額外包spring-mock.jar,我已經傳上來了。你只要熟悉單元測試,編寫一個測試案例,然後把繼承改為org.springframework.test.AbstractTransactionalDataSourceSpringContextTests就可以了,此時編譯器會提示你要實現public String[] g
Time of Update: 2018-12-03
相關讀書筆記、心得文章列表 很多人搞不清楚catch和finally執行順序,有人會說,當然是先catch後finally,沒錯,是的這樣的,但當catch和finally中都有return語句的時候,他們的執行順序又該是怎麼樣的呢?在這樣的情況下我們可以這樣理解,catch會把它return的對象先儲存在一個棧中,如果finally中也有return語句,就將該對象入棧,當finally語句執行完畢之後,就取棧頂的對象返回,可以來看幾個點單的例子:public int test1(
Time of Update: 2018-12-03
前面一篇文檔《中文化和國際化問題權威解析之五:URL編碼/Misc》主要是從服務端、瀏覽器兩個角度來看待URL編碼;除此之外,我們還可能在用戶端執行一些js指令碼來進行URL編碼,與此相關的最主要的三個js function為:escape():採用ISO Latin字元集對指定的字串進行編碼。所有的空格符、標點符號、特殊字元以及其他非ASCII字元都將被轉化成%xx格式的字元編碼(xx等於該字元在字元集表裡面的編碼的16進位數字)。比如,空格符對應的編碼是%20。unescape方法與此相反。
Time of Update: 2018-12-03
1.首先String不屬於8種基礎資料型別 (Elementary Data Type),String是一個對象。 因為對象的預設值是null,所以String的預設值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性。 2. new String()和newString(“”)都是申明一個新的Null 字元串,是空串不是null; 3. String str=”kvill”; String str=new String
Time of Update: 2018-12-03
相關讀書筆記、心得文章列表25 Scripts for Dropdown Navigation MenusNavigation menus are important to any website. Well designed navigation can improve the look and appearance of a site as well as the usability. For larger sites with a lot of content or pages,
Time of Update: 2018-12-03
web頁面列印: 簡單的網頁列印可以直接使用window.print()方法實現,但此功能比較弱,涉及比較複雜的列印時,可以利用JS實現的列印功能,直接調用JS相應的介面,可以很容易的實現預覽列印、列印設定等功能。一個完整的JSP代碼如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TIT
Time of Update: 2018-12-03
這個看似高深的東東,其實很簡單,只要在HTML上添加以上代碼就OK了,前提是你的電腦上已經安裝了播放器,如RealPlay。<embed src="F:/mp3/10.19/白色戀人.mp3(音樂的地址)" width="480" height="100" loop="false" autostart="false"></embed>
Time of Update: 2018-12-03
將所傳的DIV或者table輸出(拷貝)到word文檔。代碼如下:<HTML> <HEAD> <title> </title> </HEAD> <body> <form id="form"> <table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" > <TR style="t
Time of Update: 2018-12-03
可能大家都對IE環境下訪問HTTPS網站的一些安全警告有過接觸,比如HTTP和HTTPS之間的互相跳轉會彈出警告……;但是這並不是全部,IE環境下訪問HTTPS網站還有很多類型的安全警告,下面將一一道來;以後如果大家遇到此類提醒也可以知道是怎麼回事,對解決一些使用者的疑問也會有所協助;第1類:進入或離開安全頁面 這裡說的安全頁面就是通過HTTPS進行訪問的頁面;這類型的警告是最常見的; 該類型的警告可以被關閉,勾選《以後不再顯示該警告》即可,對應於