深入理解java虛擬機系列初篇(一):為什麼要學習JVM?

前言
本來想着關於寫JVM這個專欄,直接寫知識點乾貨的,但是想着還是有必要開篇講一下為什麼要學習JVM,這樣的話讓一些學習者心裏有點底的感覺比較好…

原因一:面試

不得不說,隨着互聯網門檻越來越高,JVM知識也是中高級程序員階段必問的一個話題!現在不像以前了,以前會點html都好找工作,現在由於學習軟件的人越來越多,而且每年大學生都在畢業(而老一輩的也很少換工作)人只會越來越多,隨便在大街上拉一個頭髮茂盛的大叔都可能就是搞軟件的,現在有一股妖風,不管啥公司都慢慢像阿里這樣的大公司靠近,面試不問點jvm、併發、分佈式都不好意思(雖然公司可能沒有用到,雖然可能僅僅CURD),老是覺得問問這些顯得逼格高點,不管處於什麼原因很多公司的確都是這樣的!

所以我不得不相信很多人一開始接觸 Java 虛擬機只是因為面試需要用到,所以硬着頭皮去學。所以很多人對於為什麼要學虛擬機這個問題,一致的答案皆是:因為面試。

其實學習JVM並不僅僅在於面試,而在於更深入地理解 Java 這門語言,以及為未來排查線上問題打下基礎。其實說白了,還是得先 好(通)好(過)學(面)java(試)….

然而現實就是這樣,畢竟現實源於生活!也正是因為生活學習JVM為了面試的同時也為今後更好的學習java打下了基礎!

原因二:為了深入地理解 Java 這門語言

學習 Java 虛擬機能深入地理解 Java 這門語言。對於剛剛工作一兩年的朋友來說,各個 API 都沒用熟,自然不會去深入研究 Java 中的各種細節。如果你這輩子只甘心做一個平庸的Java碼農,那麼你完全沒有必要去學習JVM相關的知識。

但對於工作了三年以後的朋友來說,很多時候你要解決一個問題必須深入到字節碼層次去分析,你才能得到準確的結論,而字節碼就是虛擬機的一部分。

深入地理解 Java 這門語言實例:

1、我們常用的布爾型 Boolean,我們都知道它有兩個值,true 和 false。但你們知道其實在運行時,Java 虛擬機是沒有布爾型 Boolean 這種類型的。Boolean 型在虛擬機中使用整型的 1 和 0 表示。

2、我們都知道類路徑和類名唯一確定一個類,但事實上並不是這樣。或者說,我們前面說的結論只是表面上的。如果深入到虛擬機層面來說,類加載器、類路徑、類名才唯一決定一個類。也就是說,如果兩個不同的類加載器它們加載同一個 class 類文件,那這兩個類加載器加載的類就是不同的。

以上兩個例子如果你不懂虛擬機的一些基礎知識,那麼你就很難深入理解一些細節。

不說別的,就光和同事聊天,同事說到什麼新生代老年代問你一個GC日誌排查,你沒有JVM基礎,賊尬,那個時候你就只會喊我C牛B….

原因三:學習虛擬機是為了今後更好的解決線上排查問題

學習虛擬機是為線上排查問題打下基礎。我們知道我們一個 Java 應用部署在線上機器上,肯定時不時會出現問題。除去網絡、系統本身問題,很多時候 Java 應用出現問題,就是 Java 虛擬機的內存出現了問題。要麼是內存溢出了,要麼是 GC 頻繁導致響應慢等等。

那如何解決這些問題呢?首先,你必須學會看懂日誌吧。那麼你就必須要看得懂 GC 日誌,這是 Java 虛擬機內容的一部分。你看懂了 GC 日誌,那麼你就得明白什麼是年輕代、老年代、永久代、元數據區等,這些就是 Java 虛擬機的內存模型。你懂了 Java 虛擬機的內存模型,那你就得知道 Java 虛擬機是如何進行垃圾回收的,它們使用的垃圾回收算法是怎樣的,它們有何優缺點。接下來就是各種垃圾回收器的特性。

你看,這一切東西都是相關聯的。你想要解決線上的 Java 應用崩潰問題,那麼你就必須學會 GC 日誌。要看懂 GC 日誌,就必須學習 Java 虛擬機內存模型。要看懂 Java 虛擬機內存模型,你就要學會垃圾回收機制等等。

學習JVM的好處

學習JVM對於一個Java程序員的好處大概可以概括為下六點:

1、能夠明白為什麼Java最早期被稱為解釋型語言,而後來為什麼又被大家叫做解釋與編譯並存的語言(了解JVM中解釋器以及即時編譯器就可以回答這個問題);
2、你能夠理解動態編譯與靜態編譯的區別,以及動態編譯相對於靜態編譯到底有什麼好處(JVM JIT);
3、能夠利用一些工具,jmap, jvisualvm, jstat, jconsole等工具可以輔助你觀察Java應用在運行時堆的布局情況,由此你可以通過調整JVM相關參數提高Java應用的性能;
4、可以清楚知道Java程序是如何執行的;
5、可以明白為什麼Java等高級語言具有可移植性強的特性。 其實這個問題相當於“為什麼C/C++程序員需要學體繫結構與編譯原理?“
6、能夠知道你的頭髮是怎麼沒有的

關於我之後的JVM專欄

其實在開始寫JVM專欄之前就很想寫一個併發編程專欄了,想了很久,最後還是決定先寫一個JVM專欄!學習JVM有一個最大的特點就是….學了就忘,嗯哼~

由於虛擬機種類繁多這裏就不一一列舉,最常用的就是Hotspot虛擬機(翻譯過來就是 熱 地點、斑點,理解為熱點也行)以後該專欄都是以Hotspot虛擬機為準的文章。

如果想要更深入的理解JVM推薦看周志明老師的《深入理解Java虛擬機》。實戰類型的,可以看葛一鳴老師的《實戰Java虛擬機》

為了方便大家學習JVM,不用去網上找相關書籍,博主準備了周志明老師的《深入理解Java虛擬機》电子書,慢慢啃吧hhhhhhhh…

周志明老師的《深入理解Java虛擬機》:
提取碼:i3xz

以下是本JVM專欄的文章:

盡量抽空更新…

再次提醒:學習JVM有一個最大的特點就是….學了就忘,嗯哼~

最後,歡迎各位關注我的公眾號,一起探討技術,嚮往技術,追求技術…

參考:
《深入理解Java虛擬機》

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

學習數據倉庫之構建

    數據庫有三級模型的概念,在這裏,數據倉庫也是有着三級模型並且是有着相似的思路。

1.概念模型

“信息世界”中的信息結構,也常常借用關係數據庫設計中的E-R方法,不過在數據倉庫的設計是以主題替代實體。

根據業務的範圍和使用來劃分主題

劃分的方法是首先要確定系統邊界,包括了解決策者需求(關注點),需求類型。通過對業務系統的詳細說明,確定數據覆蓋範圍,對數據進行梳理,列出數據主題詳細的清單,了解源數據狀況。

對每個數據主題都作出詳細的解釋,然後經過歸納、分類,整理成各個數據主題域,確定系統包含的主題。列出每個數據主題域包含哪些部分,並對每個數據主題域作出詳細的解釋,最後劃分成主題域概念模型。

2.邏輯模型

邏輯模型的設計是數據倉庫實施中最重要的一步,因為它直接反映了數據分析部門的實際需求和業務規則,同時對物理模型的設計和實現具有指導作用。它的特點就是通過實體和實體之間的關係勾勒出整個企業的數據藍圖和規劃。邏輯模型一般遵循第三範式,與概念模型不同,它主要關注細節性的業務規則,同時需要解決每個主題包含哪些概念範疇和跨主題域的繼承和共享的問題。

根據需求列出需要分析的主題,需求目標緯度指標,緯度層次分析的指標,分析的方法、數據來源等

對於一些緯度存在層次問題,比如說產品存在產品的類別,產品的子類別以及具體的產品

 

 

 在邏輯模型設計中需要考慮粒度層次的劃分。數據倉庫的粒度層次劃分直接影響了數據倉庫模型的設計,通常細粒度的數據模型直接從企業模型選取實體作為邏輯模型的實體,而粗粒度的數據模型需要經過匯總計算得到相應的實體。粒度決定企業數據倉庫的實現方式、性能、靈活性和數據倉庫的數據量。

粒度指的是描述數據的綜合程度。粒度規定了數據倉庫潛在的能力和靈活性,如果沒有粒度級別的變化,數據倉庫將不能回答需要低於所採用細節級的問題。同時,粒度級別是數據庫規模的主要決定因素之一,對操作的開銷及性能都有顯著影響。

數據粒度越小,信息越細,數據量越大;顆粒粒度越大就忽略了眾多的細節,數據量越小。

 3.物理模型

 將邏輯模型轉變為物理模型包括以下幾個步驟:

(1)實體名(Entity) 轉變為表名(Table)。

(2)屬性名(Attribute) 轉換為列名(Column) ,確定列的屬性(Property) 。

(3)確定表之間連接主鍵和外鍵屬性或屬性組。

 

     在物理模型設計中同時要考慮數據的存儲結構、存取時間、存儲空間利用率、維護代價等。根據數據的重要程度、使用頻率和響應時間將數據分類,不同類數據分別存放在不同存儲設備中,重要性高、經常存取並對反應時間要求高的數據存放在高速存儲設備上:存取頻率低或對存取響應時間要求低的數據可以存放在低速存儲設備上。根據數據量設定存儲塊、緩衝區大小和個數。

兩大類物理模型

數據倉庫的的數據模型相對數據庫更簡單一些,根據事實表和維度表的關係,主要有星形結構模型雪花型結構模型兩種。

當所有維表都直接連接到“事實表”上時,整個圖解就像星星一樣,故將該模型稱為星型模型。

星型架構是一種非規範化的結構,多維數據集的每一個維度都直接與事實表相連接,所以數據有一定的冗餘,如在商店維度表中,存在省A的城市B以及省A的城市C兩條記錄,那麼省A的信息分別存儲了兩次,即存在冗餘。

雪花型架構相對於星形架構的優點是,能夠直接利用現有的數據庫建模工具進行建模,提高工作效率;以後對維度表的變更會更加靈活,而星形結構會牽涉到大量的數據更新:由於不存在數據冗餘,因此數據的裝載速度會更快。雪花型架構通過去除了數據冗餘,通過最大限度地減少數據存儲量以及聯合較小的維表來改善查詢性能。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

南投搬家前需注意的眉眉角角,別等搬了再說!

新北清潔公司,居家、辦公、裝潢細清專業服務

前國務卿柯瑞 找柯林頓、狄卡皮歐「結盟」抗暖化

摘錄自2019年12月2日世界新聞網報導

全球暖化和氣候變遷的影響已經成為國安問題,甚至被喻為將可能導致「第三次世界大戰」,前國務卿柯瑞(John Kerry)近日召集許多有影響力人士,如國會議員、軍事專家及好萊塢名人等,組成跨黨派聯盟——「第零次世界大戰」(World War Zero),聯合對抗氣候變遷。

該組織成員除了前總統柯林頓(Bill Clinton)和卡特(Jimmy Carter),也聚集許多好萊塢名人如影星李奧納多‧狄卡皮歐(Leonardo DiCaprio)、史汀(Sting)及艾希頓庫奇(Ashton Kutcher)等人;該組織成員目前約60人,目標是在明年募到超過1000萬元資金,並舉辦跨黨派的「氣候會談」。

柯瑞在1日連同組織成員之一,共和黨籍前加州州長阿諾‧史瓦辛格( Arnold Schwarzenegger),對於聯盟的成立發言表示:「沒有任何國家真正把事情做好,他們甚至把問題變得更糟,所以我們才召集這些人」。

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

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

新北清潔公司,居家、辦公、裝潢細清專業服務

光一個塑膠瓶就有526隻受困 偏遠離島至少50萬隻寄居蟹死於塑膠垃圾

環境資訊中心綜合外電;姜唯 編譯;林大利 審校

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

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

德州化工廠二度爆炸 六萬人收疏散命令

摘錄自2019年11月28日聯合新聞網報導

美國德州西北部傑佛遜郡(Jefferson County)內奇斯港(Port Neches)一間石油化學工廠在當地時間27日凌晨突然爆炸,現場烈焰沖天並且在約12小時後發生第二度爆炸,當局已下令附近六萬居民強制疏散。

出事的石油化學工廠屬於TPC集團(TPC Group),主要生產用來製造合成橡膠的易燃氣體丁二烯(Butadiene),以及丁烷(Butane)等化學品,距離休士頓約85英里(136公里)。

第一起爆炸發生在27日凌晨約1點,威力之大,連48公里外住宅都能感受到震動,不少居民形容,「自己被巨大爆炸聲驚醒」、「身上滿是玻璃碎片」、「我聽到並感覺到我的房子在搖晃」。當時共有約30名員工在現場,共造成三人受傷,分別是兩名雇員、一名承包商,在治療後已出院。

在第一起爆炸後約12個小時,燃燒中的化學工廠再度爆炸。

德州傑佛遜郡法官布蘭尼克(Jeff Branick)下令,TPC工廠半徑4英里範圍(約6.4公里)內的民眾全數強制疏散,大約六萬人。布蘭尼克表示,現場滅火相關單位目前無法估計現場化學殘存量以及火勢燃燒速度。《CNN》報導,TPC集團衛生安全保障主管特伊.蒙克(Troy Monk)表示,至少有三個燃料槽失火,目前團隊正在努力保持周遭燃料槽溫度不要上升。

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

【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

南投搬家前需注意的眉眉角角,別等搬了再說!

新北清潔公司,居家、辦公、裝潢細清專業服務

孟加拉 氣候脆弱國家的綠能百分百之路

文:陳秉亨(蠻野心足生態協會理事長)

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

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

新北清潔公司,居家、辦公、裝潢細清專業服務

紐西蘭「白島火山」突襲式噴發:登島旅行團5死27失聯

摘錄自2019年12月9日聯合新聞網「轉角國際」報導

「島上已確定5死,但死傷數量恐不止這樣。」紐西蘭北島豐盛灣區的火山奇景名勝——白島(White Island,毛利語稱「Whakaari 」)——當地時間9日下午2時11分,突然無預警噴發。雖然噴發的時間與規模都不大,但事前全無偵測到地質活動的徵兆,因此噴發當下,島上仍有近百人的登島旅行團。目前紐西蘭總理已出面坐鎮警急應變,並派出警消海巡登島搜救,但直到傍晚為止已確認5人死亡、「20~30人仍下落不明」;已被救出的旅客則有多人遭火山碎屑集中,或遭噴發的高溫蒸氣嚴重灼傷,但由於災害海域已經入夜且仍有噴發可能,「因此救難特遣隊目前沒有辦法登島救援失聯者。」

位於紐西蘭北部沿海的「白島」,是地質景觀極為壯麗的海上火山島。其與紐西蘭北島的火山系統同為一脈,皆屬於活躍的「陶波火山帶」(TVZ)。由於過往白島的頻繁噴發,因此原住民毛利人稱其為「劇烈的火山」(Whakaari);而當英國探險家庫克船長(James Cook)於16世紀帶領歐洲艦隊航至紐西蘭後,則因Whakaari島上的灰白火山灰與噴發蒸氣,取名稱之為「白島」。

由於火山地形險峻不適人居,白島長年無人居住、鮮少開發,唯在19世紀末期曾短暫開礦採挖硫礦,但礦坑聚落卻在1914年遭山崩而下的火山泥流毀滅,白島礦業從此終止,直到1970年代才被列為保護區,並開始小額開放預約制的「登島觀光」。

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

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

青年與未來世代日開跑 以能力建置實踐巴黎協定

文:林佳儀(政大外交所)

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

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

新北清潔公司,居家、辦公、裝潢細清專業服務

縮小排放差距 仰賴六大部門減量力度

文:郭依潔(政大外交所研究生)

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

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

40年測量7萬個標本 科學家發現暖化讓鳥的體形變小了

環境資訊中心綜合外電;姜唯 編譯;林大利 審校

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

【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

南投搬家前需注意的眉眉角角,別等搬了再說!

新北清潔公司,居家、辦公、裝潢細清專業服務