第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問當(dāng)java仍然在范圍內(nèi)時,java能否最終確定它?

請問當(dāng)java仍然在范圍內(nèi)時,java能否最終確定它?

喵喵時光機(jī) 2019-12-02 08:04:55
當(dāng)java仍然在范圍內(nèi)時,java能否最終確定它?我一直在研究我的代碼中的一個錯誤,似乎是由一些“丑陋的”終結(jié)器代碼引起的。代碼看起來大致如此public class A {    public B b = new B();    @Override public void finalize() {      b.close();    }}public class B {    public void close() { /* do clean up our resources. */ }    public void doSomething() { /* do something that requires us not to be closed */ } }void main() {    A a = new A();    B b = a.b;    for(/*lots of time*/) {      b.doSomething();    }}我認(rèn)為正在發(fā)生的事情是a在第二行之后被檢測到?jīng)]有引用main()并且被終結(jié)器線程獲得GC并最終確定 - 當(dāng)for循環(huán)仍然發(fā)生時,使用bwhile a仍然是“在范圍內(nèi)”。這有可能嗎?是否允許java在對象超出范圍之前將其作為對象?注意:我知道在終結(jié)器中做任何事情都很糟糕。這是我繼承并打算修復(fù)的代碼 - 問題是我是否正確理解了根本問題。如果這是不可能的,那么更微妙的東西必定是我的bug的根源。
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 288 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號