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

資訊專欄INFORMATION COLUMN

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

or0fun / 1018人閱讀

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

前言

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

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

這里就給大家講一下JVM。

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

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

JVM是什么?

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

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

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

學(xué)jvm的目就是:

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

面試!面試!還是面試!

JVM是怎么玩的

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

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

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

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

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

列表項(xiàng)目

方法區(qū)

BAT的JVM面試題

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

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

棧是什么?

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

FILO
先進(jìn)后出

虛擬機(jī)棧

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

深入理解虛擬機(jī)棧

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

代碼:

public int calc(){

int a=100;

int b=200;

int c=300;

return(a+b)*c;

}

虛擬機(jī)棧的異常

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

OutOfMemeoryError異常
原因:多線程環(huán)境下虛擬機(jī)在擴(kuò)展棧時(shí)無(wú)法申請(qǐng)到足夠的內(nèi)存空間。
解決辦法:減少默認(rèn)棧的容量來(lái)?yè)Q取更多的線程支持。

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

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

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

直接內(nèi)存

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

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

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

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

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

相關(guān)文章

  • Java序員不識(shí)Jvm面目只緣身在增刪改中

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

    ivydom 評(píng)論0 收藏0
  • 入坑codewars

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

    sherlock221 評(píng)論0 收藏0
  • 雜篇 - Vue豆瓣系列文章

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

    lijinke666 評(píng)論0 收藏0
  • 后端API從入門到放棄指北

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

    Jeffrrey 評(píng)論0 收藏0
  • 后端API從入門到放棄指北

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

    sf190404 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

or0fun

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<