1import{_ as i,c as a,b as e,o as n}from"./app-CNefOTx1.js";const t={};function l(p,s){return n(),a("div",null,s[0]||(s[0]=[e(`<h2 id="_6-7-ä½è®¡ç®" tabindex="-1"><a class="header-anchor" href="#_6-7-ä½è®¡ç®"><span>6.7 ä½è®¡ç®</span></a></h2><p>Javaä½è¿ç®é叏髿ï¼å¯ä»¥ä½¿ç¨ä½è¿ç®ä»£æ¿é¨åç®æ°è¿ç®ä»¥æé«æ§è½ï¼æ¯å¦ï¼æå¸¸ç¨ç夿奿°</p><div class="language-plaintext line-numbers-mode" data-ext="plaintext" data-title="plaintext"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span>int a = 111;</span></span> 2<span class="line"><span>System.out.print((a & 1)==1);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>ä¹ä»¥2æè é¤ä»¥2ï¼ä¹å¯ä»¥ä½¿ç¨ä½è¿ç®</p><div class="language-plaintext line-numbers-mode" data-ext="plaintext" data-title="plaintext"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span>int a = 111;
2//å³ç§»1ä½ï¼ç¸å½äºé¤ä»¥2</span></span> 3<span class="line"><span>System.out.println(a1);//左移1ä½ï¼ç¸å½äºä¹ä»¥2</span></span> 4<span class="line"><span>System.out.println(a<<1);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>å¨JAVA8çIntegeréï¼ä¹ä½¿ç¨äºä½è¿ç®æ¥å®ç°int转å符串ï¼toString)ã</p><div class="language-plaintext line-numbers-mode" data-ext="plaintext" data-title="plaintext"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span>//r=i-q*10 ä¼å为å¦ä¸</span></span> 5<span class="line"><span>r = i - ((q << 3) + (q << 1));//q=i/10ï¼ä¼å为å¦ä¸</span></span> 6<span class="line"><span>q = (i * 52429)>>>(16+3);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>è¿é<code>(i * 52429) >>> (16+3)</code> ç¸å½äºi*0.1000000003ï¼å æ¤å¯¹äºiè¾å°çæ°æ®ï¼å¯ä»¥è®¤ä¸ºä¿©çæ¯ç¸ççã</p><p>对æ¯ç´æ¥ä½¿ç¨i/10 å (i * 52429) >>> (16+3)ï¼æ§è½å¦ä¸</p><div class="language-plaintext line-numbers-mode" data-ext="plaintext" data-title="plaintext"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span>Benchmark Mode Samples Score Score error Units</span></span> 7<span class="line"><span>c.i.c.c.BitTest2.bit avgt 5 0.669 0.031 ns/op</span></span> 8<span class="line"><span>c.i.c.c.BitTest2.general avgt 5 1.251 0.560 ns/op</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>å¨è®¡ç®æºéï¼ä½¿ç¨é¤æ³æ¯ç¸å¯¹èæ¶çæä½ï¼æä»¥å¨JavaçIntegeréï¼å·§å¦ä½¿ç¨ä½ç§»ä»£æ¿äºé¤æ³ãå¦å¤ä¸ä¸ªä¾åæ¯å¨HashMapæºç éï¼æ ¹æ®hashå¼ç¡®å®å¯¹è±¡åºè¯¥æ¾å°æ¡¶çä½ç½®</p><p>å设桶ççå®ä¹æ¯<code>Node<K,V>[] tab</code> ,å ¶é¿åº¦ä¸º<code>n = tab.length</code>, åå¯ä»¥ä½¿ç¨å使¥ç¡®å®ä½ç½®ï¼æ¯å¦</p><div class="language-plaintext line-numbers-mode" data-ext="plaintext" data-title="plaintext"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span>int hash = hash(key);</span></span> 9<span class="line"><span>Node<K,V first = tab0[hash%n]</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>ä½å¨æºç éï¼ä½¿ç¨äºä½ç§»æä½ç¡®å®ä½ç½®</p><div class="language-plaintext line-numbers-mode" data-ext="plaintext" data-title="plaintext"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span>Node<K,V first = tab[(n - 1) & (hash = hash(key) )])</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>å 为HashMapä¸ç容é齿¯2ç广¬¡,è¿æ ·çè¯2çå¹-1齿¯11111ç»å°¾ç(16->10000,15->01111)ï¼å½é¿åº¦ä¸å®æ¯2^næ¶,<code>tab[i = (2^n - 1) & hash] == tab [i=(hash%2^n)]</code></p><p>以桶é¿åº¦ä¸º2^4ï¼Hashå¼ä¸º99(äºè¿å¶æ¯01100011)æ¥è¯´ï¼99/16=6ï¼99%16=3.å¯ä»¥ä½¿ç¨ä½ç§»æ¹å¼å®ç°.å³01100011å³ç§»4ä½ï¼å©ä¸ç为0110ï¼æ¯ç»æ6ï¼ç§»åºç011峿¯ä½æ°3ãå 为16-1çäºè¿å¶æ¯00001111ï¼Javaéè¿ç´æ¥ï¼16-1)&99,æ¥ä¿çç§»åºç使°ï¼ä»èå¾å°é«æç®æ³</p><p>å ³äºä½è¿ç®çæ´å¤ç¥è¯ï¼å¯ä»¥åè Henry S.Warren,Jr.ç¼èçãç®æ³å¿å¾ï¼é«æç®æ³ç奥ç§ã</p><p>å¨ä¸å¡ç³»ç»ä¸ï¼ä¹é常éè¿\`ä½\`\`æ¥æç³»ç»é«æ§è½ï¼æ¯å¦çµåä¸ï¼ä¸ä¸ªè®¢åå¯¹è±¡ï¼æå¤ä¸ªå±æ§ï¼å¯è½åªéè¦ä¸ä¸ª4åèçIntç±»åï¼å°±è½åæ¾ãè¿æ ·çæ§è½å¥½å¤æ¯</p><ul><li>æé«ç½ç»ä¼ è¾æçï¼å 为éè¦ä¼ è¾çå 容æ´å°äº</li><li>妿è¿ä¸ªå¯¹è±¡éè¦åºååååå¨å°Redisæè æ°æ®åºï¼ä¹è½èçåå¨ç©ºé´</li></ul><p>ä¸é¢ä»£ç çæ®µæ¾ç¤ºäºä¸ä¸ªè®¢å对象使ç¨ä½æ¥åå¨å ¶å¤ä¸ªå±æ§</p><div class="language-java line-numbers-mode" data-ext="java" data-title="java"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">public</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> class</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> OrderRequest</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span> 10<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> /**</span></span> 11<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> * 0ä½è¡¨ç¤ºæ¯å¦æµè¯è®¢åï¼1-4ä½èè¡¨ç¤ºç¨æ·ç¶æï¼5-8ä½è¡¨ç¤ºè®¢åç¶æ</span></span> 12<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> */</span></span> 13<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> int</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> s</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span> 14<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> </span></span> 15<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> public</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> boolean</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;"> isTest</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(){</span></span> 16<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> //ååºç¬¬1ä½çå¼</span></span> 17<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> return</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> (</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">status</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">&</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;">0b1</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">==</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;">1</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span> 18<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span> 19<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> </span></span> 20<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> public</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> int</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;"> getUserStatus</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(){</span></span> 21<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // å³ç§»1ï¼ååº1-4ä½çå¼</span></span> 22<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> return</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> (</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">status</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">>></span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;">1</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">&</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;">0b1111</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span></span> 23<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span> 24<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> </span></span> 25<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> public</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> int</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;"> getOrderStatus</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(){</span></span> 26<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> //å³ç§»5ï¼ååº5-8ä½çå¼</span></span> 27<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> return</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> (</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">status</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">>></span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;">5</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">&</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;">0b1111</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span></span> 28<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span> 29<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,22)]))}const r=i(t,[["render",l],["__file","index.html.vue"]]),h=JSON.parse('{"path":"/article/performance/microtuning_bit/","title":"æ§è½å¾®ä¼å-ä½è¿ç®","lang":"en-US","frontmatter":{"title":"æ§è½å¾®ä¼å-ä½è¿ç®","tags":["æ§è½","æ°ä¹¦"],"createTime":"2026/08/20 9:20:15","permalink":"/article/performance/microtuning_bit/","description":"6.7 ä½è®¡ç® Javaä½è¿ç®é叏髿ï¼å¯ä»¥ä½¿ç¨ä½è¿ç®ä»£æ¿é¨åç®æ°è¿ç®ä»¥æé«æ§è½ï¼æ¯å¦ï¼æå¸¸ç¨ç夿奿° ä¹ä»¥2æè é¤ä»¥2ï¼ä¹å¯ä»¥ä½¿ç¨ä½è¿ç® å¨JAVA8çIntegeréï¼ä¹ä½¿ç¨äºä½è¿ç®æ¥å®ç°int转å符串ï¼toString)ã è¿é(i * 52429) >>> (16+3) ç¸å½äºi*0.1000000003ï¼å æ¤å¯¹äºiè¾å°çæ°æ®ï¼å¯ä»¥è®¤ä¸ºä¿©çæ¯...","head":[["meta",{"property":"og:url","content":"http://ibeetl.com/article/performance/microtuning_bit/"}],["meta",{"property":"og:site_name","content":"é²å¤§èµ"}],["meta",{"property":"og:title","content":"æ§è½å¾®ä¼å-ä½è¿ç®"}],["meta",{"property":"og:description","content":"6.7 ä½è®¡ç® Javaä½è¿ç®é叏髿ï¼å¯ä»¥ä½¿ç¨ä½è¿ç®ä»£æ¿é¨åç®æ°è¿ç®ä»¥æé«æ§è½ï¼æ¯å¦ï¼æå¸¸ç¨ç夿奿° ä¹ä»¥2æè é¤ä»¥2ï¼ä¹å¯ä»¥ä½¿ç¨ä½è¿ç® å¨JAVA8çIntegeréï¼ä¹ä½¿ç¨äºä½è¿ç®æ¥å®ç°int转å符串ï¼toString)ã è¿é(i * 52429) >>> (16+3) ç¸å½äºi*0.1000000003ï¼å æ¤å¯¹äºiè¾å°çæ°æ®ï¼å¯ä»¥è®¤ä¸ºä¿©çæ¯..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2026-08-21T06:57:39.000Z"}],["meta",{"property":"article:tag","content":"æ§è½"}],["meta",{"property":"article:tag","content":"æ°ä¹¦"}],["meta",{"property":"article:modified_time","content":"2026-08-21T06:57:39.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"æ§è½å¾®ä¼å-ä½è¿ç®\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"202
296-08-21T06:57:39.000Z\\",\\"author\\":[]}"]]},"headers":[],"readingTime":{"minutes":2.55,"words":766},"git":{"updatedTime":1787295459000,"contributors":[{"name":"lijiazhi","username":"lijiazhi","email":"[email protected]","commits":1,"avatar":"https://gravatar.com/avatar/1b5114831459724ad4acc394423b4b48ecfa4a7e0659fbe07a0ce5181a1050a7?d=retro"}]},"autoDesc":true,"filePathRelative":"article/æ§è½/bit.md","categoryList":[{"id":"92a2b5","sort":10000,"name":"article"},{"id":"afdb50","sort":10004,"name":"æ§è½"}]}');export{r as comp,h as data};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.