1. non-simplify mode:
```
dubbo://120.0.0.1:20880/org.apache.dubbo.demo.DemoService?key=value
```
the store path of ZK will be: `/dubbo/porg.apache.dubbo.demo.DemoService/url`

2. simplify mode:
```
dubbo://120.0.0.1:20880/org.apache.dubbo.demo.DemoService?key=value
```
the store path of ZK will be: `/dubbo/porg.apache.dubbo.demo.DemoService/url`

3. simplify mode with path specified:
```
dubbo://120.0.0.1:20880/path-value?key=value
```
the store path of ZK will be: `/dubbo/path-value/url`
try {
            URL.valueOf("://1.2.3.4:8080/path");
            fail();
        } catch (IllegalStateException expected) {
            assertEquals("url missing protocol: \"://1.2.3.4:8080/path\"", expected.getMessage());
        }
    }
    @Test
    public void test_getAddress() throws Exception {
        URL url1 = URL.valueOf("dubbo://admin:hello1234@10.20.130.230:20880/context/path?version=1.0.0&application=morgan");
        assertEquals("10.20.130.230:20880", url1.getAddress());
    }
    @Test
    public void test_getAbsolutePath() throws Exception {
        URL url = new URL("p1", "1.2.2.2", 33);
        assertEquals(null, url.getAbsolutePath());
        url = new URL("file", null, 90, "/home/user1/route.js");
        assertEquals("/home/user1/route.js", url.getAbsolutePath());
    }
    @Test
    public void test_equals() throws Exception {
        URL url1 = URL.valueOf("dubbo://admin:hello1234@10.20.130.230:20880/context/path?version=1.0.0&application=morgan");
        Map<String, String> params = new HashMap<String, String>();
        params.put("version", "1.0.0");
        params.put("application", "morgan");
        URL url2 = new URL("dubbo", "admin", "hello1234", "10.20.130.230", 20880, "context/path", params);
        assertEquals(url1, url2);
    }
    @Test
    public void test_toString() throws Exception {