有,但是效率瓶頸不在java內(nèi)存上而在硬件的IO操作上。
站在用戶的角度思考問題,與客戶深入溝通,找到奎文網(wǎng)站設(shè)計與奎文網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋奎文地區(qū)。
IO操作是最耗費的操作之一了,要盡量避免。
建議采用緩存處理,按照你說的這種數(shù)據(jù)量,基于redis的緩存完全可以滿足,存取速度可以10W+的,另外,擬采用的hashMap 是ConcurrentHashMap還是其他,頁面展示是增量查詢還是直接所有的再查詢一次,socket數(shù)據(jù)接收你是用的netty還是mina,這都需要經(jīng)過仔細(xì)的斟酌考慮設(shè)計的。有這么大的并發(fā)的需求,完全可以考慮做分布式集群的,估計這只是領(lǐng)導(dǎo)想要的目標(biāo)吧
既然是輸出多個文件,那么輸出流肯定是多個。輸出完一個文件后關(guān)閉對應(yīng)的流是肯定的。
至于輸入流,如果是一個文件的話,可以先用一個輸入流將文件讀取到內(nèi)存里,然后這個輸入流就用不到了可以關(guān)閉了。如果是從多個文件里讀取的話,那還是會有多個輸入流,所以還是需要多次關(guān)閉。