Time of Update: 2018-12-03
TCP是一個連線導向的協議,所以在串連雙方發送資料之前,都需要首先建立一條串連。這和前面講到的協議完全不同。前面講的所有協議都只是發送資料而已,大多數都不關心發送的資料是不是送到,UDP尤其明顯,從編程的角度來說,UDP編程也要簡單的多----UDP都不用考慮資料分區。書中用telnet登陸退出來解釋TCP協議串連的建立和中止的過程,可以看到,TCP串連的建立可以簡單的稱為三向交握,而串連的中止則可以叫做四次握手。1.串連的建立在建立串連的時候,用戶端首先向伺服器申請開啟某一個連接埠(用SYN段
Time of Update: 2018-12-03
目前建立在TCP協議上的網路通訊協定特別多,有telnet,ssh,有ftp,有http等等。這些協議又可以根據資料輸送量來大致分成兩大類:(1)互動資料類型,例如telnet,ssh,這種類型的協議在大多數情況下只是做小流量的資料交換,比如說按一下鍵盤,回顯一些文字等等。(2)資料成塊類型,例如ftp,這種類型的協議要求TCP能盡量的運載資料,把資料的輸送量做到最大,並儘可能的提高效率。針對這兩種情況,TCP給出了兩種不同的策略來進行資料轉送。1.TCP的互動資料流對於互動性要求比較高的應用,
Time of Update: 2018-12-03
逾時重傳是TCP協議保證資料可靠性的另一個重要機制,其原理是在發送某一個資料以後就開啟一個計時器,在一定時間內如果沒有得到發送的資料報的ACK報文,那麼就重新發送資料,直到發送成功為止。1.逾時逾時時間的計算是逾時的核心部分,TCP要求這個演算法能大致估計出當前的網路狀況,雖然這確實很困難。要求精確的原因有兩個:(1)定時間長度久會造成網路利用率不高。(2)定時太短會造成多次重傳,使得網路阻塞。所以,書中給出了一套經驗公式,和其他的保證計時器準確的措施。1.1.遞推公式概說最早的TCP曾經用了一
Time of Update: 2018-12-03
TCP一共有四個主要的定時器,前面已經講到了一個--逾時定時器--是TCP裡面最複雜的一個,另外的三個是:堅持定時器保活定時器2MSL定時器其中堅持定時器用於防止通告視窗為0以後雙方互相等待死結的情況;而保活定時器則用於處理半開放串連1.堅持定時器堅持定時器的原理是簡單的,當TCP伺服器收到了用戶端的0滑動視窗報文的時候,就啟動一個定時器來計時,並在定時器溢出的時候向向用戶端查詢時段是否已經增大,如果得到非零的視窗就重新開始發送資料,如果得到0視窗就再開一個新的定時器準備下一次查詢。通過觀察可以
Time of Update: 2018-12-03
模式重構(Pattern refactoring) 這一章我們會專註於通過逐步演化的方式應用設計模式來解決問題。也就是說,一開始我們會用比較粗糙的設計作為最初的解決方案,然後檢驗這個解決方案,進而針對這個問題使用不同的設計模式(有些模式是可行的,有些是不合適的)。在尋找更好的解決方案的過程中,最關鍵的問題是,“哪些東西是變化的?” 這個過程有點像Martin
Time of Update: 2018-12-03
用於取得當前日期相對應的月初,月末,季初,季末,年初,年末時間 今天自己寫的一個用於取得當前日期相對應的月初,月末,季初,季末,年初,年末,傳回值均為String字串,方法比較土,使用字串套接方法完成。package com.zrar.date;import java.util.Calendar;/** * * 描述:此類用於取得當前日期相對應的月初,月末,季初,季末,年初,年末,傳回值均為String字串 * 1、得到當前日期 today() *
Time of Update: 2018-12-03
1. struts-menu Permissions1.1. 背景PermissionsAdapter介面,在菜單架構中定義可插入的適配器,該適配器原來校正對菜單的訪問。介面中只有一個方法:public boolean
Time of Update: 2018-12-03
具體步驟如下:使用Struts-blank產生空的Struts項目,將Struts-menu引入到該項目中:引入struts-menu2.3.jar檔案到lib目錄下,引入struts-menu.tld到WEB-INF目錄下,將struts-menu.war中的images、scripts和styles三個目錄拷貝到web應用相應的目錄下。 錯誤1:"rolesMenu.jsp": org.apache.jasper.JasperException: file:D:/liuhe/project/
Time of Update: 2018-12-03
今天解決了一個HttpClient的異常,汗啊,一個HttpClient使用稍有不慎都會是毀滅層級的啊。這裡有之前因為route配置不當導致伺服器異常的一個處理:http://blog.csdn.net/shootyou/article/details/6415248裡面的HttpConnectionManager實現就是我在這裡使用的實現。問題表現:tomcat後台日誌發現大量異常org.apache.http.conn.ConnectionPoolTimeoutException:
Time of Update: 2018-12-03
事務屬性之傳播行為Propagation Behavior1.Entity 擷取 find()或 getReference() 1)如果知道 Entity的唯一標示符,我們可以用 find()或 getReference()方法來獲得 Entity。 2)當在資料庫中沒有找到記錄時,getReference()和 find()是有區別的,find()方法會返回 null,而 getReference()方法會拋出
Time of Update: 2018-12-03
jakarta commons 下面有許多已經開發好的好用組 件 我沒記錯的話, 應該是討論到 Net Ftp, 但是你們連結到 Commons 的網頁時候, 一定會嚇了一跳, 哇, 怎 麼會有這麼多已經在開發的組件, 還有正在 SandBox ( 研發中 ) 的項目, 所以如何善用之, 就變成我在連續 幾周, 都會討論的課題 !! 目前 Commons 簡介目前已經開發有 release 出來的版本有 BeanUtils, Betwixt, CLI, Collections, DBCP,
Time of Update: 2018-12-03
來源:http://www.xymyeah.com/344.html 敏捷團隊建設
Time of Update: 2018-12-03
什麼是MODBUS協議 什麼是MODBUS?MODBUS 是MODICON公司最先倡導的一種軟的通訊規約,經過大多數公司 的實際應用,逐漸被認可,成為一種標準的通訊規約,只要按照這種規約進行資料通訊或傳輸,不同的系統就可以通訊。目前,在RS232/RS485通訊過程中,更是廣泛採用這種規約。 常用的MODBUS 通訊規約有兩種,一種是MODBUS ASCII,一種是MODBUS RTU。 一般來說,通訊資料量少而且主要是文本的通訊則採用MODBUS ASCII規約,通訊資料資料量大而且是位
Time of Update: 2018-12-03
finalize()是由JVM自動調用的,你可以用System.gc(),但JVM不一定會立刻執行,JVM感覺記憶體空間有限時,才會開始執行finalize(),至於新的對象建立個數和被收集個數不同是因為收集的對象只和JVM的垃圾收集策略有關。1.建構函式要點:構建器(Constructor)屬於一種較特殊的方法類型,因為它沒有傳回值.這與
Time of Update: 2018-12-03
今天學習HttpClient對HTTP方法的支援。 "方法"這個詞的含義太豐富了,在學習之前先交待一下。首先,每個類中有方法,與屬性相對,可以視作函數,為區分稱之”類方法“;HTML語言的表單(FORM)中也定義了方法(method),常見的是GET和POST,用以指明表單中輸入的資料上傳伺服器的方法,稱之為”HTML方法“;HTTP協議中也有方法,可視作http用戶端向伺服器端發送的指令(至於伺服器端收到指令後執行不執行或如何執行那是另一碼事),稱之為HTTP方法。 前幾篇HttpClie
Time of Update: 2018-12-03
EXCEPTION WHEN CURSOR_ALREADY_OPEN THEN-- ORA-06511 SQLCODE = -6511 遊標已經開啟WHEN DUP_VAL_ON_INDEX THEN-- ORA-00001 SQLCODE = -1 向唯一索引中插入重複資料WHEN INVALID_CURSOR THEN-- ORA-01001 SQLCODE = -1001 非法遊標操作WHEN INVALID_NUMBER THEN-- ORA-01722 SQLCODE = -1722
Time of Update: 2018-12-03
struts global-exception-mappings 1. In struts.xml, use global-exception-mappings to define mappings thatcatch-all exceptions of interest.<global-exception-mappings> <exception-mapping
Time of Update: 2018-12-03
Download source and executable - 201 Kb SharpFormEditor是一個輕量級的表單編輯器開源軟體,採用C#語言編寫。它的示範程式獲得CodeProject上2006年3月份的C#類的Prize Winner。SharpFormEditor的核心思想是通過實現用於控制項選擇和拖拽的矩形橡皮筋(rectangle
Time of Update: 2018-12-03
小布同學這一小節寫的很不爽,翻起來一頭霧水。我想他大概的意思是說,如果方法需要傳遞比較多的參數,那最好把這些參數包成一個類。 簡單化(Simplifying Idioms) 在研究複雜技術之前,瞭解一下使代碼簡單明了的基本方法是很有協助的。 信使(Messenger) 最普通的方法就是通過信使(messenger),它簡單的將資訊打包到一個用於傳送的對象,而不是將這些資訊片段單獨傳送。注意,如果沒有信使(messenger),translate()的代碼讀起來會相當混亂。/
Time of Update: 2018-12-03
轉載註明出處,謝謝~http://blog.csdn.net/shootyou 前段時間協助公司解決了一次tomcat環境伺服器的異常,今天有時間過來總結一下。 問題的表現:tomcat服務在重啟之後,短時間內會承受大量訪問,由於這個時候緩衝還沒建立,每次訪問都將消耗一定資源(資料庫連接或者檔案IO),並發量在2000左右的時候tomcat服務開始拋出大量Too Many Open