{"id":968,"date":"2026-03-14T21:10:56","date_gmt":"2026-03-14T13:10:56","guid":{"rendered":"https:\/\/yunyanglib.cn\/?p=968"},"modified":"2026-03-14T21:10:57","modified_gmt":"2026-03-14T13:10:57","slug":"%e3%80%90java%e3%80%91%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%b8%b8%e9%87%8f%e6%b1%a0%e6%b7%b1%e5%ba%a6%e8%a7%a3%e6%9e%90%ef%bc%9a%e4%bb%8e%e9%9d%a2%e8%af%95%e9%a2%98%e5%88%b0%e5%86%85%e5%ad%98%e5%8e%9f","status":"publish","type":"post","link":"https:\/\/yunyanglib.cn\/?p=968","title":{"rendered":"\u3010Java\u3011\u5b57\u7b26\u4e32\u5e38\u91cf\u6c60\u6df1\u5ea6\u89e3\u6790\uff1a\u4ece\u9762\u8bd5\u9898\u5230\u5185\u5b58\u539f\u7406"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4e00\u3001\u5f00\u7bc7\u7075\u9b42\u62f7\u95ee\uff1a<code>new String(\"\u4e91\u626c\")<\/code> \u5230\u5e95\u521b\u5efa\u4e86\u51e0\u4e2a\u5bf9\u8c61\uff1f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u76f8\u4fe1\u5927\u5bb6\u9762\u8bd5\u65f6\u90fd\u9047\u5230\u8fc7\u8fd9\u4e2a\u7ecf\u5178\u95ee\u9898 \u2014\u2014<strong>\u4e00\u884c <code>new String(\"\u4e91\u626c\")<\/code> \u4f1a\u521b\u5efa\u51e0\u4e2a\u5bf9\u8c61\uff1f\u7b54\u6848\u662f 2 \u4e2a\uff01<\/strong> \u5148\u4e0a\u4ee3\u7801\u5b9e\u4f8b\uff0c\u518d\u62c6\u89e3\u539f\u7406\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5173\u952e\u4ee3\u7801\u793a\u4f8b 1\uff1anew String \u521b\u5efa\u5bf9\u8c61\u5206\u6790\npublic class StringPoolDemo {\n    public static void main(String&#91;] args) {\n        \/\/ \u8fd9\u884c\u4ee3\u7801\u89e6\u53d1\u4e24\u4e2a\u5bf9\u8c61\u521b\u5efa\n        String s = new String(\"\u4e91\u626c\");\n    }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5185\u5b58\u6a21\u578b\u62c6\u89e3\uff08\u7ed3\u5408 JVM \u5185\u5b58\u7ed3\u6784\uff09\uff1a<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5b57\u7b26\u4e32\u5e38\u91cf\u6c60\u4e2d\u7684\u5bf9\u8c61<\/strong>\uff1aJVM \u5148\u68c0\u67e5\u5e38\u91cf\u6c60\u662f\u5426\u5b58\u5728 &#8220;\u4e91\u626c&#8221;\uff0c\u4e0d\u5b58\u5728\u5219\u5148\u5728\u5e38\u91cf\u6c60\u521b\u5efa\u4e00\u4e2a\u5b57\u7b26\u4e32\u5bf9\u8c61\uff1b<\/li>\n\n\n\n<li><strong>\u5806\u5185\u5b58\u4e2d\u7684\u5bf9\u8c61<\/strong>\uff1a<code>new String()<\/code> \u5173\u952e\u5b57\u5f3a\u5236\u5728\u5806\u5185\u5b58\u4e2d\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5b57\u7b26\u4e32\u5bf9\u8c61\uff0c\u5185\u5bb9\u4e0e\u5e38\u91cf\u6c60\u4e2d\u7684\u4e00\u81f4\uff1b<\/li>\n\n\n\n<li><strong>\u6808\u4e0a\u7684\u5f15\u7528<\/strong>\uff1a\u53d8\u91cf <code>s<\/code> \u5b58\u50a8\u5728\u6808\u4e2d\uff0c\u6307\u5411\u5806\u5185\u5b58\u4e2d\u7684\u5b57\u7b26\u4e32\u5bf9\u8c61\u3002<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u8865\u5145\uff1a\u5982\u679c\u5e38\u91cf\u6c60\u5df2\u5b58\u5728 &#8220;\u4e91\u626c&#8221;\uff0c\u5219\u4ec5\u5728\u5806\u4e2d\u521b\u5efa 1 \u4e2a\u5bf9\u8c61\uff0c\u4f46\u9898\u76ee\u9ed8\u8ba4 &#8220;\u9996\u6b21\u521b\u5efa&#8221; \u573a\u666f\uff0c\u6545\u7b54\u6848\u4e3a 2 \u4e2a\u3002<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e8c\u3001\u5b57\u7b26\u4e32\u5e38\u91cf\u6c60\u7684\u6838\u5fc3\u4f5c\u7528\uff1a\u590d\u7528 + \u7701\u5185\u5b58<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3a\u4ec0\u4e48 Java \u8981\u8bbe\u8ba1\u5b57\u7b26\u4e32\u5e38\u91cf\u6c60\uff1f\u56e0\u4e3a\u5b57\u7b26\u4e32\u662f\u5f00\u53d1\u4e2d\u6700\u5e38\u7528\u7684\u6570\u636e\u7c7b\u578b\uff0c<strong>\u590d\u7528\u5df2\u6709\u5bf9\u8c61\u53ef\u51cf\u5c11\u5185\u5b58\u5f00\u9500\u548c GC \u538b\u529b<\/strong>\u3002\u5bf9\u6bd4\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\u7684\u5dee\u5f02\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5173\u952e\u4ee3\u7801\u793a\u4f8b 2\uff1a\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\u5bf9\u6bd4\npublic class StringCreateDemo {\n    public static void main(String&#91;] args) {\n        \/\/ \u65b9\u5f0f 1\uff1a\u53cc\u5f15\u53f7\u76f4\u63a5\u521b\u5efa\uff08\u4f18\u5148\u590d\u7528\u5e38\u91cf\u6c60\u5bf9\u8c61\uff09\n        String s1 = \"\u4e09\u59b9\";\n        String s2 = \"\u4e09\u59b9\";\n        System.out.println(s1 == s2); \/\/ true\uff08\u6307\u5411\u540c\u4e00\u4e2a\u5e38\u91cf\u6c60\u5bf9\u8c61\uff09\n        \n        \/\/ \u65b9\u5f0f 2\uff1anew \u5173\u952e\u5b57\u521b\u5efa\uff08\u5f3a\u5236\u5806\u5185\u5b58\u65b0\u5efa\uff09\n        String s3 = new String(\"\u4e91\u626c\");\n        String s4 = new String(\"\u4e91\u626c\");\n        System.out.println(s3 == s4); \/\/ false\uff08\u5806\u4e2d\u4e24\u4e2a\u4e0d\u540c\u5bf9\u8c61\uff09\n    }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u6838\u5fc3\u7ed3\u8bba\uff1a<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u53cc\u5f15\u53f7\u521b\u5efa\uff1a\u4f18\u5148\u67e5\u8be2\u5e38\u91cf\u6c60\uff0c\u5b58\u5728\u5219\u76f4\u63a5\u8fd4\u56de\u5f15\u7528\uff0c\u4e0d\u5b58\u5728\u5219\u521b\u5efa\u540e\u8fd4\u56de\uff08\u4ec5 1 \u4e2a\u5bf9\u8c61\uff09\uff1b<\/li>\n\n\n\n<li>new \u5173\u952e\u5b57\u521b\u5efa\uff1a\u65e0\u8bba\u5e38\u91cf\u6c60\u662f\u5426\u5b58\u5728\uff0c\u90fd\u4f1a\u5728\u5806\u4e2d\u65b0\u5efa\u5bf9\u8c61\uff08\u6700\u5c11 1 \u4e2a\uff0c\u6700\u591a 2 \u4e2a\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e09\u3001\u5b57\u7b26\u4e32\u5e38\u91cf\u6c60\u7684\u5185\u5b58\u4f4d\u7f6e\u6f14\u53d8\uff08JDK \u7248\u672c\u5dee\u5f02\uff09<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">JDK \u7248\u672c<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u5e38\u91cf\u6c60\u4f4d\u7f6e<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u6838\u5fc3\u8bf4\u660e<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">JDK 6 \u53ca\u4ee5\u524d<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6c38\u4e45\u4ee3\uff08PermGen\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6c38\u4e45\u4ee3\u662f\u5806\u7684\u5b50\u533a\u57df\uff0c\u5927\u5c0f\u56fa\u5b9a\uff0c\u6613\u89e6\u53d1 OOM<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">JDK 7<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5806\u5185\u5b58\uff08Heap\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u89e3\u51b3\u6c38\u4e45\u4ee3\u7a7a\u95f4\u4e0d\u8db3\u95ee\u9898\uff0c\u52a8\u6001\u6269\u5bb9<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">JDK 8 \u53ca\u4ee5\u540e<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5143\u7a7a\u95f4\uff08Metaspace\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5143\u7a7a\u95f4\u4f7f\u7528\u672c\u5730\u5185\u5b58\uff0c\u4e0d\u53d7 JVM \u5806\u5927\u5c0f\u9650\u5236\uff0c\u5f7b\u5e95\u89e3\u51b3 OOM<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u5173\u952e\u8865\u5145\uff1a\u6c38\u4e45\u4ee3 vs \u5143\u7a7a\u95f4<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f88\u591a\u540c\u5b66\u4f1a\u6df7\u6dc6\u8fd9\u4e09\u4e2a\u6982\u5ff5\uff0c\u7528\u901a\u4fd7\u7684\u6bd4\u55bb\u89e3\u91ca\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u65b9\u6cd5\u533a<\/strong>\uff1aJVM \u89c4\u8303\u4e2d\u7684 &#8220;\u63a5\u53e3&#8221;\uff0c\u5b9a\u4e49\u4e86\u9759\u6001\u6570\u636e\u7684\u5b58\u50a8\u89c4\u8303\uff1b<\/li>\n\n\n\n<li><strong>\u6c38\u4e45\u4ee3<\/strong>\uff1aHotSpot \u865a\u62df\u673a\u5bf9\u65b9\u6cd5\u533a\u7684 &#8220;\u5b9e\u73b0\u7c7b&#8221;\uff08JDK 8 \u524d\uff09\uff0c\u5b58\u4e8e\u5806\u4e2d\uff1b<\/li>\n\n\n\n<li><strong>\u5143\u7a7a\u95f4<\/strong>\uff1aJDK 8 \u540e\u66ff\u4ee3\u6c38\u4e45\u4ee3\u7684 &#8220;\u5b9e\u73b0\u7c7b&#8221;\uff0c\u5b58\u4e8e\u672c\u5730\u5185\u5b58\uff0c\u52a8\u6001\u6269\u5bb9\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u56db\u3001\u5b9e\u6218\u907f\u5751\uff1a\u5b57\u7b26\u4e32\u5e38\u91cf\u6c60\u7684\u5e38\u89c1\u8bef\u533a<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u8bef\u533a 1\uff1a<code>String.intern()<\/code> \u65b9\u6cd5\u7684\u4f5c\u7528<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5173\u952e\u4ee3\u7801\u793a\u4f8b 3\uff1aintern() \u65b9\u6cd5\u5b9e\u6218\npublic class InternDemo {\n    public static void main(String&#91;] args) {\n         \/\/ \u5b57\u9762\u91cf\"\u4e91\u626c\"\u5728\u7c7b\u52a0\u8f7d\u65f6\u5df2\u5165\u6c60\uff0cnew String()\u5728\u5806\u4e2d\u521b\u5efa\u65b0\u5bf9\u8c61\n        String s1 = new String(\"\u4e91\u626c\");\n        \n        \/\/ \u6c60\u4e2d\u5df2\u6709\"\u4e91\u626c\"\uff08\u6765\u81ea\u5b57\u9762\u91cf\uff09\uff0cintern()\u8fd4\u56de\u6c60\u4e2d\u5f15\u7528\uff08\u5b57\u9762\u91cf\u5bf9\u8c61\uff09\n        String s2 = s1.intern();\n        \n        \/\/ \u76f4\u63a5\u4f7f\u7528\u5b57\u9762\u91cf\uff0c\u8fd4\u56de\u6c60\u4e2d\u540c\u4e00\u5f15\u7528\n        String s3 = \"\u4e91\u626c\";\n        \n        \/\/ s1\u662f\u5806\u4e2d\u65b0\u5bf9\u8c61\uff0cs2\u662f\u6c60\u4e2d\u5b57\u9762\u91cf\u5bf9\u8c61\uff0c\u4e8c\u8005\u4e0d\u540c\n        System.out.println(s1 == s2); \/\/ false\n        \n        \/\/ s2\u548cs3\u90fd\u6307\u5411\u6c60\u4e2d\u540c\u4e00\u5bf9\u8c61\n        System.out.println(s2 == s3); \/\/ true\n    }\n}\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u6ce8\u610f\uff1aJDK 7 \u540e <code>intern()<\/code> \u4e0d\u518d\u590d\u5236\u5bf9\u8c61\u5230\u5e38\u91cf\u6c60\uff0c\u800c\u662f\u5b58\u50a8\u5806\u5bf9\u8c61\u7684\u5f15\u7528\uff0c\u8fdb\u4e00\u6b65\u8282\u7701\u5185\u5b58\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\u8bef\u533a 2\uff1a\u5b57\u7b26\u4e32\u62fc\u63a5\u7684\u5e38\u91cf\u6c60\u884c\u4e3a<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5173\u952e\u4ee3\u7801\u793a\u4f8b 4\uff1a\u5b57\u7b26\u4e32\u62fc\u63a5\u5206\u6790\npublic class StringConcatDemo {\n    public static void main(String&#91;] args) {\n        String a = \"\u4e91\";\n        String b = \"\u626c\";\n        \n        String c = \"\u4e91\u626c\";\n        String d = a + b; \/\/ \u7f16\u8bd1\u671f\u65e0\u6cd5\u786e\u5b9a\uff0c\u5806\u4e2d\u521b\u5efa\u65b0\u5bf9\u8c61\n        String e = \"\u4e91\" + \"\u626c\"; \/\/ \u7f16\u8bd1\u671f\u4f18\u5316\u4e3a \"\u4e91\u626c\"\uff0c\u590d\u7528\u5e38\u91cf\u6c60\u5bf9\u8c61\n        \n        System.out.println(c == d); \/\/ false\n        System.out.println(c == e); \/\/ true\n    }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e94\u3001\u603b\u7ed3\uff1a\u5b57\u7b26\u4e32\u5e38\u91cf\u6c60\u7684\u6838\u5fc3\u4ef7\u503c<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6027\u80fd\u4f18\u5316<\/strong>\uff1a\u590d\u7528\u5b57\u7b26\u4e32\u5bf9\u8c61\uff0c\u51cf\u5c11\u5185\u5b58\u5206\u914d\u548c GC \u6b21\u6570\uff1b<\/li>\n\n\n\n<li><strong>\u9762\u8bd5\u91cd\u70b9<\/strong>\uff1a<code>new String<\/code> \u521b\u5efa\u5bf9\u8c61\u6570\u3001\u5e38\u91cf\u6c60\u4f4d\u7f6e\u6f14\u53d8\u3001<code>intern()<\/code> \u65b9\u6cd5\u662f\u9ad8\u9891\u8003\u70b9\uff1b<\/li>\n\n\n\n<li><strong>\u5f00\u53d1\u5efa\u8bae<\/strong>\uff1a\u4f18\u5148\u4f7f\u7528\u53cc\u5f15\u53f7\u521b\u5efa\u5b57\u7b26\u4e32\uff0c\u907f\u514d\u4e0d\u5fc5\u8981\u7684 <code>new String<\/code>\uff0c\u51cf\u5c11\u5185\u5b58\u6d6a\u8d39\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f60\u5728\u5f00\u53d1\u4e2d\u6709\u6ca1\u6709\u8e29\u8fc7\u5b57\u7b26\u4e32\u5e38\u91cf\u6c60\u7684\u5751\uff1f\u6216\u8005\u9047\u5230\u8fc7\u5176\u4ed6\u76f8\u5173\u7684\u9762\u8bd5\u9898\uff1f\u6b22\u8fce\u5728\u8bc4\u8bba\u533a\u4ea4\u6d41\uff5e<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u5f00\u7bc7\u7075\u9b42\u62f7\u95ee\uff1anew String(&#8220;\u4e91\u626c&#8221;) \u5230\u5e95\u521b\u5efa\u4e86\u51e0\u4e2a\u5bf9\u8c61\uff1f \u76f8\u4fe1\u5927\u5bb6\u9762\u8bd5\u65f6\u90fd\u9047\u5230\u8fc7\u8fd9\u4e2a\u7ecf\u5178\u95ee\u9898 <\/p>\n<div class=\"more-link\">\n\t\t\t\t <a href=\"https:\/\/yunyanglib.cn\/?p=968\" class=\"link-btn theme-btn\"><span>Read More <\/span> <i class=\"fa fa-caret-right\"><\/i><\/a>\n\t\t\t<\/div>\n","protected":false},"author":1,"featured_media":970,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[15],"class_list":["post-968","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-java"],"_links":{"self":[{"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=\/wp\/v2\/posts\/968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=968"}],"version-history":[{"count":2,"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=\/wp\/v2\/posts\/968\/revisions"}],"predecessor-version":[{"id":971,"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=\/wp\/v2\/posts\/968\/revisions\/971"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=\/wp\/v2\/media\/970"}],"wp:attachment":[{"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yunyanglib.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}