菜鳥救助 String類 的內存是怎樣分配的??
s1 與 s2 是兩個不同的對象, 所以!=
使用new肯定會產生新的對象, 這是不容置疑的
new 是新開闢了一塊類存,,當然不相等了
.來自 String 的憂慮上面這段程序中,到底有幾個對象呢?
可能很多人脫口而出:兩個,s1 和 s2爲什麼?String 是 final 類,它的值不可變。
看起來似乎很有道理,那麼來檢測一下吧,稍微改動一下程序就可以看到結果了:
當使用 s2 = "Monday" 這樣的表達是創建字符串的時候,程序首先會
在這個String緩衝池中尋找相同值的對象,在第一個程序中,s1先被
放到了池中,所以在s2被創建的時候,程序找到了具有相同值的 s1
將 s2 引用 s1 所引用的對象"Monday"
第二段程序中,使用了 new 操作符,他明白的告訴程序:
“我要一個新的!不要舊的!”與是一個新的"Monday"Sting對象被創
建在內存中。他們的值相同,但是位置不同,一個在池中游泳
一個在岸邊休息。哎呀,真是資源浪費,明明是一樣的非要分開做什麼呢?
equals 是object類方法,比較的是兩個對象是否相等。
如果想比較對象是否相等,請使用 (object).equals(Object b)方法。
s1每次賦值時,都會先在常量池中找,然後,如果沒有,就會重新創建一個常量
做羣集的話,是給server做羣集,還是什麼,不懂誒??
我在網上查了下,可能和weblogic的domain有關係。
但是,我模擬了下,
1.在同一個domain下建兩個server,每個server下部署不同的應用,
但是在應用間a跳轉b時,a中session還是可以找到。
2.在兩個不同domain下分別建一個server,每個server下部署不同的應用,
但是在應用間a跳轉b時,a中session也還是可以找到。
來源:足球直播