ByteArrayInputStream 的 mark 方法中的参数

Argument in mark method of ByteArrayInputStream

我尝试了以下代码来理解 ByteArrayInputStream 的 mark() 方法的工作原理。

class tryByteArray  
{  
    public static void main(String args[]) throws Exception  
    {  
        byte[] buffer={71, 69, 69, 75, 83};  
        try(ByteArrayInputStream obj=new ByteArrayInputStream(buffer))  
        {  
            System.out.println("\nChar "+(char)obj.read());  
            obj.mark(0);  
            System.out.println("Char "+(char)obj.read());  
            System.out.println("Char "+(char)obj.read());  
            System.out.println("Char "+(char)obj.read());  
            obj.reset();  
            System.out.println("\nChar "+(char)obj.read());  
            System.out.println("Char "+(char)obj.read());  
          }  
    }  
}

它给出了以下输出:-

Char G
Char E
Char E
Char K

Char E
Char E  

但是当我将 mark() 方法的参数更改为 1,2 或任何数字时,它仍然显示相同的输出。有人可以向我解释 mark() 方法的工作原理吗?

来自the docs

Note: The readAheadLimit for this class has no meaning.

编辑: 另请参阅 the source code