{"id":57356,"date":"2025-08-15T11:19:58","date_gmt":"2025-08-15T03:19:58","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/57356.html"},"modified":"2025-08-15T11:19:58","modified_gmt":"2025-08-15T03:19:58","slug":"java%e6%a3%80%e6%b5%8b%e5%be%ae%e4%bf%a1%e5%9f%9f%e5%90%8d%e5%b0%81%e7%a6%81%e7%8a%b6%e6%80%81%ef%bc%882025%e5%b9%b48%e6%9c%88%e6%9c%80%e6%96%b0%e7%89%88%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/57356.html","title":{"rendered":"Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09"},"content":{"rendered":"<h2 style=\"text-align:center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250815031951-689ea75799d50.png\" \/><\/h2>\n<h3>\u4ecb\u7ecd<\/h3>\n<p>\u672c\u6559\u7a0b\u63d0\u4f9b2025\u5e747\u6708\u6700\u65b0\u7248\u7684Java\u4ee3\u7801&#xff0c;\u7528\u4e8e\u68c0\u6d4b\u57df\u540d\u5728\u5fae\u4fe1\u5e73\u53f0\u5185\u7684\u5c01\u7981\u72b6\u6001\u3002\u901a\u8fc7\u8c03\u7528\u5fae\u4fe1\u5b98\u65b9API\u63a5\u53e3&#xff0c;\u53ef\u4ee5\u83b7\u53d6\u4e09\u79cd\u72b6\u6001\u4fe1\u606f&#xff1a;<\/p>\n<ul>\n<li>status\u4e3a2\u8868\u793a\u57df\u540d\u6b63\u5e38<\/li>\n<li>status\u4e3a1\u8868\u793a\u57df\u540d\u88ab\u62e6\u622a<\/li>\n<li>status\u4e3a0\u8868\u793a\u57df\u540d\u88ab\u5c01\u7981<\/li>\n<\/ul>\n<h3>Java\u4ee3\u7801<\/h3>\n<p>import java.io.BufferedReader;<br \/>\nimport java.io.IOException;<br \/>\nimport java.io.InputStreamReader;<br \/>\nimport java.net.HttpURLConnection;<br \/>\nimport java.net.URL;<br \/>\nimport java.net.URLEncoder;<br \/>\nimport java.nio.charset.StandardCharsets;<br \/>\nimport java.time.LocalDateTime;<br \/>\nimport java.time.format.DateTimeFormatter;<br \/>\nimport java.util.HashMap;<br \/>\nimport java.util.Map;<\/p>\n<p>public class WeChatDomainChecker {<br \/>\n    private static final String VERSION &#061; &#034;2025.07&#034;;<br \/>\n    private static final String API_URL &#061; &#034;https:\/\/api.wxapi.work\/wx\/&#034;;<br \/>\n    private static final int MAX_RETRIES &#061; 3;<br \/>\n    private static final int CACHE_TIME &#061; 1800; \/\/ 30\u5206\u949f\u7f13\u5b58<br \/>\n    private static final int TIMEOUT &#061; 10000; \/\/ 10\u79d2\u8d85\u65f6<\/p>\n<p>    \/\/ \u72b6\u6001\u5e38\u91cf<br \/>\n    public static final int STATUS_NORMAL &#061; 2;<br \/>\n    public static final int STATUS_WARNING &#061; 1;<br \/>\n    public static final int STATUS_BANNED &#061; 0;<br \/>\n    public static final int STATUS_ERROR &#061; -1;<\/p>\n<p>    private static final Map&lt;String, CacheEntry&gt; cache &#061; new HashMap&lt;&gt;();<\/p>\n<p>    public static void main(String[] args) {<br \/>\n        \/\/ \u793a\u4f8b\u4f7f\u7528<br \/>\n        System.out.println(&#034;\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\u68c0\u6d4b\u62a5\u544a&#xff08;2025\u5e747\u6708&#xff09;&#034;);<br \/>\n        System.out.println(&#034;&#061;&#034;.repeat(60));<\/p>\n<p>        \/\/ \u5355\u57df\u540d\u68c0\u6d4b<br \/>\n        System.out.println(&#034;\\\\n\u5355\u57df\u540d\u68c0\u6d4b\u793a\u4f8b:&#034;);<br \/>\n        DomainResult result &#061; checkDomain(&#034;weixin.qq.com&#034;);<br \/>\n        printResult(result);<\/p>\n<p>        \/\/ \u6279\u91cf\u68c0\u6d4b<br \/>\n        System.out.println(&#034;\\\\n\u6279\u91cf\u68c0\u6d4b\u793a\u4f8b:&#034;);<br \/>\n        String[] domains &#061; {&#034;weixin.qq.com&#034;, &#034;baidu.com&#034;, &#034;example.com&#034;, &#034;invalid.domain&#034;, &#034;&#034;};<br \/>\n        for (String domain : domains) {<br \/>\n            DomainResult domainResult &#061; checkDomain(domain);<br \/>\n            printResult(domainResult);<br \/>\n            try {<br \/>\n                Thread.sleep(500); \/\/ \u907f\u514d\u8bf7\u6c42\u8fc7\u4e8e\u9891\u7e41<br \/>\n            } catch (InterruptedException e) {<br \/>\n                Thread.currentThread().interrupt();<br \/>\n            }<br \/>\n        }<br \/>\n    }<\/p>\n<p>    public static DomainResult checkDomain(String domainOrUrl) {<br \/>\n        \/\/ \u6807\u51c6\u5316\u57df\u540d\/URL<br \/>\n        String domain &#061; normalizeDomain(domainOrUrl);<br \/>\n        if (domain &#061;&#061; null) {<br \/>\n            return new DomainResult(STATUS_ERROR, domainOrUrl, &#034;\u65e0\u6548\u7684\u57df\u540d\u683c\u5f0f&#034;, getCurrentTimestamp());<br \/>\n        }<\/p>\n<p>        \/\/ \u68c0\u67e5\u7f13\u5b58<br \/>\n        CacheEntry cachedResult &#061; cache.get(domain.toLowerCase());<br \/>\n        if (cachedResult !&#061; null &amp;&amp;<br \/>\n            System.currentTimeMillis() &#8211; cachedResult.timestamp &lt; CACHE_TIME * 1000) {<br \/>\n            return cachedResult.result;<br \/>\n        }<\/p>\n<p>        \/\/ \u6267\u884c\u68c0\u6d4b<br \/>\n        DomainResult result &#061; doCheckWithRetry(domain);<\/p>\n<p>        \/\/ \u7f13\u5b58\u7ed3\u679c<br \/>\n        cache.put(domain.toLowerCase(), new CacheEntry(result, System.currentTimeMillis()));<\/p>\n<p>        return result;<br \/>\n    }<\/p>\n<p>    private static DomainResult doCheckWithRetry(String domain) {<br \/>\n        for (int attempt &#061; 0; attempt &lt; MAX_RETRIES; attempt&#043;&#043;) {<br \/>\n            try {<br \/>\n                String encodedDomain &#061; URLEncoder.encode(domain, StandardCharsets.UTF_8);<br \/>\n                URL url &#061; new URL(API_URL &#043; &#034;?url&#061;&#034; &#043; encodedDomain);<br \/>\n                HttpURLConnection connection &#061; (HttpURLConnection) url.openConnection();<br \/>\n                connection.setRequestMethod(&#034;GET&#034;);<br \/>\n                connection.setRequestProperty(&#034;User-Agent&#034;, &#034;WeChatDomainChecker\/&#034; &#043; VERSION);<br \/>\n                connection.setRequestProperty(&#034;Accept&#034;, &#034;application\/json&#034;);<br \/>\n                connection.setRequestProperty(&#034;X-Requested-With&#034;, &#034;Java&#034;);<br \/>\n                connection.setConnectTimeout(TIMEOUT);<br \/>\n                connection.setReadTimeout(TIMEOUT);<\/p>\n<p>                int responseCode &#061; connection.getResponseCode();<br \/>\n                if (responseCode &#061;&#061; HttpURLConnection.HTTP_OK) {<br \/>\n                    try (BufferedReader in &#061; new BufferedReader(<br \/>\n                            new InputStreamReader(connection.getInputStream()))) {<br \/>\n                        StringBuilder response &#061; new StringBuilder();<br \/>\n                        String inputLine;<br \/>\n                        while ((inputLine &#061; in.readLine()) !&#061; null) {<br \/>\n                            response.append(inputLine);<br \/>\n                        }<br \/>\n                        return parseResponse(response.toString(), domain);<br \/>\n                    }<br \/>\n                } else {<br \/>\n                    if (attempt &#061;&#061; MAX_RETRIES &#8211; 1) {<br \/>\n                        return new DomainResult(STATUS_ERROR, domain,<br \/>\n                            &#034;API\u8bf7\u6c42\u5931\u8d25: HTTP &#034; &#043; responseCode, getCurrentTimestamp());<br \/>\n                    }<br \/>\n                }<br \/>\n            } catch (IOException e) {<br \/>\n                if (attempt &#061;&#061; MAX_RETRIES &#8211; 1) {<br \/>\n                    return new DomainResult(STATUS_ERROR, domain,<br \/>\n                        &#034;API\u8bf7\u6c42\u5931\u8d25: &#034; &#043; e.getMessage(), getCurrentTimestamp());<br \/>\n                }<br \/>\n            }<\/p>\n<p>            try {<br \/>\n                Thread.sleep(1000); \/\/ \u91cd\u8bd5\u95f4\u9694<br \/>\n            } catch (InterruptedException e) {<br \/>\n                Thread.currentThread().interrupt();<br \/>\n                return new DomainResult(STATUS_ERROR, domain,<br \/>\n                    &#034;\u8bf7\u6c42\u88ab\u4e2d\u65ad&#034;, getCurrentTimestamp());<br \/>\n            }<br \/>\n        }<\/p>\n<p>        return new DomainResult(STATUS_ERROR, domain, &#034;\u8bf7\u6c42\u5931\u8d25&#034;, getCurrentTimestamp());<br \/>\n    }<\/p>\n<p>    private static DomainResult parseResponse(String jsonResponse, String originalDomain) {<br \/>\n        try {<br \/>\n            \/\/ \u7b80\u5316JSON\u89e3\u6790&#xff0c;\u5b9e\u9645\u9879\u76ee\u4e2d\u5efa\u8bae\u4f7f\u7528Gson\u6216Jackson<br \/>\n            int status &#061; STATUS_ERROR;<br \/>\n            String message &#061; &#034;\u672a\u77e5\u72b6\u6001&#034;;<\/p>\n<p>            if (jsonResponse.contains(&#034;\\\\&#034;status\\\\&#034;:\\\\&#034;2\\\\&#034;&#034;)) {<br \/>\n                status &#061; STATUS_NORMAL;<br \/>\n                message &#061; &#034;\u57df\u540d\u6b63\u5e38&#034;;<br \/>\n            } else if (jsonResponse.contains(&#034;\\\\&#034;status\\\\&#034;:\\\\&#034;1\\\\&#034;&#034;)) {<br \/>\n                status &#061; STATUS_WARNING;<br \/>\n                message &#061; &#034;\u57df\u540d\u88ab\u62e6\u622a&#034;;<br \/>\n            } else if (jsonResponse.contains(&#034;\\\\&#034;status\\\\&#034;:\\\\&#034;0\\\\&#034;&#034;)) {<br \/>\n                status &#061; STATUS_BANNED;<br \/>\n                message &#061; &#034;\u57df\u540d\u88ab\u5c01\u7981&#034;;<br \/>\n            }<\/p>\n<p>            return new DomainResult(status, originalDomain, message, getCurrentTimestamp());<br \/>\n        } catch (Exception e) {<br \/>\n            return new DomainResult(STATUS_ERROR, originalDomain,<br \/>\n                &#034;\u65e0\u6548\u7684API\u54cd\u5e94\u683c\u5f0f&#034;, getCurrentTimestamp());<br \/>\n        }<br \/>\n    }<\/p>\n<p>    private static String normalizeDomain(String domainOrUrl) {<br \/>\n        if (domainOrUrl &#061;&#061; null || domainOrUrl.trim().isEmpty()) {<br \/>\n            return null;<br \/>\n        }<\/p>\n<p>        String normalized &#061; domainOrUrl.trim();<\/p>\n<p>        \/\/ \u5982\u679c\u6ca1\u6709\u534f\u8bae\u5934&#xff0c;\u6dfb\u52a0http:\/\/\u4ee5\u4fbf\u89e3\u6790<br \/>\n        if (!normalized.startsWith(&#034;http:\/\/&#034;) &amp;&amp; !normalized.startsWith(&#034;https:\/\/&#034;)) {<br \/>\n            normalized &#061; &#034;http:\/\/&#034; &#043; normalized;<br \/>\n        }<\/p>\n<p>        try {<br \/>\n            URL url &#061; new URL(normalized);<br \/>\n            String host &#061; url.getHost();<br \/>\n            return host !&#061; null &amp;&amp; !host.isEmpty() ? host : null;<br \/>\n        } catch (Exception e) {<br \/>\n            return null;<br \/>\n        }<br \/>\n    }<\/p>\n<p>    private static String getCurrentTimestamp() {<br \/>\n        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(&#034;yyyy-MM-dd HH:mm:ss&#034;));<br \/>\n    }<\/p>\n<p>    private static void printResult(DomainResult result) {<br \/>\n        String status;<br \/>\n        switch (result.status) {<br \/>\n            case STATUS_NORMAL: status &#061; &#034;\u2705 \u6b63\u5e38&#034;; break;<br \/>\n            case STATUS_WARNING: status &#061; &#034;\u26a0\ufe0f \u62e6\u622a&#034;; break;<br \/>\n            case STATUS_BANNED: status &#061; &#034;\u274c \u5c01\u7981&#034;; break;<br \/>\n            default: status &#061; &#034;\u26a0\ufe0f \u9519\u8bef&#034;;<br \/>\n        }<\/p>\n<p>        System.out.println(&#034;\\\\n\u68c0\u6d4b\u7ed3\u679c&#xff08;&#034; &#043; result.timestamp &#043; &#034;&#xff09;&#034;);<br \/>\n        System.out.println(&#034;&#061;&#034;.repeat(60));<br \/>\n        System.out.println(&#034;\u57df\u540d: &#034; &#043; (result.domain.isEmpty() ? &#034;[\u7a7a\u57df\u540d]&#034; : result.domain));<br \/>\n        System.out.println(&#034;\u72b6\u6001: &#034; &#043; status);<br \/>\n        System.out.println(&#034;\u8be6\u7ec6\u4fe1\u606f: &#034; &#043; result.message);<br \/>\n        System.out.println(&#034;&#061;&#034;.repeat(60));<br \/>\n    }<\/p>\n<p>    static class DomainResult {<br \/>\n        int status;<br \/>\n        String domain;<br \/>\n        String message;<br \/>\n        String timestamp;<\/p>\n<p>        public DomainResult(int status, String domain, String message, String timestamp) {<br \/>\n            this.status &#061; status;<br \/>\n            this.domain &#061; domain;<br \/>\n            this.message &#061; message;<br \/>\n            this.timestamp &#061; timestamp;<br \/>\n        }<br \/>\n    }<\/p>\n<p>    static class CacheEntry {<br \/>\n        DomainResult result;<br \/>\n        long timestamp;<\/p>\n<p>        public CacheEntry(DomainResult result, long timestamp) {<br \/>\n            this.result &#061; result;<br \/>\n            this.timestamp &#061; timestamp;<br \/>\n        }<br \/>\n    }<br \/>\n}<\/p>\n<h3>\u4f7f\u7528\u65b9\u6cd5<\/h3>\n<h4>1. \u57fa\u672c\u4f7f\u7528<\/h4>\n<p>public class Main {<br \/>\n    public static void main(String[] args) {<br \/>\n        \/\/ \u68c0\u6d4b\u5355\u4e2a\u57df\u540d<br \/>\n        DomainResult result &#061; WeChatDomainChecker.checkDomain(&#034;baidu.com&#034;);<br \/>\n        System.out.println(&#034;\u72b6\u6001: &#034; &#043; result.status);<br \/>\n        System.out.println(&#034;\u4fe1\u606f: &#034; &#043; result.message);<\/p>\n<p>        \/\/ \u6279\u91cf\u68c0\u6d4b<br \/>\n        String[] domains &#061; {&#034;weixin.qq.com&#034;, &#034;baidu.com&#034;, &#034;example.com&#034;};<br \/>\n        for (String domain : domains) {<br \/>\n            DomainResult domainResult &#061; WeChatDomainChecker.checkDomain(domain);<br \/>\n            WeChatDomainChecker.printResult(domainResult);<br \/>\n        }<br \/>\n    }<br \/>\n}<\/p>\n<h4>2. \u7ed3\u679c\u89e3\u91ca<\/h4>\n<p>\u8fd4\u56de\u7ed3\u679c\u793a\u4f8b&#xff1a;<\/p>\n<p>{<br \/>\n  &#034;status&#034;: 2,<br \/>\n  &#034;domain&#034;: &#034;baidu.com&#034;,<br \/>\n  &#034;message&#034;: &#034;\u57df\u540d\u6b63\u5e38&#034;,<br \/>\n  &#034;timestamp&#034;: &#034;2025-07-24 00:30:00&#034;<br \/>\n}<\/p>\n<p>\u6216<\/p>\n<p>{<br \/>\n  &#034;status&#034;: 1,<br \/>\n  &#034;domain&#034;: &#034;example.com&#034;,<br \/>\n  &#034;message&#034;: &#034;\u57df\u540d\u88ab\u62e6\u622a&#034;,<br \/>\n  &#034;timestamp&#034;: &#034;2025-07-24 00:31:00&#034;<br \/>\n}<\/p>\n<p>\u6216<\/p>\n<p>{<br \/>\n  &#034;status&#034;: 0,<br \/>\n  &#034;domain&#034;: &#034;test.com&#034;,<br \/>\n  &#034;message&#034;: &#034;\u57df\u540d\u5df2\u88ab\u5c01\u7981&#034;,<br \/>\n  &#034;timestamp&#034;: &#034;2025-07-24 00:32:00&#034;<br \/>\n}<\/p>\n<ul>\n<li>status:\n<ul>\n<li>2: \u57df\u540d\u6b63\u5e38<\/li>\n<li>1: \u57df\u540d\u88ab\u62e6\u622a<\/li>\n<li>0: \u57df\u540d\u88ab\u5c01\u7981<\/li>\n<li>-1: \u68c0\u6d4b\u5f02\u5e38<\/li>\n<\/ul>\n<\/li>\n<li>domain: \u68c0\u6d4b\u7684\u57df\u540d<\/li>\n<li>message: \u8be6\u7ec6\u7684\u72b6\u6001\u4fe1\u606f<\/li>\n<li>timestamp: \u68c0\u6d4b\u65f6\u95f4\u6233<\/li>\n<\/ul>\n<h3>2025\u5e747\u6708\u66f4\u65b0\u8bf4\u660e<\/h3>\n<li>\u200b\u200b\u652f\u6301\u4e09\u79cd\u72b6\u6001\u68c0\u6d4b\u200b\u200b&#xff1a;\u6b63\u5e38\/\u62e6\u622a\/\u5c01\u7981<\/li>\n<li>\u200b\u200b\u4f18\u5316API\u8bf7\u6c42\u5904\u7406\u200b\u200b&#xff1a;\u589e\u52a0\u81ea\u52a8\u91cd\u8bd5\u673a\u5236<\/li>\n<li>\u200b\u200b\u589e\u5f3a\u683c\u5f0f\u9a8c\u8bc1\u200b\u200b&#xff1a;\u652f\u6301\u5e26\u534f\u8bae\u548c\u4e0d\u5e26\u534f\u8bae\u7684\u57df\u540d\u8f93\u5165<\/li>\n<li>\u200b\u200b\u7ed3\u679c\u7f13\u5b58\u200b\u200b&#xff1a;\u9ed8\u8ba4\u7f13\u5b5830\u5206\u949f<\/li>\n<li>\u200b\u200b\u9519\u8bef\u5904\u7406\u200b\u200b&#xff1a;\u66f4\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u53cd\u9988<\/li>\n<li>\u200b\u200b\u6279\u91cf\u68c0\u6d4b\u200b\u200b&#xff1a;\u652f\u6301\u6279\u91cf\u68c0\u6d4b\u5e76\u81ea\u52a8\u6dfb\u52a0\u8bf7\u6c42\u95f4\u9694<\/li>\n<h3>\u9ad8\u7ea7\u529f\u80fd<\/h3>\n<h4>1. \u81ea\u5b9a\u4e49\u914d\u7f6e<\/h4>\n<p>\/\/ \u4fee\u6539\u9759\u6001\u5e38\u91cf\u503c<br \/>\npublic class WeChatDomainChecker {<br \/>\n    private static final int MAX_RETRIES &#061; 5;      \/\/ \u6700\u5927\u91cd\u8bd55\u6b21<br \/>\n    private static final int CACHE_TIME &#061; 3600;     \/\/ \u7f13\u5b581\u5c0f\u65f6<br \/>\n    \/\/ &#8230;\u5176\u4ed6\u4ee3\u7801<br \/>\n}<\/p>\n<h4>2. \u5f3a\u5236\u5237\u65b0\u7f13\u5b58<\/h4>\n<p>\/\/ \u6e05\u9664\u7f13\u5b58<br \/>\nWeChatDomainChecker.cache.clear();<br \/>\nDomainResult result &#061; WeChatDomainChecker.checkDomain(&#034;baidu.com&#034;);<\/p>\n<h4>3. \u7ed3\u679c\u7b5b\u9009<\/h4>\n<p>\/\/ \u7b5b\u9009\u88ab\u5c01\u7981\u7684\u57df\u540d<br \/>\nList&lt;DomainResult&gt; bannedDomains &#061; new ArrayList&lt;&gt;();<br \/>\nString[] domains &#061; {&#034;weixin.qq.com&#034;, &#034;baidu.com&#034;, &#034;example.com&#034;};<br \/>\nfor (String domain : domains) {<br \/>\n    DomainResult result &#061; WeChatDomainChecker.checkDomain(domain);<br \/>\n    if (result.status &#061;&#061; WeChatDomainChecker.STATUS_BANNED) {<br \/>\n        bannedDomains.add(result);<br \/>\n    }<br \/>\n}<\/p>\n<h3>\u6ce8\u610f\u4e8b\u9879<\/h3>\n<li>\u200b\u200b\u9891\u7387\u9650\u5236\u200b\u200b&#xff1a;\u5fae\u4fe1API\u6709\u4e25\u683c\u7684\u9891\u7387\u9650\u5236&#xff0c;\u5efa\u8bae\u95f4\u96940.5\u79d2\u4ee5\u4e0a<\/li>\n<li>\u200b\u200b\u5408\u6cd5\u4f7f\u7528\u200b\u200b&#xff1a;\u672c\u5de5\u5177\u4ec5\u9650\u5408\u6cd5\u7528\u9014\u4f7f\u7528<\/li>\n<li>\u200b\u200b\u9519\u8bef\u5904\u7406\u200b\u200b&#xff1a;\u65e0\u6548\u57df\u540d\u4f1a\u8fd4\u56destatus&#061;-1\u548c\u9519\u8bef\u4fe1\u606f<\/li>\n<li>\u200b\u200bJSON\u89e3\u6790\u200b\u200b&#xff1a;\u793a\u4f8b\u4e2d\u4f7f\u7528\u7b80\u5355\u5b57\u7b26\u4e32\u5339\u914d&#xff0c;\u751f\u4ea7\u73af\u5883\u5efa\u8bae\u4f7f\u7528Gson\u6216Jackson<\/li>\n<h3>\u793a\u4f8b\u8f93\u51fa<\/h3>\n<p>\u5355\u57df\u540d\u68c0\u6d4b\u793a\u4f8b:<\/p>\n<p>\u68c0\u6d4b\u7ed3\u679c&#xff08;2025-07-24 00:30:00&#xff09;<br \/>\n&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;<br \/>\n\u57df\u540d: weixin.qq.com<br \/>\n\u72b6\u6001: \u2705 \u6b63\u5e38<br \/>\n\u8be6\u7ec6\u4fe1\u606f: \u57df\u540d\u6b63\u5e38<br \/>\n&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;<\/p>\n<p>\u6279\u91cf\u68c0\u6d4b\u793a\u4f8b:<\/p>\n<p>\u68c0\u6d4b\u7ed3\u679c&#xff08;2025-07-24 00:30:01&#xff09;<br \/>\n&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;<br \/>\n\u57df\u540d: baidu.com<br \/>\n\u72b6\u6001: \u2705 \u6b63\u5e38<br \/>\n\u8be6\u7ec6\u4fe1\u606f: \u57df\u540d\u6b63\u5e38<br \/>\n&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;<\/p>\n<p>\u68c0\u6d4b\u7ed3\u679c&#xff08;2025-07-24 00:30:02&#xff09;<br \/>\n&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;<br \/>\n\u57df\u540d: invalid.domain<br \/>\n\u72b6\u6001: \u26a0\ufe0f \u9519\u8bef<br \/>\n\u8be6\u7ec6\u4fe1\u606f: \u65e0\u6548\u7684\u57df\u540d\u683c\u5f0f<br \/>\n&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb1.5k\u6b21\uff0c\u70b9\u8d5e55\u6b21\uff0c\u6536\u85cf7\u6b21\u3002Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09<\/p>\n","protected":false},"author":2,"featured_media":57355,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[99,81,190],"topic":[],"class_list":["post-57356","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-java","tag-python","tag-190"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/57356.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb1.5k\u6b21\uff0c\u70b9\u8d5e55\u6b21\uff0c\u6536\u85cf7\u6b21\u3002Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/57356.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-15T03:19:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250815031951-689ea75799d50.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/57356.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/57356.html\",\"name\":\"Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-08-15T03:19:58+00:00\",\"dateModified\":\"2025-08-15T03:19:58+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/57356.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/57356.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/57356.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/57356.html","og_locale":"zh_CN","og_type":"article","og_title":"Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb1.5k\u6b21\uff0c\u70b9\u8d5e55\u6b21\uff0c\u6536\u85cf7\u6b21\u3002Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09","og_url":"https:\/\/www.wsisp.com\/helps\/57356.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-08-15T03:19:58+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/08\/20250815031951-689ea75799d50.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/57356.html","url":"https:\/\/www.wsisp.com\/helps\/57356.html","name":"Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-08-15T03:19:58+00:00","dateModified":"2025-08-15T03:19:58+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/57356.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/57356.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/57356.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"Java\u68c0\u6d4b\u5fae\u4fe1\u57df\u540d\u5c01\u7981\u72b6\u6001\uff082025\u5e748\u6708\u6700\u65b0\u7248\uff09"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/57356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=57356"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/57356\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/57355"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=57356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=57356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=57356"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=57356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}