最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于BufferedReader的讀取效率問題

 更新時間:2021年12月09日 15:23:25   作者:Lazy_Code  
這篇文章主要介紹了關(guān)于BufferedReader的讀取效率問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

BufferedReader的讀取效率

1. 一般情況

正常采用readline讀取,一行行讀取。

readline要注意阻塞的情況,當一行沒有"/r"、"/n"、"/r/n"就會阻塞在那。

            InputStreamReader isr = new InputStreamReader(connection.getInputStream(), "UTF-8");
            in = new BufferedReader(isr);
            String line; 
            while ((line = in.readLine()) != null) {
                result += line;
            }

2. 采用read+CharBuffer

            inputStream = connection.getInputStream();
            isr = new InputStreamReader(inputStream, "UTF-8");
            in = new BufferedReader(isr);
            CharBuffer bos = CharBuffer.allocate(20480);
            StringBuilder builder = new StringBuilder();
            while (in.read(bos) != -1) {
                bos.flip();
                builder.append(bos.toString());
            }

注:bos.flip()作用是將指針指向緩沖區(qū)的開頭

經(jīng)過一千條數(shù)據(jù)的讀取,發(fā)現(xiàn)采用read+CharBuffer的效率要比readline來的高效的多?。。?!

補充:

后續(xù)實驗中發(fā)現(xiàn),其實并不是read方法和CharBuffer高效。其實是String對象頻繁的創(chuàng)建導(dǎo)致效率低下,使用CharBuffer和StringBuilder解決了這一問題。

OJ系統(tǒng)里用BufferedReader提高效率

在OJ系統(tǒng)中做編程題時,如果從System.in讀入的數(shù)據(jù)非常大的時候,使用Scanner非常影響效率,可能導(dǎo)致最終代碼超時,所以最好改用BufferedReader來讀取字符數(shù)據(jù)。

例如:

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader;  
public class Main 
{ 
    public static  void main(String[]args) 
    {
        BufferedReader buf=null;
        buf=new BufferedReader(new InputStreamReader(System.in));
        String str=null; 
        try { 
            int a= Integer.parseInt(buf.readLine()); 
            
            double b=Double.parseDouble(buf.readLine());
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println();
    }
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java依賴倒轉(zhuǎn)原則_動力節(jié)點Java學(xué)院整理

    Java依賴倒轉(zhuǎn)原則_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了Java依賴倒轉(zhuǎn)原則的定義及問題由來解決方案,感興趣的朋友一起看看吧
    2017-08-08
  • Mybatis-Plus?動態(tài)表名的實踐

    Mybatis-Plus?動態(tài)表名的實踐

    本文主要介紹了Mybatis-Plus?動態(tài)表名的實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • SpringBoot項目打包運行jar包的實現(xiàn)示例

    SpringBoot項目打包運行jar包的實現(xiàn)示例

    本文主要介紹了SpringBoot項目打包運行jar包的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 教你從頭開始用JAVA創(chuàng)建一個自己的簡單API并實現(xiàn)第三方調(diào)用

    教你從頭開始用JAVA創(chuàng)建一個自己的簡單API并實現(xiàn)第三方調(diào)用

    在日常開發(fā)的時候,經(jīng)常會遇到需要調(diào)用別人的接口的場景,下面這篇文章主要給大家介紹了關(guān)于如何從頭開始用JAVA創(chuàng)建一個自己的簡單API并實現(xiàn)第三方調(diào)用的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • java 對稱加密算法實現(xiàn)詳解

    java 對稱加密算法實現(xiàn)詳解

    這篇文章主要介紹了java 對稱加密算法實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • SpringBoot注入自定義的配置文件的方法詳解

    SpringBoot注入自定義的配置文件的方法詳解

    在實際的項目開發(fā)過程中,我們經(jīng)常需要將某些變量從代碼里面抽離出來,放在配置文件里面。今天,我們就一起來聊一聊SpringBoot加載配置文件的幾種玩法,需要的可以參考一下
    2022-09-09
  • Java利用多線程復(fù)制文件

    Java利用多線程復(fù)制文件

    這篇文章主要介紹了Java利用多線程復(fù)制文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • SpringBoot熱部署配置過程

    SpringBoot熱部署配置過程

    這篇文章主要介紹了SpringBoot熱部署配置過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Spring-webflux訪問關(guān)系型數(shù)據(jù)庫實戰(zhàn)

    Spring-webflux訪問關(guān)系型數(shù)據(jù)庫實戰(zhàn)

    這篇文章主要為大家介紹了Spring-webflux訪問關(guān)系型數(shù)據(jù)庫實戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • springboot整合redis配置詳細示例代碼

    springboot整合redis配置詳細示例代碼

    Redis是一種高性能的鍵值存儲數(shù)據(jù)庫,而Spring Boot是一個簡化了開發(fā)過程的Java框架,將兩者結(jié)合可以輕松地在Spring Boot項目中使用Redis來實現(xiàn)數(shù)據(jù)緩存、會話管理和分布式鎖等功能,這篇文章主要給大家介紹了關(guān)于springboot整合redis配置的相關(guān)資料,需要的朋友可以參考下
    2023-11-11

最新評論

洛隆县| 安溪县| 华阴市| 大英县| 新兴县| 客服| 南丹县| 鸡西市| 龙山县| 富蕴县| 沧州市| 河曲县| 凌源市| 五寨县| 周至县| 普洱| 中阳县| 通道| 西乌| 高平市| 崇信县| 健康| 若尔盖县| 庆城县| 德庆县| 光山县| 于都县| 岳普湖县| 嘉义县| 蒙自县| 华坪县| 拉萨市| 南郑县| 建瓯市| 深圳市| 叶城县| 龙游县| 中西区| 凤城市| 邓州市| 竹山县|