日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 如何正確理解Java領(lǐng)域中的內(nèi)存模型,主要是解決了什么問題?(一)

如何正確理解Java領(lǐng)域中的內(nèi)存模型,主要是解決了什么問題?(一)

來源:千鋒教育
發(fā)布人:qyf
時間: 2022-08-02 17:43:00 1659433380

  這些年,隨著CPU、內(nèi)存、I/O 設(shè)備都在不斷迭代,不斷朝著更快的方向努力。在這個快速發(fā)展的過程中,有一個核心矛盾一直存在,就是這三者的速度差異。CPU 和內(nèi)存的速度差異可以形象地描述為:CPU 是天上一天,內(nèi)存是地上一年(假設(shè) CPU 執(zhí)行一條普通指令需要一天,那么 CPU 讀寫內(nèi)存得等待一年的時間)。內(nèi)存和 I/O 設(shè)備的速度差異就更大了,內(nèi)存是天上一天,I/O 設(shè)備是地上十年。

  我們都知道的是,程序里大部分語句都要訪問內(nèi)存,有些還要訪問 I/O,根據(jù)木桶理論(一只水桶能裝多少水取決于它最短的那塊木板),程序整體的性能取決于最慢的操作——讀寫 I/O 設(shè)備,也就是說單方面提高 CPU 性能是無效的。

  為了合理利用 CPU 的高性能,平衡這三者的速度差異,計算機體系結(jié)構(gòu)、操作系統(tǒng)、編譯程序都做出了貢獻,主要體現(xiàn)為:

  現(xiàn)代計算機在CPU 增加了緩存,以均衡與內(nèi)存的速度差異

  操作系統(tǒng)增加了進程、線程,以分時復(fù)用 CPU,進而均衡 CPU 與 I/O 設(shè)備的速度差異

  編譯程序優(yōu)化指令執(zhí)行次序,使得緩存能夠得到更加合理地利用

  由此可見,雖然現(xiàn)在我們幾乎所有的程序都默默地享受著這些成果,但是實際應(yīng)用程序設(shè)計和開發(fā)過程中,還是有很多詭異問題困擾著我們。

  基本概述

1


  每當(dāng)提起Java性能優(yōu)化,你是否有想過,真正需要我們優(yōu)化的是什么?或者說,指導(dǎo)我們優(yōu)化的方向和目標(biāo)是否明確?甚至說,我們所做的一切,是否已經(jīng)達到我們的期望了呢?接下來,我們來詳細探討一下。

  性能優(yōu)化根據(jù)優(yōu)化的方向和目標(biāo)來說,大致可以分為業(yè)務(wù)優(yōu)化和技術(shù)優(yōu)化。業(yè)務(wù)優(yōu)化產(chǎn)生的影響是非常巨大的,一般最常見的就是業(yè)務(wù)需求變更和業(yè)務(wù)場景適配等,當(dāng)然這是產(chǎn)品和項目管理的工作范疇。而對于我們開發(fā)人員來說,我們需要關(guān)注的和直接與我們相關(guān)的,主要是通過一系列的技術(shù)手段,來完成我們對既定目標(biāo)的技術(shù)優(yōu)化。其中,從技術(shù)手段方向來看,技術(shù)優(yōu)化主要可以從復(fù)用優(yōu)化,結(jié)果集合優(yōu)化,高效實現(xiàn)優(yōu)化,算法優(yōu)化,計算優(yōu)化,資源沖突優(yōu)化和JVM優(yōu)化等七個方面著手。

  一般來說,技術(shù)優(yōu)化基本都集中在計算機資源和存儲資源的規(guī)劃上,最直接的就是對于服務(wù)器和業(yè)務(wù)應(yīng)用程序相關(guān)的資源做具體的分析,在照顧性能的前提下,同時也兼顧業(yè)務(wù)需求的要求,從而達到資源利用最優(yōu)的狀態(tài)。一味地強調(diào)利用空間換時間的方式,只看計算速度,不考慮復(fù)雜性和空間的問題,確實有點不可取。特別是在云原生時代下和無服務(wù)時代,雖然模糊和減少了開發(fā)對這些問題的距離,但是我們更加需要了解和關(guān)注這些問題的實質(zhì)。

  特別指出的是,JVM優(yōu)化。由于使用Java編寫的應(yīng)用程序,本身Java是運行在JVM虛擬機上的,這就意味著它會受到JVM的制約。對于JVM虛擬機的優(yōu)化。一定程度上會提升Java應(yīng)用程序的性能。如果參數(shù)配置不當(dāng),導(dǎo)致內(nèi)存溢出(OOM異常)等問題,甚至引發(fā)比這更嚴(yán)重的后果。

  由此可見,正確認識和掌握JVM結(jié)構(gòu)相關(guān)知識,對于我們何嘗不是一個進階的技術(shù)方向。當(dāng)然,JVM虛擬機這一部分的內(nèi)容,相對編寫Java程序來說,更加比較枯燥無味,概念比較多且抽象,需要我們要有更多的耐心和細心。我們都知道,一顆不浮躁的心,做任何事都會收獲不一樣的精彩。

  更多關(guān)于“java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
主站蜘蛛池模板: 马山县| 都江堰市| 鄯善县| 阿克苏市| 凤翔县| 北宁市| 铜梁县| 英超| 大庆市| 松潘县| 建德市| 神池县| 乌拉特中旗| 吴堡县| 那坡县| 肥西县| 汉源县| 丰县| 横峰县| 穆棱市| 左云县| 会同县| 团风县| 林甸县| 什邡市| 朝阳县| 建水县| 古田县| 平定县| 上栗县| 赫章县| 泽州县| 永宁县| 菏泽市| 新巴尔虎右旗| 连平县| 乡城县| 新晃| 临颍县| 苏尼特左旗| 法库县|