java中創(chuàng)建對(duì)象的幾種方式 Java中對(duì)象的狀態(tài)有哪幾種?
Java中對(duì)象的狀態(tài)有哪幾種?java對(duì)象就結(jié)束生命周期,它占用的內(nèi)存就可以被JVM的垃圾回收器回收。對(duì)于需要被持久化的Java對(duì)象,在它的生命周期中,可處于以下三個(gè)狀態(tài)之一:(1) 臨時(shí)狀態(tài)(tra
Java中對(duì)象的狀態(tài)有哪幾種?
java對(duì)象就結(jié)束生命周期,它占用的內(nèi)存就可以被JVM的垃圾回收器回收。對(duì)于需要被持久化的Java對(duì)象,在它的生命周期中,可處于以下三個(gè)狀態(tài)之一:(1) 臨時(shí)狀態(tài)(transient):剛剛用new語(yǔ)句創(chuàng)建,還沒(méi)有被持久化,不處于Session的緩存中。處于臨時(shí)狀態(tài)的Java對(duì)象被稱(chēng)為臨時(shí)對(duì)象。(2) 持久化狀態(tài)(persistent):已經(jīng)被持久化,加入到Session的緩存中。處于持久化狀態(tài)的Java對(duì)象被稱(chēng)為持久化對(duì)象。(3) 游離狀態(tài)(detached):已經(jīng)被持久化,但不再處于Session的緩存中。處于游離狀態(tài)的Java對(duì)象被稱(chēng)為游離對(duì)象。
Java的哪個(gè)語(yǔ)法特性讓你覺(jué)得寫(xiě)Java代碼很享受?
本人在日常主要使用的語(yǔ)言為c#和Java,就語(yǔ)法而言,寫(xiě)c#更讓人享受。主要原因?yàn)閏#更多的語(yǔ)法糖,linq真的好用,其次visual studio號(hào)稱(chēng)宇宙第一IDE。但是個(gè)人還是更愿意用java。
從java8出來(lái)后,感覺(jué)java在追趕著c#的步伐, java和c#的語(yǔ)法上越來(lái)越像(本來(lái)也挺像的,哈哈)。以下做一個(gè)小小的比較。
c#
java
以上實(shí)現(xiàn)的功能差不多,在java8中加入lambda表達(dá)式后,個(gè)人感覺(jué)越來(lái)越像c#了。
拋開(kāi)語(yǔ)法層面,現(xiàn)在來(lái)說(shuō)一說(shuō)為什么更愿意用java
1、首先當(dāng)然是看收益啦,在國(guó)內(nèi)基本上沒(méi)有用c#的大廠,本來(lái)攜程在用,后來(lái)也轉(zhuǎn)為java了。
2、從技術(shù)層面來(lái)講,因?yàn)閖ava造輪子的多,有很多優(yōu)秀的框架可以使用。在實(shí)際做項(xiàng)目中你遇到的問(wèn)題,其他人肯定遇到過(guò),能夠很好的找到問(wèn)題關(guān)鍵。
3、從生態(tài)上來(lái)講,Java無(wú)疑是最好的選擇之一,因?yàn)槠溟_(kāi)源的早,建立生態(tài)的時(shí)間早。
4、從性能來(lái)說(shuō),Sun/Oracle的HotSpot JVM內(nèi)置的JIT編譯器在運(yùn)行時(shí)對(duì)字節(jié)碼已經(jīng)做出了非常大的優(yōu)化努力,如果不是對(duì)性能十分敏感的應(yīng)用,java足夠用了。
謝謝。