国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java程序員:不識Jvm真面目,只緣身在增刪查改中

ivydom / 3490人閱讀

摘要:編譯器只需面向,生成能理解的代碼或字節(jié)碼文件。源文件經(jīng)編譯器,編譯成字節(jié)碼程序,通過將每一條指令翻譯成不同平臺機器碼,通過特定平臺運行。漲見識,字節(jié)碼執(zhí)行過程分析。解決辦法減少默認(rèn)棧的容量來換取更多的線程支持。

前言

JVM是java的核心和基礎(chǔ),在java編譯器和os平臺之間的虛擬處理器。它是一種基于下層的操作系統(tǒng)和硬件平臺并利用軟件方法來實現(xiàn)的抽象的計算機,可以在上面執(zhí)行java的字節(jié)碼程序。

java編譯器只需面向JVM,生成JVM能理解的代碼或字節(jié)碼文件。Java源文件經(jīng)編譯器,編譯成字節(jié)碼程序,通過JVM將每一條指令翻譯成不同平臺機器碼,通過特定平臺運行。

這里就給大家講一下JVM。

技術(shù)大咖帶你垂直打擊JVM

什么是運行時數(shù)據(jù)區(qū)? 我們一起來分享。
了解JVM底層原理,讓你的代碼擼得飛起。
搞定內(nèi)存溢出,漲薪升職。
漲見識,字節(jié)碼執(zhí)行過程分析。
直擊真相,原理和代碼全都有。
測試、效果演示及總結(jié)。

JVM是什么?

JDK: java development kit (Java開發(fā)工具包) 編譯、反編譯、調(diào)試等。

JRE: java runtime enviroment (Java運行環(huán)境)

JVM: java Virtual Mechinal (Java虛擬機) 一次編寫,到處運行!

學(xué)jvm的目就是:

提升代碼質(zhì)量、解決項目問題。

面試!面試!還是面試!

JVM是怎么玩的

類加載器:Class字節(jié)碼文件加載到內(nèi)存

執(zhí)行引擎:解析字節(jié)碼指令,得到執(zhí)行結(jié)果

運行時數(shù)據(jù)區(qū)

JVM運行時數(shù)據(jù)區(qū)

線程私有
程序計數(shù)器
虛擬機棧
本地方法棧
線程共享

列表項目

方法區(qū)

BAT的JVM面試題

JVM什么情況下會發(fā)生棧內(nèi)存溢出?

JVM中一次完整的GC流程是怎樣的?
GC——垃圾回收
完整意味著有多種情況
程序計數(shù)器
指向當(dāng)前線程正在執(zhí)行的字節(jié)碼指令的地址(行號)

棧是什么?

棧(Stack)
入口和出口只有一個
入棧
出棧

FILO
先進后出

虛擬機棧

虛擬機棧
創(chuàng)建一個線程就為線程分配一個虛擬機棧,它又會包含多個棧幀,因為每運行一個方法就創(chuàng)建一個棧幀。
運行時才有數(shù)據(jù)
棧幀
運行一個線程中的一個方法
1.局部變量表
2.操作數(shù)棧
3.動態(tài)連接
4.返回地址

深入理解虛擬機棧

演示一段代碼的方法的執(zhí)行過程

代碼:

public int calc(){

int a=100;

int b=200;

int c=300;

return(a+b)*c;

}

虛擬機棧的異常

StackOverFlowError異常
原因:執(zhí)行的虛擬機棧深度大于虛擬機棧允許的最大深度(方法的遞歸調(diào)用)。
解決辦法:增加默認(rèn)棧的容量。
棧容量 -Xss 默認(rèn)1M

OutOfMemeoryError異常
原因:多線程環(huán)境下虛擬機在擴展棧時無法申請到足夠的內(nèi)存空間。
解決辦法:減少默認(rèn)棧的容量來換取更多的線程支持。

JVM中線程共有的內(nèi)存區(qū)域

Java堆
Java堆是被所有線程共享的一塊內(nèi)存區(qū)域
所有的對象實例以及數(shù)組要在堆上分配

元數(shù)據(jù)區(qū)
老版本名稱:方法區(qū)(永久代)
類信息、常量、編譯后的代碼信息

直接內(nèi)存

以上源于一個視頻講解的概述總結(jié),后續(xù)將分享后半部分的內(nèi)容:

可達(dá)性分析算法——GC Roots
JVM中的堆
新生代為什么分三個區(qū)?
新生代對象的分配和回收
老年代對象的分配和回收
JVM中一次完整的GC流程是怎樣的?

**如果有興趣想了解視頻具體內(nèi)容的可以關(guān)注我,加入我的合作群(805685193)即可獲取原視頻。
還有一些Java架構(gòu)視頻講解,需要獲取Dubbo、Redis、設(shè)計模式、Netty、zookeeper、Spring cloud、分布式、高并發(fā)等架構(gòu)技術(shù)視頻教程資料,架構(gòu)思維導(dǎo)圖,和BATJ面試題及答案的,都是免費分享的。
關(guān)注我,加入我的合作群(805685193)即可獲取視頻。**

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/72987.html

相關(guān)文章

  • Java序員不識Jvm面目,只緣身在增刪改中

    摘要:編譯器只需面向,生成能理解的代碼或字節(jié)碼文件。源文件經(jīng)編譯器,編譯成字節(jié)碼程序,通過將每一條指令翻譯成不同平臺機器碼,通過特定平臺運行。漲見識,字節(jié)碼執(zhí)行過程分析。解決辦法減少默認(rèn)棧的容量來換取更多的線程支持。 前言 JVM是java的核心和基礎(chǔ),在java編譯器和os平臺之間的虛擬處理器。它是一種基于下層的操作系統(tǒng)和硬件平臺并利用軟件方法來實現(xiàn)的抽象的計算機,可以在上面執(zhí)行java的...

    or0fun 評論0 收藏0
  • 入坑codewars

    摘要:,黑色的主題風(fēng)格,很符合。時間復(fù)雜度雖然成功,但我明顯感覺代碼寫得不是很優(yōu)雅。這個是沒錯的,但缺乏了宏觀的視角,會變得片面。但是不重要,關(guān)鍵是這個思想要學(xué)習(xí),可以應(yīng)用到其他地方。求和,大于就返回偶數(shù)的位置,否則返回奇數(shù)的位置。 前幾天做LeetCode上的大數(shù)乘法,代碼沒錯,可就是提交不成功,顯示SyntaxError: Unexpected token var我把所有代碼都注釋掉,只...

    sherlock221 評論0 收藏0
  • 雜篇 - Vue豆瓣系列文章

    摘要:起初,項目使用的是,其提供的方法用著比較爽,由于項目的很多數(shù)據(jù)來自豆瓣的,直接上簡單方便,跨域什么的不考慮??缬騿栴},上面已經(jīng)介紹,在不能操控的豆瓣數(shù)據(jù)上,使用的是。 項目地址 在線演示 不識廬山真面目,只緣身在此山中。 大概一個月前,開源了Vue重構(gòu)豆瓣移動端的項目,效果還可以,收到了很多小伙伴的反饋,話說是要寫一些文章的,但遲遲沒有動筆,估計小伙伴們等的花都謝了,拖延癥是病,需要治...

    lijinke666 評論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊入門目標(biāo)使用搭建通過對數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計指南 RESTful API指南 依賴注入 D...

    Jeffrrey 評論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊入門目標(biāo)使用搭建通過對數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計指南 RESTful API指南 依賴注入 D...

    sf190404 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<