### Environment

* Dubbo version: master branch latest
* Operating System version: all
* Java version: 1.8

### Step to reproduce this issue
1. start StreamUtils UT
2. using `lsof test-class/StreamUtilsTest.txt` to check opened file handle

### Expected Result
after running all the UT, there shouldn't be any opened handles left

### Actual Result
several file handles left

### How to fix
- `overwrite` the `close` method of `InputStream` constructed in `limitedInputStream` and `markSupportedInputStream`
- `close` the InputStream in corresponding UT
assertFalse(is.markSupported());
        is = StreamUtils.markSupportedInputStream(is);
        assertEquals(10, is.available());
        is.mark(0);
        assertEquals((int) '0', is.read());
        assertEquals((int) '1', is.read());
        is.reset();
        assertEquals((int) '0', is.read());
        assertEquals((int) '1', is.read());
        assertEquals((int) '2', is.read());
        is.mark(0);
        assertEquals((int) '3', is.read());
        assertEquals((int) '4', is.read());
        assertEquals((int) '5', is.read());
        is.reset();
        assertEquals((int) '3', is.read());
        assertEquals((int) '4', is.read());
        is.mark(0);
        assertEquals((int) '5', is.read());
        assertEquals((int) '6', is.read());
        is.reset();
        assertEquals((int) '5', is.read());
        assertEquals((int) '6', is.read());
        assertEquals((int) '7', is.read());
        assertEquals((int) '8', is.read());
        assertEquals((int) '9', is.read());
        assertEquals(-1, is.read());
        assertEquals(-1, is.read());
        is.mark(0);
        assertEquals(-1, is.read());