侯友宜擬設第2行政中心 相中前新燕土地變更

摘錄自2019年12月19日中央社報導

新北市長侯友宜就職週年記者會宣布將在三重設第2行政中心,原來市府相中曾因食安風暴遭中止開發的前新燕廠區變更案,全案明天送市府都審會審查,預估可順利闖關。

侯友宜18日強調,新北除溪南新板特區及溪北的新莊副都心外,他將在三重建設第2行政中心,藉軸線3中心來翻轉新北成為大台北的中心,而這項計畫相中就是前新燕工業區的工變住商的都市計畫變更案。

這塊占地約1.7萬多坪工業區土地原是味全企業的三重食品廠。1998年時賣給新燕紡織公司,但是新燕遇亞洲金融風暴倒閉,頂新集團入主味全後又在2010年以新台幣101.69億元標回來,並提出工業區變更住商的都市計畫變更案。

但因頂新集團因食安風暴引爭議,也使得這塊地的變更程序備受外界質疑,因此,新北市政府2014年底宣布中止此案,茂德機構2018年7月間砸下130億買下這塊土地並向市府遞件申請「工變住商」案。

新北市城鄉局指出,全案面積共5.69公頃,需依都計法規回饋2.7公頃土地,其中包括闢建公園、道路等公設及新建機關建築物。此案依法回饋的建物將提供作為第2行政中心大樓使用。

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !

馬達加斯加狐猴瀕臨滅絕 氣候變遷恐敲下喪鐘

摘錄自2019年12月24日中央通訊社報導

美國研究人員在「自然氣候變遷」(Nature Climate Change)期刊發表最新研究指出,至少有兩種馬達加斯加狐猴因為森林砍伐瀕臨滅絕,且氣候變遷可能是將牠們逼入絕境的喪鐘。

美國麻薩諸塞大學安模斯特分校(University of Massachusetts-Amherst)環境保育系學者摩瑞里(Toni Lyn Morelli)領導逾20名研究人員,檢視3組數據以評估領狐猴(Ruffed lemur)的存活可能性。第一組數據預估至2070年的雨林覆蓋變化,基於兩種可能情況:「嚴格」或「寬鬆」保護。自20世紀中葉以來,馬達加斯加已喪失約40%的森林覆蓋面積。

另外,研究人員也檢視未來50年氣候變遷的可能衝擊,再次評估從樂觀(大幅和立即減少碳污染)至維持現況(沒有改變)等可能情況。即使受到「嚴格」保護,光是森林砍伐就會減少30%的領狐猴棲息地,在寬鬆監管的情況下,棲息地將加倍減少。氣候變遷則可能導致棲息地縮減15%至75%。他們還預估,全球暖化和棲息地喪失的衝擊綜合起來,將造成毀滅性影響,50年內領狐猴棲息地可能減少95%。

領狐猴以水果為食,是馬達加斯加雨林中傳播各種罕見植物種子的唯一媒介,牠們的消失可能危害整個生態系統。

領狐猴及牠們的表親紅領狐猴(Red ruffed lemur)因為遭捕獵、棲息地喪失、森林零碎化及入侵物種等原因,已被列入國際自然保育聯盟(IUCN)瀕危物種紅色名錄的「極危」(Critically Endangered)等級。研究人員警告:「這兩種物種的損失都可能對剩下的森林結構和完整性造成連鎖效應。」

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !

北海道核電站少報一半污染

摘錄自2019年12月26日共同社報導

日本北海道電力公司周二(24日)發布消息稱,公司自1988年起就一直向周邊地方政府少報「泊核電站」向大氣排放的放射性氣體廢棄物數值,長期只報告實際數值的一半。

「泊核電站」位於北海道古宇郡泊村,自1988年至2012年間運作。日本北海道電力公司會定期向日本原子能規制廳、北海道政府及泊村等報告放射性氣體廢棄物排放量。不過,該公司在煙囪採集樣本時,一直忽略樣本會因混入空氣而被稀釋一半,結果一直採用錯誤數值。

共同社報導,這是因該公司的操作手冊中,遺漏了需要修正數值的記述。北海道電力公司副社長阪井一郎為事件道歉,但公司稱排放仍未超出安全標準。

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !

港保育先驅吳祖南病逝 學者籲政府撥資源保育 放棄人工島工程

摘錄自2019年12月14日明報、21日香港01報導

曾任長春社主席、一直積極參與環保及保育工作的香港大學地理系副教授吳祖南早前離世。前天文台台長林超英21日就撰文悼念香港保育先驅吳祖南,並讚揚其工作逐漸令香港人,尤其是年青人認識自然的價值。

吳祖南。截圖自團結香港基金影片

林超英又在文中指,政府必須認識到全球已進入了重視自然生態的新時代,「不能再只講經濟和倒石屎(水泥)搞建設」。林又呼籲政府多撥資源保育香港的自然,以及放棄如人工島之類嚴重破壞自然的工程。

香港保育先驅、積極參與環保及保育事務的港大地理系副教授吳祖南,10日突然中風入院,於13日與世長辭,享年59歲。

前天文台台長林超英。轉載自維基百科。

林撰文要求港府政府多撥資源保育香港的自然,以及放棄如人工島之類嚴重破壞自然的工程。林又質疑「中國已經為了保護濕地生態全面禁止填海,何以我們香港硬是要填海,成為全中國最不保護生態的地方?」他又指,會繼續盡力保育香港的自然和文化傳承,把美好的香港交給下一代。

林超英在文中詳述吳祖南多年來為香港環境所作的貢獻,包括成功爭取將港鐵東鐵落馬洲支線架空鐵路改為於地下興建,李形容為「民間自然保育運動20年來僅有的成功例子」。林又指,2013年吳祖南促成從復耕起步的荔枝窩村社區營造項目,讓無人村落恢復生氣,生物多樣性也得到提高,在香港甚至世界層面成為知名項目,再次展示自然和人文的保育是相輔相成的。

吳祖南曾任長春社主席及環諮會環評小組主席;先後參與城規會、可持續發展委員會、能源諮詢委員會、郊野公園及海岸公園委員會委員等多項公職。環境局長黃錦星昨對吳祖南辭世深感哀痛,稱吳祖南數十年來投身環保,不遺餘力,形容他心繫社會,貢獻良多,近年積極參與保育偏遠鄉郊,例如荔枝窩復育項目,促進當地生物多樣性。

吳祖南是環保界的「公職王」,但也有爭議事。前任特首梁振英2012年參選期間,吳祖南曾協助梁草擬環保政綱;而2018年吳祖南身任土地供應專責小組委員期間,曾稱本港沒有條件停止填海,應優先考慮在失去天然海岸線的地點繼續填海,以及認同可發展郊野公園邊陲地帶的言論,曾引起環保界爭議。政府於2014年向吳祖南頒授銀紫荊星章。

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !

恩戈羅恩戈羅保護區管理局估計,野生犀牛的壽命介於37到43歲間

恩戈羅恩戈羅保護區管理局估計,野生犀牛的壽命介於37到43歲間,圈養犀牛則能活到50歲以上。聲明指出,紀錄顯示,佛斯塔較全球任何其他犀牛都更長壽,在恩戈羅恩戈羅放養超過54年,2016年才移至庇護區。

聲明又說:「三蘭港大學(University of Dar Es Salaam)一位科學家於1965年首度在恩戈羅恩戈羅火山口發現佛斯塔,當時牠的年齡介於3至4歲間。繼多次遭鬣狗攻擊且嚴重受傷後,牠的健康狀況於2016年開始惡化,我們不得不把牠置於圈養狀態。」

而全球最長壽的白犀牛,則是55歲的雌南方白犀牛沙納(Sana),於2017年在圈養地法國奇幻星球動物園(La Planete Sauvage Zoological park)死亡。

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !

綜合媒體報導,雪梨是全球最早迎接新年的大城市之一,跨年煙火秀更是全球慶祝跨年的重點戲之一

綜合媒體報導,雪梨是全球最早迎接新年的大城市之一,跨年煙火秀更是全球慶祝跨年的重點戲之一,去(2018)年就花了580萬澳元(約1.2億元台幣) ,今年打算花650萬澳元(約1.36億台幣)來辦跨年煙火秀,但今年正值澳洲發生數十年來最嚴重的野火災難,致農損嚴重,截至目前並未撲滅,致使澳洲民眾在網上連署,建議當局取消今年跨年煙火秀。

不過當局並不打算取消,女市長摩爾並表示,若是取消,可能重創雪梨商家們,也會毀了數以萬計前來雪梨參加跨年活動人們的計劃。

即使如此,這場煙火秀是否在最後喊停,還在未定之天,因為,澳洲野火未停,仍有接近100個火場火勢仍未撲滅,雪梨所屬的新南威爾斯省的災情最嚴重,且位於雪梨西南面的巴爾莫勒爾鎮幾乎全毀,許多公路仍然封閉;且產生的空氣污染已經形成有毒煙霧,籠罩雪梨及其他主要城市。

由於East Gippsland的森林火災不斷升級,加上熱浪來襲,預計今天氣溫可能升高到44度,維多利亞州當局已在昨天(29日)下令,全面撤離Goongerah和Martins Creek地區居民,今天更將全州實行禁火令,嚴禁人們在戶外用火。

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !

白海豚近三年都僅60隻 環團憂族群老化危機

摘錄自2019年12月31日公視報導

鯨豚擱淺事件頻傳。根據台灣媽祖魚保育聯盟提出的數據,台灣海域的白海豚族群,這三年都在60隻上下。學者表示,漁業行為干擾、海上開發案離岸風機,都讓白海豚面臨考驗。

白海豚在海面悠游,時而浮出水面,這樣的畫面未來可能越來越少見。台灣媽祖魚保育聯盟提出研究數字,台灣海域附近的白海豚,估計族群數這三年都只在60隻上下,族群數沒有明顯增加。保育人士擔心,現有族群已經面臨老化。台灣媽祖魚保育聯盟理事長陳秉亨表示,「(現存的)這60幾隻,有可能裡面都是年紀很大的,因為小的海豚比較脆弱,牠比較難長大。那如果這60幾隻,大部分都是那種年紀很大的,牠可能年紀到了之後就會死掉,所以,可能就會呈現(族群)快速瓦解。」

台灣媽祖魚保育聯盟分析,現有個體老化又沒有新的個體誕生,族群數量一直無法擴大。而目前統計,從2000年到2019年擱淺的個體數就有11隻,更讓人擔心族群數量面臨威脅。而專家表示,最近幾年發現的鯨豚,外觀多有碰撞的傷痕,除了和漁業活動有關,海上開發案的進行可能也是鯨豚的衝擊來源。國立自然科學博物館助理研究員姚秋如說:「人為的開發壓力很大,包含海岸的人工化,以及海上會有些工程(海上風機),在這個過程中,船隻來往等等都可能造成鯨豚生活被影響。」

姚秋如指出,鯨豚是以靠聽覺定位的動物。海上開發案的進行,風機打樁的聲響都會影響鯨豚活動。而白海豚屬於淺海活動,更容易受到影響。保育人士呼籲,希望未來15年內,白海豚數量可達到百隻以上,才算相對安全。同時呼籲開發案,應該要有積極性的復育對策。

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !

類加載器 – 命名空間

本博客將沿用中展示的自定義類加載器代碼

複雜類加載情況分析

測試代碼一

首先,新建一個類Test14,重寫默認的構造方法,打印加載該類的類加載器

public class Test14 {
    public Test14() {
        System.out.println("Test14 is loaded by:" + this.getClass().getClassLoader());
    }
}

然後,在新建一個類Test15,同樣重寫默認的構造方法,打印加載該類的類加載器,在構造方法中new出Test14的實例

public class Test15 {
    public Test15() {
        System.out.println("Test15 is loaded by:" + this.getClass().getClassLoader());

        new Test14();
    }
}

測試代碼

public class Test16 {
    public static void main(String[] args) throws Exception {
        test01();
    }

    private static void test01 () throws Exception {
        ClassLoaderTest classLoader = new ClassLoaderTest("classLoader");
        Class<?> clazz = classLoader.loadClass("classloader.Test15");
        System.out.println("class:" + clazz);
        Object object = clazz.newInstance();
    }
}

猜測一下,首先自定義類加載器classLoader通過反射獲取Test15的Class對象,屬於主動使用,會加載Test15,classLoader委託它的父加載器AppClassLoader加載Test15;然後我們通過clazz.newInstance();代碼獲取Test15的實例,調用Test15的構造方法,在Test15的構造方法中創建了Test14的實例,所以同樣加載了Test14,並調用了Test14的構造方法。加上-XX:+TraceClassLoading指令執行代碼,發現運行結果和我們想的是一樣的。

......
[Loaded classloader.Test15 from file:/home/fanxuan/Study/java/jvmStudy/out/production/jvmStudy/]
class:class classloader.Test15
Test15 is loaded by:sun.misc.Launcher$AppClassLoader@18b4aac2
[Loaded classloader.Test14 from file:/home/fanxuan/Study/java/jvmStudy/out/production/jvmStudy/]
Test14 is loaded by:sun.misc.Launcher$AppClassLoader@18b4aac2
......

測試代碼二

在上篇博客中,自定義類加載器ClassLoaderTest是有一個path屬性可以自定義類的加載路徑的,我們同樣測試一下,我們將Test14和Test15的class文件放到桌面的classloader文件夾下,然後刪除工程路徑下的class文件,執行一下的測試代碼

public class Test16 {
    public static void main(String[] args) throws Exception {
        test02();
    }
    private static void test02 () throws Exception {
        ClassLoaderTest classLoader = new ClassLoaderTest("classLoader");
        classLoader.setPath("/home/fanxuan/桌面/");
        Class<?> clazz = classLoader.loadClass("classloader.Test15");
        System.out.println("class:" + clazz);
        Object object = clazz.newInstance();
    }
}

按照上節的結果,應該都是ClassLoaderTest加載器加載了Test14和Test15類

class:class classloader.Test15
Test15 is loaded by:classloader.ClassLoaderTest@6d6f6e28
Test14 is loaded by:classloader.ClassLoaderTest@6d6f6e28

接下來,我們重新編譯項目,刪除掉工程目錄下的Test14的calss文件,再次執行代碼

class:class classloader.Test15
Test15 is loaded by:sun.misc.Launcher$AppClassLoader@18b4aac2
Exception in thread "main" java.lang.NoClassDefFoundError: classloader/Test14
    at classloader.Test15.<init>(Test15.java:11)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at classloader.Test16.test02(Test16.java:25)
    at classloader.Test16.main(Test16.java:9)
Caused by: java.lang.ClassNotFoundException: classloader.Test14
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 8 more

我們發現結果報錯了,按照我們正常的思維,自定義記載器classLoader委託父加載器AppClassLoader加載Test15,從打印結果可以看出Test15加載成功了,然後創建Test15的實例,加載Test14,因為工程目錄下缺少Test14的class文件,所以AppClassLoader無法加載到Test14,由自定義加載器classLoader自身從桌面加載Test14。但是我們發現加載Test14的報了ClassNotFoundException的錯誤,這是因為在Test15中記載Test14的時候,是以Test15的類加載器AppClassLoader來加載的,AppClassLoader加載不到Test14,它的父加載器擴展類加載器同樣加載不到,擴展類加載器的父加載器啟動類加載器也加載不到,所以報錯ClassNotFoundException

然後,再重新編譯項目,刪除掉工程目錄下的Test15的calss文件,再次執行代碼。根據前文分析的代碼,我們可以很清晰的得出結論:由自定義記載器classLoader加載了Test15,由系統類記載器AppClassLoader加載了Test14。

class:class classloader.Test15
Test15 is loaded by:classloader.ClassLoaderTest@6d6f6e28
Test14 is loaded by:sun.misc.Launcher$AppClassLoader@18b4aac2

測試代碼三

簡單修改下Test14類,在Test14的構造方法中引用Test15的Class對象。

public class Test14 {
    public Test14() {
        System.out.println("Test14 is loaded by:" + this.getClass().getClassLoader());

        System.out.println("Test14:" + Test15.class);
    }
}

執行測試代碼二中的測試代碼Test16,結果如下,沒有任何問題。

class:class classloader.Test15
Test15 is loaded by:sun.misc.Launcher$AppClassLoader@18b4aac2
Test14 is loaded by:sun.misc.Launcher$AppClassLoader@18b4aac2
Test14:class classloader.Test15

我們同樣重新編譯項目,刪除掉工程目錄下的Test15的calss文件,再次執行代碼。

class:class classloader.Test15
Test15 is loaded by:classloader.ClassLoaderTest@6d6f6e28
Test14 is loaded by:sun.misc.Launcher$AppClassLoader@18b4aac2
Exception in thread "main" java.lang.NoClassDefFoundError: classloader/Test15
    at classloader.Test14.<init>(Test14.java:11)
    at classloader.Test15.<init>(Test15.java:11)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at classloader.Test16.test02(Test16.java:25)
    at classloader.Test16.main(Test16.java:9)
Caused by: java.lang.ClassNotFoundException: classloader.Test15
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 9 more

我們發現加載已經完成了,但是程序還是報錯了,是我們剛剛加的System.out.println("Test14:" + Test15.class);代碼報的錯,依然是ClassNotFoundException錯誤。

分析:
Test15由自定義記載器classLoader加載,Test14由系統類記載器AppClassLoader加載。導致程序報錯的是因為命名空間的問題,我們在上一篇博客的結尾簡單介紹了命名空間:每個類加載器都有自己的命名空間,命名空間由該加載器及所有的父加載器所加載的類組成。子加載器所加載的類可以看見父加載器加載的類,但是父加載器所加載的類無法看見子加載器加載的類。Test14是由AppClassLoader加載的,在AppClassLoader的命名空間中沒有Test15的,所以程序報錯了。

命名空間實例分析

測試代碼

新建Entity類用於測試

public class Entity {
    private Entity entity;

    public void setEntity(Object entity) {
        this.entity = (Entity)entity;
    }
}

編寫測試代碼

public class Test17 {
    public static void main(String[] args) throws Exception {
        ClassLoaderTest classLoader1 = new ClassLoaderTest("classLoader1");
        ClassLoaderTest classLoader2 = new ClassLoaderTest("classLoader2");

        Class<?> clazz1 = classLoader1.loadClass("classloader.Entity");
        Class<?> clazz2 = classLoader2.loadClass("classloader.Entity");

        System.out.println(clazz1 == clazz2);

        Object object1 = clazz1.newInstance();
        Object object2 = clazz2.newInstance();

        Method method = clazz1.getMethod("setEntity", Object.class);
        method.invoke(object1, object2);
    }
}

運行程序,System.out.println(clazz1 == clazz2);返回結果為true,都是AppClassLoader加載的,classLoader1加載之後會在AppClassLoader的命名空間中形成緩存,classLoader2加載的時候直接返回命名空間已經存在的Class對象,所以clazz1與clazz2相同。

改造下代碼,將Entity類的class文件copy到桌面文件夾下,刪除工程下的class文件,執行如下代碼

public class Test18 {
    public static void main(String[] args) throws Exception {
        ClassLoaderTest classLoader1 = new ClassLoaderTest("classLoader1");
        ClassLoaderTest classLoader2 = new ClassLoaderTest("classLoader2");

        classLoader1.setPath("/home/fanxuan/桌面/");
        classLoader2.setPath("/home/fanxuan/桌面/");

        Class<?> clazz1 = classLoader1.loadClass("classloader.Entity");
        Class<?> clazz2 = classLoader2.loadClass("classloader.Entity");

        System.out.println(clazz1 == clazz2);

        Object object1 = clazz1.newInstance();
        Object object2 = clazz2.newInstance();

        Method method = clazz1.getMethod("setEntity", Object.class);
        method.invoke(object1, object2);
    }
}

根據前文的介紹,不難推斷System.out.println(clazz1 == clazz2);的運行結果為falseclassLoader1和classLoader2分別加載了Entity類,就是其自身加載的(定義類加載器),在jvm的內存中形成了完全獨立的兩個命名空間,所以clazz1與clazz2不同。而且因為clazz1和clazz2相互不可見,調用了classLoader1命名空間中的方法,傳入了classLoader2命名空間的對象,導致程序拋出了異常。

false
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at classloader.Test18.main(Test18.java:26)
Caused by: java.lang.ClassCastException: classloader.Entity cannot be cast to classloader.Entity
    at classloader.Entity.setEntity(Entity.java:11)
    ... 5 more

不同類加載器的命名空間關係

  • 同一命名空間內的類是相互可見的
  • 子加載器的命名空間包含所有父加載器的命名空間,由子加載器所加載的類可以看見父加載器加載的類
  • 由父加載器所加載的類無法看見子加載器加載的類
  • 如果兩個加載器之間沒有任何直接或間接的父子關係,那麼它們各自加載的類相互不可見

父親委託機制的好處

在的2.1章節簡單介紹了一下類加載器的父親委託機制,這裏面來總結一下好處

  • 確保Java核心類庫的安全:所有的Java應用都至少會引用java.lang.Object類,也就是說在運行期,java.lang.Object類會被記載到Java虛擬機當中;如果這個加載過程是由Java應用自己的類加載器所完成的,那麼可能會在JVM中存在多個版本的java.lang.Object類,而且這些類還是不兼容的、相互不可見的(因為命名空間的原因)。藉助父親委託機制,Java核心類庫中的類的加載工作都是由啟動類加載器來統一完成的,從而確保了Java應用所使用的都是同一個版本的Java核心類庫,他們之間是互相兼容的。
  • 確保Java核心類庫提供的類不會被自定義的類所替代。
  • 不同的類加載器可以為相同名稱(binary name)的類創建額外的命名空間。相同名稱的類可以並存在Java虛擬機中,只需要用不同的類加載器來加他們即可,不同類加載器所加載的類是不兼容的,這就相當於在Java虛擬機內部創建了一個又一個相互隔離的Java類空間。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※想知道網站建置網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計後台網頁設計

※不管是台北網頁設計公司台中網頁設計公司,全省皆有專員為您服務

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

※帶您來看台北網站建置台北網頁設計,各種案例分享

中國林業草原局:2019造林逾億畝 貢獻全球綠化25%

摘錄自2020年1月1日中時電子報報導

據報,中國國家林業和草原局表示,去(2019)年積極推進大規模綠化行動,繼續實施生態保護和修復工程,總計造林1.06億畝。

其中包括治理沙化土地3390萬畝,完成石漠化綜合治理371萬畝,退耕還林工程造林1284.89萬畝,三北防護林工程營造林874.7萬畝,長江流域、珠江流域、沿海和太行山等重點防護林工程完成年度建設任務444.8萬畝。

美國太空總署NASA也表示,自2000年代初以來,全球綠葉面積增加5%,相當於一個亞馬遜雨林的面積,其中,中國貢獻25%;中國的森林擴大計畫對綠化的貢獻程度非常高,約占對全球綠化貢獻的42%。

中國官方制定造林企劃,最初的原因是為了改善生態環境、減少水土流失、空氣污染、應對風沙和沙漠化等一系列問題。

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !

停車場髒亂四小時內未清理 北市要罰

摘錄自2020年1月3日聯合報台北報導

環保局表示,停車場為公共空間,常有停車民眾隨手棄置垃圾、菸蒂等,加上管理單位疏於維護,導致環境髒亂影響市容。

因此,環保局2019年邀集停管處及停車場業者溝通,訂定「台北市公私立停車場環境清潔自主管理項目」,供業者自我檢核維護停車場,會中業者也抱怨,丟垃圾的是沒公德心的停車民眾,若為此遭環保局人員勸導、甚至開罰有些不公平。

環保局環境清潔管理科長黃寬助表示,停車場環境適用廢棄物清理法,自主管理項目包含落實定期派員巡場清掃場內環境、不堆置垃圾及散落菸蒂、清除積水容器避免病媒蚊孳生、定期修剪維護場內草長不逾30公分,還有加強場內公廁品質,達到不髒、不濕、不臭的原則等。

若發現環境髒亂,將要求業者四小時內改善,若複查沒改善者,可開罰1200元到6000元;若業者監視器拍到亂丟垃圾的停車民眾,可交給環保局,以車追人開罰1200元到6000元。

本站聲明:網站內容來源於https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※各大品牌中古空壓機買賣情報站

※【找工作】徵求中部倉庫堆高機人員

※選用哪種桶裝水,外宿露營超方便?

連續封口機購物網-不怕你比價,就怕你買貴!

塑膠射出成型不良品原因及改善對策 !