中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

微信網(wǎng)站是什么意思昆明網(wǎng)絡(luò)推廣公司排名

微信網(wǎng)站是什么意思,昆明網(wǎng)絡(luò)推廣公司排名,企業(yè)門戶網(wǎng)站頁面模板,企業(yè)宣傳片策劃方案文章目錄 初識jvm內(nèi)存結(jié)構(gòu)程序計數(shù)器(寄存器) 棧問題辨析內(nèi)存溢出 線程診斷本地方法棧Heap堆內(nèi)存溢出內(nèi)存診斷 方法區(qū)內(nèi)存溢出常量池 stringTable直接內(nèi)存垃圾回收 初識jvm JRE JVM 基礎(chǔ)類庫 JDK JRE 編譯工具 JavaSE JDK IDE工具 JavaEE JDK 應(yīng)用服務(wù)器 IDE工具 jvm是…

文章目錄

  • 初識jvm
  • 內(nèi)存結(jié)構(gòu)
    • 程序計數(shù)器(寄存器)
    • 問題辨析
    • 內(nèi)存溢出
  • 線程診斷
  • 本地方法棧
  • Heap堆
    • 內(nèi)存溢出
    • 內(nèi)存診斷
  • 方法區(qū)
    • 內(nèi)存溢出
    • 常量池
  • stringTable
  • 直接內(nèi)存
  • 垃圾回收

初識jvm

JRE = JVM + 基礎(chǔ)類庫
JDK = JRE + 編譯工具
JavaSE = JDK + IDE工具
JavaEE = JDK + 應(yīng)用服務(wù)器 +IDE工具
jvm是java程序的運行環(huán)境
好處:

  • 一次編寫,到處運行
  • 自動內(nèi)存管理,垃圾回收功能
  • 數(shù)組下標越界檢查
  • 多態(tài)
    學(xué)習(xí)路線:JVM內(nèi)存結(jié)構(gòu)–>垃圾回收GC–>Java Class–>ClassLoader–>JIT Compiler即時編譯器

在這里插入片描述

內(nèi)存結(jié)構(gòu)

程序計數(shù)器(寄存器)

用來記住此線程下一條jvm指令的執(zhí)行地址
特點:

  • 是線程私有的
  • 不會存在內(nèi)存溢出(唯一不會內(nèi)存溢出的jvm內(nèi)存結(jié)構(gòu))

每個棧都是一個線程運行需要的內(nèi)存空間
棧幀,每個方法運行時需要的內(nèi)存
每個線程只能有一個活動棧幀,對應(yīng)著當前正在執(zhí)行的那個方法
在調(diào)試里面可以看棧\棧幀\內(nèi)存\開銷等

問題辨析

垃圾回收是否涉及棧內(nèi)存?
不需要,棧幀運行完,自動回收
棧內(nèi)存定義分配越大越好嘛
不一定,棧內(nèi)存定義越大,同時運行的線程越少
方法內(nèi)的局部變量是否線程安全?

  • 如果方法局部變量沒有逃離方法的作用訪問,它是線程安全的
  • 如果是局部變量引用了對象,并逃離方法的作用方法(返回值),需要考慮線程安全
    是不是線程安全的,主要看是不是有變量線程共享,有變量線程共享就可能引發(fā)安全問題,也要看后續(xù)采取的解決措施

內(nèi)存溢出

棧溢出異常:stackOverFlowError
一般一個棧為1024K大小

  • 棧幀過多導(dǎo)致棧內(nèi)存溢出
  • 棧幀過大導(dǎo)致棧內(nèi)存溢出

線程診斷

CPU占用過多

  • top定位哪個進程對cpu的占用過高
  • ps H -eo pid,tid,%cpu | grep 進程id(用ps命令進一步定位是哪個線程引起的cpu占用過高)
  • jstack 進程id,可以根據(jù)線程id找到有問題的線程,進一步定位到問題代碼的源碼行號
    程序運行很長時間沒有結(jié)果
    比如,死鎖
  • 還是用jstack 進程id排查

本地方法棧

存放一些不用java代碼實現(xiàn)的代碼,比如調(diào)用一些底層的C代碼(比如系統(tǒng)函數(shù),java實現(xiàn)不了的功能),提供內(nèi)存空間

Heap堆

通過new關(guān)鍵字,創(chuàng)建對象都會使用堆內(nèi)存
特點

  • 線程共享,堆中對象都需要考慮線程安全的問題
  • 有垃圾回收機制

內(nèi)存溢出

堆溢出異常:OutOfMemoryError
堆空間大小同樣可以設(shè)置

內(nèi)存診斷

  • jps工具,查看當前系統(tǒng)中有哪些java進程
  • jmap工具,查看堆內(nèi)存占用情況,jmap -heap 進程id
  • jconsole工具,圖形界面的,多功能的檢測工具,可以連續(xù)監(jiān)測
  • jvisualvm,可視化虛擬機jconsole的加強工具

方法區(qū)

方法區(qū)的存儲與堆的區(qū)別:
方法區(qū)內(nèi)容,類名\字段\方法的字節(jié)碼,靜態(tài)變量
堆內(nèi)容,new出來的對象

內(nèi)存溢出

  • 1.8以前會導(dǎo)致永久代內(nèi)存溢出
  • 1.8以后會導(dǎo)致元空間內(nèi)存溢出
    在這里插入圖片描述從圖中可以看到,方法區(qū)一直是一個概念性的區(qū)域,1.6時,就是堆中的永久代,(其實圖中不應(yīng)該把堆和方法區(qū)分成兩塊)
    1.8以后從堆中分離,放入本地內(nèi)存中

常量池

.class反編譯后可以顯示,類基本信息\常量池\類方法定義\包含了虛擬機指令
常量池會保存類的信息
常量池,就是一張表,虛擬機指令根據(jù)這張常量表找到要執(zhí)行的類名\方法名\參數(shù)類型\字面量等信息
運行時常量池,常量池是*.class文件中的,當該類被加載,它的常量池信息就會放入運行時常量池,并把里面的符號地址變?yōu)檎鎸嵉刂?/p>

stringTable

底層原理還是要看反編譯的class文件是怎么做的,因為java在語法上有語法糖等因素,不夠清晰

直接內(nèi)存

垃圾回收

http://www.risenshineclean.com/news/27550.html

相關(guān)文章:

  • 如何鑒別建設(shè)銀行網(wǎng)站真?zhèn)位潴w育網(wǎng)體育
  • 杭州推薦網(wǎng)站建設(shè)團隊深圳做推廣哪家比較好
  • 做建筑設(shè)計網(wǎng)站怎么建立網(wǎng)站平臺
  • 坊網(wǎng)站建設(shè)seo快速排名工具
  • ps怎么排版規(guī)劃設(shè)計網(wǎng)站國外網(wǎng)站推廣平臺有哪些?
  • 在線咨詢網(wǎng)站模板做app推廣去哪找商家
  • 網(wǎng)站建設(shè)模板網(wǎng)站排名優(yōu)化快速
  • 自建個人網(wǎng)站怎么自己創(chuàng)建一個網(wǎng)頁
  • wordpress 游戲模版seo輿情優(yōu)化
  • crm管理seo培訓(xùn)一對一
  • 做網(wǎng)站應(yīng)注意什么新網(wǎng)域名注冊查詢
  • 寶安商城網(wǎng)站建設(shè)哪家便宜百度搜索引擎平臺
  • 興化網(wǎng)站建設(shè)推廣軟文發(fā)布平臺
  • 做任務(wù)得傭金的網(wǎng)站seo綜合查詢中的具體內(nèi)容有哪些
  • 怎么做免費的網(wǎng)站推廣高級seo
  • oa軟件開發(fā)定制seo求職
  • 網(wǎng)站文字設(shè)計搜索引擎營銷sem包括
  • 一個公司多個網(wǎng)站做優(yōu)化今天新聞頭條
  • 網(wǎng)站建設(shè)與維護作業(yè)東莞seo計費管理
  • 網(wǎng)站建設(shè)推廣怎么做百度旗下產(chǎn)品
  • 建設(shè)網(wǎng)站后怎么發(fā)布長沙網(wǎng)絡(luò)推廣公司
  • 網(wǎng)站打開的速度慢網(wǎng)絡(luò)營銷的工具和方法有哪些
  • wordpress儀表盤文件目錄seo挖關(guān)鍵詞
  • 微信小程序怎么做購物網(wǎng)站推廣普通話的宣傳內(nèi)容
  • 創(chuàng)業(yè) 做網(wǎng)站培訓(xùn)心得簡短200字
  • 邱縣網(wǎng)站建設(shè)今日國內(nèi)新聞大事20條
  • 四川省建設(shè)資格注冊中心網(wǎng)站重慶seo公司怎么樣
  • 龍巖做網(wǎng)站多少錢競價網(wǎng)絡(luò)推廣外包
  • 網(wǎng)站制作那家便宜網(wǎng)絡(luò)營銷有哪些推廣方式
  • 營銷微網(wǎng)站建設(shè)公司seo推廣方案怎么做