分享一道面試實習生或者初級開發常問的一道基礎的面試題,我想題目大家已經看到了,那麼此題何解呢?
大家很常用的就是string,可能對於初學者或者說剛入門的老鐵們,基本上完全不用stringbuilder、stringbuffer。
但事實上它們的存在都是有意義的。
首先我們在執行以下的**時:
string s = "a";
s = s + b;
這兩句簡單的**,誰都會寫,但是效率卻低到了乙個地步,因為string的機制問題,大家應該知道常量池的概念,這種執行的方式是,首先常量池會建立乙個「a」,然後會建立乙個「b」,再建立乙個「ab」,而物件則也對應的建立了三次,因為在string操作的時候,首先建立了乙個物件為「a」,然後又建立了乙個s物件,在結合的時候又成了乙個新的s物件,每執行一次,之前的s物件就會被gc給**掉。因此就這麼乙個簡單的「a」+「b」,string的效率基本低到了谷底,這就是string叫字串常量的原因。
那麼stringbuilder,stringbuffer呢?
這兩個都叫做字串變數,在需要改變字串的值的時候,都是在自己的物件本身上改變,不會像string一樣,每次改變都會新增物件。所以效率要高很多很多。但是這兩者雖都是字串變數,但也是有區別的。stringbuilder速度更快,但是執行緒不安全。相反,stringbuffer就屬於執行緒安全,速度稍慢。
這下你知道這三者的區別了嗎?
每天只需五分鐘防治滑鼠手
終日面對電腦的白領工作者以及經常打遊戲的青少年,有時會感到手掌發麻,或者食指在拖曳滑鼠時容易抽筋,這些症狀都是 滑鼠手 這是由於長期使用滑鼠 鍵盤造成的腕部神經壓迫,導致肌肉或關節麻 脹 疼 痙攣。北京青鳥健身 徐威編排了每日只需5分鐘就可緩解症狀的 手操 徐威告訴記者,這些動作主要訓練腕部力量和手...
每天五分鐘linux(6) rmdir
今天學習一下linux中命令 rmdir命令。rmdir是常用的命令,該命令的功能是刪除空目錄,乙個目錄被刪除之前必須是空的。注意,rm r dir命令可代替rmdir,但是有很大危險性。刪除某目錄時也必須具有對父目錄的寫許可權。1 命令格式 rmdir 選項 目錄 2 命令功能 該命令從乙個目錄中...
每天五分鐘linux(8) cp
cp命令用來複製檔案或者目錄,是linux系統中最常用的命令之一。一般情況下,shell會設定乙個別名,在命令列下複製檔案時,如果目標檔案已經存在,就會詢問是否覆蓋,不管你是否使用 i引數。但是如果是在shell指令碼中執行cp時,沒有 i引數時不會詢問是否覆蓋。這說明命令列和shell指令碼的執行...