→ Deltaguita:請問一下static block是被載入的時候就被執行 07/06 03:08
→ Deltaguita:不被 Instance 跟Destory影響嗎? 07/06 03:09
→ jetswayss:基本上是 不過如果第一次new出instance 07/06 04:16
→ jetswayss:"可能"是他第一次被載入,所以時間可能相近 07/06 04:16
→ jetswayss:Destory後又無參照 也"可能"被GC unload 07/06 04:16
→ jetswayss:之後再使用"可能"又會在載入一次 07/06 04:17
推 gn00618777:請問一下,初始化static member使用,那類別的成員各自 07/06 10:19
→ gn00618777:加上static修飾詞不就好了..? 07/06 10:19
→ jetswayss:某種方面上可以把它當成class的constructor 07/06 15:12
→ NewSpec:八卦一下, 某公司面試Java考題這個考很兇... 07/06 15:47
→ Killercat:其實95%的人只有在JNI會用到這個.... 07/07 02:42
→ Killercat:static block的invoke時間跟Classloader完全相關 07/07 02:42
→ Killercat:最好他們生意做那麼大 每個都馬需要改自己的classloader 07/07 02:43
→ Killercat:基本上大多數只有自己實作DI Framework才會想碰那塊 07/07 02:46
→ qrtt1:也要意識到 web context 也是自己獨立的 classloader 07/07 10:14
→ TonyQ:我改過 class loader XDDD ,不過是為了做 runtime sandbox 07/07 14:24
→ TonyQ:當時的目標是可以線上直接寫 class 還有更新,所以在 07/07 14:25
→ TonyQ:classloader 跟 runtime compile 那邊下了不少苦心。XDDD 07/07 14:25
推 Killercat:可是真正enterprise上需求真的很少見 他們考這不知幹嘛 07/07 14:34
→ lovdkkkk:想搞自己的熱插拔就可能改 (aka 實做自己的) Classloader 07/07 14:35
→ lovdkkkk:不過反正有 load 就會跑到, 應該沒影響? 07/07 14:36
推 Killercat:「熱插」做的到,「熱拔」不行。必須用一些很tricky的方 07/07 15:45
→ Killercat:法(比方說動態指定class name)才能逼classloader 07/07 15:46
→ Killercat:去unload一個class,Native Library也有一樣的問題 07/07 15:46
→ Killercat:這東西要熱插拔搞到最後就是一個半吊子 很討厭的 07/07 15:47
→ Killercat:正常情況下除非ref=0加上強制GC 否則他無法unload 07/07 15:47
推 Killercat:值得一提的是OSGi有重新寫一個Classloader做的到 07/07 15:50
推 lovdkkkk:熱拔...就直接把 classloader 拔掉 (然後全重插) XDD 07/07 15:59
→ Killercat:問題在於他會讓你重新load一個同名但是改過的模組出問題 07/07 16:06
→ Killercat:你沒辦法動態產生.class放進去 :/ 07/07 16:07
→ Killercat:當初在Native Library為這點吃足苦頭 結果.class都是... 07/07 16:07
推 Killercat:等等 我看懂了 原來樓上兩樓說的是拔classloader XD 07/07 16:50
→ Killercat:居然還有這招 怎麼那麼靠背啊 XDDDDD 07/07 16:51
→ qrtt1:可以插了又拔,拔了再插。很有趣滴。 07/07 17:34
→ lovdkkkk:是的, 因為不能只換張椅子只好整棟樓重蓋這樣 @@ 07/07 17:44
→ Killercat:真的是學到了 閒聊也能學到這種東西 XD 感謝大家 07/07 18:15