在先後使用scanner類中,nextint與nextline方法讀取資訊時,先使用nextint後使用nextline時就會發生問題:!!!不同的scanner物件會在不同的訊息佇列中。nextline並沒有產生阻塞效果,直接過去了。
基於兩種方法的具體使用進行說明:
①圖一是nextline方法在使用時,會進行整行的讀取,以回車符截止,會將讀取到的所有資訊,
去掉空格後,組合成字串,然後進行賦值。讀取完畢後就會消除讀取到的資訊包括空格
②而圖二是nextint方法在使用時,會進行對整數的讀取,也是以回車符進行截止,但是讀取完畢後不會理
回車符,而是留在裡邊。當nextint讀取到資訊的時候會判斷讀取資訊是否為數字,如果不是就會報錯inputmismatchexception 輸入型別不匹配
然後將讀取到的數字組合成字串,然後將字串轉換成int型別
③因此上述問題的產生就是因為,在nextint方法讀取完畢後還剩有空格,那麼在nextline進行讀取的時候
就會讀取到空格,然後退出。
那麼為了解決這種問題。
第一種方式就是:將產生的空格刪除掉,中間使用一次nextline方法
第二種方式就是:使用next方法next方法的讀取方式,與nextint的一至,也是不理會空格,
再前面有空格的情況下,會跳過空格,進行下一步的讀取。
第三種方式就是:對數字進行nextline方法讀取,然後將讀取到的字串,轉換為數字(通過包裝類)
訊息佇列的儲存
kafka的儲存以partition為單位,每個partition包含一組訊息檔案 segment file 和一組索引檔案 index 並且訊息檔案和索引檔案一一對應,具有相同的檔名 副檔名不同 檔名就是這個檔案中第一條訊息的索引序號 每個索引中儲存索引序號 這條訊息在這個分割槽中的第幾條訊息 和...
訊息佇列(三)RocketMQ如何儲存訊息
rocket的訊息是有consume queue和commit log組成。consume queue consume queue是訊息的邏輯佇列,相當於字典目錄,用來指定訊息在物理檔案 commit log 上的位置,我們可以在配置中指定consumequeue和commitlog儲存的目錄。每乙...
訊息佇列 訊息佇列
輪詢排程 一次性分發所有訊息,保證訊息平均分配,不管消費者是否能正常消費 訊息應答 保證消費端能確實消費,不丟失 公平 乙個乙個分發所有訊息,在保證分發到的執行緒確認回覆後,才分發下個訊息給下個空閒的消費者,訊息持久化 保證佇列中的訊息不丟失,包括3要素 交換器 訊息佇列 訊息都必須宣告持久化 發布...