文章詳情頁
Effective java學習筆記4:避免創建重復對象
瀏覽:76日期:2024-06-18 16:58:28
內容: 很簡單的一個例子:不要使用String ts=new String(“hello);這樣會生成多余的對象.最好使用String ts=hello;//add by chris:很多文章都建議使用stringbuffer來代替string,為什么會帶來性能的提高哪?這里有篇文章:http://www.matrix.org.cn/article_view.asp?id=67為了理解深入點,我們看一個例子:String s1 = 'Testing String';String s2 = 'Concatenation Performance';String s3 = s1 + ' ' + s2;另外一種方法:StringBuffer s = new StringBuffer();s.append('Testing String');s.append(' ');s.append('Concatenation Performance');String s3 = s.toString(); 在上面這個例子里面,其實性能是沒有提高的,為什么會這樣哪?這個在這里就不討論了。有興趣請研究一下stringbuffer的源代碼。//end of add其實在jvm里面,如果你下一次再構造一個值為hello的對象string,jvm可以重用以前的對象的。而且不要在循環或者多次調用的地方新建一個對象,一定要盡量避免這個 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽:
Java
相關文章:
1. SpringBoot2.1.x,創建自己的spring-boot-starter自動配置模塊操作2. Django框架安裝及項目創建過程解析3. PHP swoole的process模塊創建和使用子進程操作示例4. ASP中實現字符部位類似.NET里String對象的PadLeft和PadRight函數5. python為Django項目上的每個應用程序創建不同的自定義404頁面(最佳答案)6. 利用CSS3新特性創建透明邊框三角7. python中類與對象之間的關系詳解8. Python創建自己的加密貨幣的示例9. js fill函數填充數組或對象的解決方法10. 詳解JSP 內置對象request常見用法
排行榜