Question: When I construct a new `BufferedReader` it is providing me a buffer of 8192 characters. What is the logic/reason behind this?

```
8192 = 2 to the power of 13

```

Answer: 
As the [`BufferedReader` Javadoc](https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html) says

> 
> The buffer size may be specified, or the default size may be used. The default is large enough for most purposes. 
> 
> 
> 

The default was chosen as being "large enough" (which I would *interpret* as "good enough").
There is a JDK ticket <https://bugs.openjdk.org/browse/JDK-4953311> that states

> 
> Most OSes that we support uses a buffer size of 8192 (8K) bytes for their IO buffering, and this is also the buffer size used by Microsoft VM on Win32. We should change the default buffer size in these two classes to 8K.
> 
> 
>