我正在尝试优化基于Web的应用程序,该应用程序会对流进行大量编写.代码是这样的---
StringWriter stringWriter = new StringWriter(1024);
PrintWriter printWriter = new PrintWriter(stringWriter);
Run Code Online (Sandbox Code Playgroud)
然后这个printwriter用于在以下几个地方进行大量的写操作 -
printWriter.write("set interface ethernet0 zone Trust");
Run Code Online (Sandbox Code Playgroud)
我想通过将printwriter包装在bufferedwriter周围来优化几个写操作.所以我打算如下更改line1和line2.如果下面的方法是正确的,请告诉我 -
StringWriter stringWriter = new StringWriter(1024);
// go for bufferedwriter instead of printwriter.
BufferedWriter bufWriter = new BufferedWriter(stringWriter, 8*1024);
Run Code Online (Sandbox Code Playgroud)
另外,我认为现在我可以直接替换write方法,如下所示 -
printWriter.write("set interface ethernet0 zone Trust");
Run Code Online (Sandbox Code Playgroud)
换成了
bufWriter.write("set interface ethernet0 zone Trust");
Run Code Online (Sandbox Code Playgroud)
如果这是正确的,请告诉我,或者我是否需要使用BufferedWriter的任何重载方法来充分利用BufferedWriter.
谢谢,开发
Pét*_*rök 11
由于StringWriter每个定义写入字符串缓冲区(在内存中),因此将其包装到a中BufferedWriter不会对性能产生任何影响.(由于附加了间接级别,它实际上可能使你的代码慢一点-尽管这将可最有可能由JIT编译器优化掉.)
后者在文件I/O中很有用,其中一个大写比几个小写要快得多.
为什么你认为你需要调整这段代码?值得仔细研究以下内容
| 归档时间: |
|
| 查看次数: |
5433 次 |
| 最近记录: |