欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

JVM指針壓縮的工作原理

OSC開源社區(qū) ? 來(lái)源: 得物技術(shù) ? 2023-10-16 15:08 ? 次閱讀

前言

當(dāng)今,Java已經(jīng)成為了世界上最流行的編程語(yǔ)言之一。在Java的生態(tài)系統(tǒng)中,JVM(Java虛擬機(jī))是至關(guān)重要的組成部分。JVM 是 Java 程序運(yùn)行的環(huán)境,它負(fù)責(zé)將 Java 字節(jié)碼翻譯成機(jī)器碼,并執(zhí)行程序。在 JVM 中,內(nèi)存使用以及分配一直是個(gè)重要的問(wèn)題。

在 32 位系統(tǒng)中,一枚指針占用 4 字節(jié),隨著 64 位系統(tǒng)的逐漸普及,指針的大小也增長(zhǎng)到了 8 個(gè)字節(jié),JVM 為了降低內(nèi)存占用,使用了指針壓縮技術(shù)來(lái)降低內(nèi)存的占用,接下來(lái),我們將自頂向下的深入探討 JVM 指針壓縮的工作原理。

理解壓縮指針

為什么 JVM 需要壓縮指針?

在計(jì)算機(jī)中,指針的大小通常取決于計(jì)算機(jī)的字長(zhǎng)。例如,在 32 位系統(tǒng)一字長(zhǎng)為 4 字節(jié),即一枚指針的占用內(nèi)存空間大小為 4 字節(jié)。隨著計(jì)算機(jī)性能的提升,內(nèi)存價(jià)格的降低,64 位系統(tǒng)也開始逐漸普及。而在 64 位系統(tǒng)中,字長(zhǎng)和指針也由原來(lái)的增長(zhǎng)到 8 個(gè)字節(jié),JVM 為了降低內(nèi)存占用,開發(fā)了指針壓縮算法,即:在 64 位系統(tǒng)中,指針依然使用 4 字節(jié)存儲(chǔ)。

數(shù)據(jù)指針與字長(zhǎng)的關(guān)系

字長(zhǎng)是指一臺(tái)計(jì)算機(jī)中處理器可以一次性處理的二進(jìn)制數(shù)字的位數(shù)。它通常是 8 位、16 位、32 位或 64 位,這意味著在一次處理中可以處理 8 個(gè)、16 個(gè)、32 個(gè)或 64 個(gè)二進(jìn)制數(shù)字。字長(zhǎng)越長(zhǎng),計(jì)算機(jī)處理數(shù)據(jù)的能力越強(qiáng),但同時(shí)也會(huì)增加計(jì)算機(jī)的成本和復(fù)雜度。

CPU 的上下文是寄存器,CPU 運(yùn)算的本質(zhì)就是不斷從 CS IP 寄存器中取指令然后執(zhí)行,CPU 運(yùn)算所需的數(shù)據(jù)也是放在寄存器里,CPU 一次性處理的數(shù)據(jù)大小就是寄存器的大小。

6474b5ca-68f3-11ee-939d-92fbcf53809c.png

上圖左側(cè)是一段簡(jiǎn)單的 C 語(yǔ)言代碼片段,右側(cè)是該代碼的匯編代碼(即 CPU 執(zhí)行這段代碼的實(shí)際機(jī)器碼的解釋)。

647dfde2-68f3-11ee-939d-92fbcf53809c.png

CPU 執(zhí)行計(jì)算時(shí),需要先將數(shù)據(jù)讀取到寄存器,存取內(nèi)存中的變量時(shí),是直接操作變量所在地址及偏移量,而變量所在地址(即指針)也是存儲(chǔ)在寄存器中的,因此寄存器大小直接決定了 CPU 所能訪問(wèn)內(nèi)存的地址空間。因此,在 32 位系統(tǒng)中,寄存器的最大長(zhǎng)度是 32 bit(即 4 個(gè)字節(jié)),因此最大支持訪問(wèn) 4GB 的內(nèi)存空間,在 64 位系統(tǒng)中,寄存器最大 64 bit(即 8 字節(jié))。而數(shù)據(jù)的指針由于需要指向整個(gè)內(nèi)存空間,因此也就是 8 字節(jié)。8 字節(jié)大小的指針?biāo)茉试S訪問(wèn)的最大地址為:16EB(16384PB=16777216TB=17179869184GB)的內(nèi)存空間。

所以字長(zhǎng)其實(shí)就等于寄存器的大小,指針為了能指向整個(gè)內(nèi)存空間,通常也等于字長(zhǎng)大小。

理解內(nèi)存對(duì)齊

這是一段簡(jiǎn)單的 C 語(yǔ)言代碼:


#include 
struct Test {
    int a;
    char b;
    int c;
} test;


int main(void) {
    test.a = 1;
    test.b = 2;
    test.c = 3;
    printf("struct Test size: %d
", sizeof(test));
    return 0;
}

在 C 語(yǔ)言中,結(jié)構(gòu)體數(shù)據(jù)是連續(xù)的,Int 為 4 字節(jié),Char 為 1 字節(jié),所以 Struct Test 為 9 字節(jié)。

但是實(shí)際輸出結(jié)果卻是 12 字節(jié):

64868ef8-68f3-11ee-939d-92fbcf53809c.png

649650d6-68f3-11ee-939d-92fbcf53809c.png

通過(guò)匯編指令可以分析出,結(jié)構(gòu)體 Test 的內(nèi)存布局如下:

64af6440-68f3-11ee-939d-92fbcf53809c.png

可以看出,在 Char 類型數(shù)據(jù)后面被空出了 3 個(gè)字節(jié)的位置,原因如下:

計(jì)算機(jī)只能從 4 字節(jié)的整數(shù)倍開始尋址,如果在 Char b 后不進(jìn)行空數(shù)據(jù)填充,則編譯后的指令會(huì)很長(zhǎng),極大的降低 CPU 執(zhí)行效率:

64b3f2c6-68f3-11ee-939d-92fbcf53809c.png

所以在 JVM 中,對(duì)象的存儲(chǔ)也是如此設(shè)計(jì):

class Test {
    int a;
    char b;
    int c;
}
對(duì)象布局如下:

64c12522-68f3-11ee-939d-92fbcf53809c.png

可以看出 Char b 數(shù)據(jù)后空出了 3 個(gè)字節(jié)的內(nèi)存空間作為 Padding, 以供后面的對(duì)象進(jìn)行內(nèi)存對(duì)齊。

為什么計(jì)算機(jī)只能從特定地址讀取數(shù)據(jù)?

計(jì)算機(jī)之所以只能從特定地址開始讀取數(shù)據(jù),是由于在內(nèi)存中存儲(chǔ)的物理位置導(dǎo)致的。

64cbb7b2-68f3-11ee-939d-92fbcf53809c.jpg

這是一根內(nèi)存條,上面有 4 個(gè)內(nèi)存顆粒(Chip),在我們聲明一個(gè)變量 Int a = 1;時(shí),CPU 想一次從內(nèi)存中同時(shí)取出 32 位數(shù)據(jù),為了發(fā)揮并行傳輸數(shù)據(jù)的能力,同時(shí)與 4 個(gè)內(nèi)存顆粒進(jìn)行交互肯定比一個(gè)內(nèi)存交互要快,因此數(shù)據(jù) a 分別在 4 個(gè)顆粒中存儲(chǔ) 0x01 0x00 0x00 0x00。

64d2abf8-68f3-11ee-939d-92fbcf53809c.png

每個(gè)內(nèi)存顆粒 Chip 中有 8 個(gè) bank,每次同時(shí)從 8 個(gè) bank 中取一位數(shù)據(jù)。

64d8c074-68f3-11ee-939d-92fbcf53809c.png

為了盡可能節(jié)約地址總線位數(shù),變量 a 的每字節(jié)數(shù)據(jù)在各 Chip 中相對(duì)位置是相同的,每字節(jié)中的每位數(shù)據(jù)在 bank 中的行數(shù)和列數(shù)也是相同的。

總結(jié),為了能利用有限的地址總線,盡量快速尋址到盡可能多的數(shù)據(jù),在設(shè)計(jì)計(jì)算機(jī)時(shí)取了巧,CPU 同時(shí)只能訪問(wèn) 32 個(gè)相對(duì)地址相同的數(shù)據(jù)位,表現(xiàn)上就是只能從被 4 字節(jié)整除的地址開始尋址。

理解指針壓縮

在 64 位系統(tǒng)中,JVM 為了降低 8 字節(jié)的指針對(duì)內(nèi)存的占用,使用了指針壓縮的技術(shù),將 8 字節(jié)的指針壓縮為 4 字節(jié)。

前面說(shuō)到,JVM 出于性能考慮,對(duì)數(shù)據(jù)做了對(duì)齊到 4 字節(jié)的處理,因此指針的值末尾 5 bit 始終為 0B11111。JVM 的指針壓縮算法就是,把本來(lái)應(yīng)該使用 8 個(gè)字節(jié)的指針,直接改為 4 字節(jié)的進(jìn)行代替,那么 4 字節(jié)的指針實(shí)際最高可以表示 32G 的內(nèi)存空間。這也就是為什么當(dāng)物理內(nèi)存超過(guò) 32G 時(shí),需要關(guān)閉 JVM 指針壓縮。

實(shí)戰(zhàn)解碼指針

工具介紹

HSDB

HSDB(HotSpot Debugger),是一個(gè)用于 HotSpot 虛擬機(jī)的調(diào)試工具。它提供了一種可視化的方式來(lái)查看和調(diào)試 Java 應(yīng)用程序在 JVM 上的運(yùn)行情況。HSDB 可以用于分析線程、堆、類、對(duì)象、方法、編譯器和代碼緩存等方面的信息。它還可以用于監(jiān)視虛擬機(jī)性能和調(diào)試?yán)厥掌鳌SDB 是一個(gè)非常強(qiáng)大的工具,可以幫助開發(fā)人員更好地理解和優(yōu)化 Java 應(yīng)用程序的性能。

官方提供的 HSDB 命令行不是很好用,比如命令補(bǔ)全、命令提示、光標(biāo)移動(dòng)、命令歷史記錄等都不存在,所以本次分享講利用 PerfMa 開源的 XPocket 工具,配合 HSDB 插件來(lái)操作。

XPocket 工具

XPocket 是 PerfMa 為解決性能問(wèn)題而生的開源的插件容器,它是性能領(lǐng)域的樂(lè)高,將定位或者解決各種性能問(wèn)題的常見(jiàn)的 Linux 命令,JDK 工具,知名性能工具等適配成各種 XPocket 插件,并讓它們可以相互聯(lián)動(dòng)一鍵解決特定的性能問(wèn)題。目前 XPocket 插件生態(tài)已經(jīng)實(shí)現(xiàn)了 HSDB、JDB、JConsole、Perf、Arthas 等多個(gè)優(yōu)秀的開源性能工具的插件化集成。

快速開始

下載 XPocket,然后解壓運(yùn)行。


wget https://a.perfma.net/xpocket/download/XPocket.tar.gz
tar -xvf  XPocket.tar.gz
sh xpocket/xpocket.sh

64e2513e-68f3-11ee-939d-92fbcf53809c.png


# 切換至 HSDB 插件空間
XPocket [system] > use jhsdb@JDK
# 啟動(dòng) clhsdb 命令行
XPocket [jhsdb] > clhsdb
# attach 到目標(biāo)進(jìn)程
XPocket [jhsdb] > attach 29516

利用 HSDB 查看 JVM 對(duì)象內(nèi)存布局

準(zhǔn)備工作

編寫一個(gè)測(cè)試類,啟動(dòng) JVM 進(jìn)程。


@Data
@Component
public class BeanTest {
    private long l = 1;
    private BeanTest pointer = this;
    private int i = 2;
    private boolean b = false;
    private char c = 3;
    private BeanTest[] arr = {this};
}

想要查看對(duì)象的內(nèi)存布局,首先要找到這個(gè)對(duì)象所在位置,JVM 的對(duì)象分布在堆上,可以通過(guò) Universe 命令確定堆內(nèi)的相關(guān)區(qū)域?qū)?yīng)位置。


# 執(zhí)行以下命令,切換至 HSDB 插件
XPocket [system] > use jhsdb@JDK
# 啟動(dòng) HSDB 插件
XPocket [jhsdb] > clhsdb
# 通過(guò) jps 命令,查詢 JVM 進(jìn)程的 pid,attach 到這個(gè) JVM 進(jìn)程
XPocket [jhsdb] > attach 29516
# 執(zhí)行 universe 命令,查看堆內(nèi)存分布情況
XPocket [jhsdb : 29516] > universe

內(nèi)存分布情況如下:

64ebdb28-68f3-11ee-939d-92fbcf53809c.png

括號(hào)內(nèi)的第一個(gè)值為內(nèi)存起始位置,第二個(gè)值為已使用的位置,第三個(gè)值為該區(qū)域最大地址。以上圖 eden 區(qū)為例:

eden 區(qū)空間范圍為:0x00000000fab00000 ~ 0x00000000fef00000,相減得到 71303168,68MB。

eden 區(qū)已使用空間為:0x00000000fab00000 ~ 0x00000000fafd2a60,相減得到 5057120,4.82M。

找到我們定義的對(duì)象

我們要找的對(duì)象是受 Spring 管理的,所以很容易判斷,通常情況下都會(huì)在老年代里。那么我們直接在老年代內(nèi)檢索這個(gè)對(duì)象即可。由于 Oop(簡(jiǎn)單對(duì)象指針)是所有 Java 對(duì)象的基類,所以我們可以利用 Scanoops 命令來(lái)檢索這個(gè)對(duì)象。

XPocket [jhsdb : 29516] > scanoops 0x00000000f0000000 0x00000000f1265ca8 com.poizon.robot.test.BeanTest
檢索到的結(jié)果如下:

64fa50e0-68f3-11ee-939d-92fbcf53809c.png

0x00000000f1060898 是這個(gè)對(duì)象實(shí)例的內(nèi)存地址,也就是該對(duì)象的指針值。

查看對(duì)象內(nèi)存布局

然后我們就可以通過(guò) Inspect 命令來(lái)查看該對(duì)象的內(nèi)存布局了。


XPocket [jhsdb : 29516] > inspect 0x00000000f1060898

得到結(jié)果如下:

6504f068-68f3-11ee-939d-92fbcf53809c.png

注意:這里顯示的數(shù)據(jù)是按照類變量順序來(lái)展示的,并非實(shí)際結(jié)構(gòu)

由圖返回結(jié)果可以看出, BeanTest 對(duì)象大小為 40 字節(jié),當(dāng)前系統(tǒng)為 X64 架構(gòu),一個(gè)字長(zhǎng)為 8 字節(jié),即此對(duì)象占用 5 個(gè)字長(zhǎng)。執(zhí)行 Mem 命令,獲取整個(gè)對(duì)象(5 個(gè)字長(zhǎng))的數(shù)據(jù)。


XPocket [jhsdb : 29516] > mem 0x00000000f1060898 5

得到結(jié)果如下:

650cdc38-68f3-11ee-939d-92fbcf53809c.png

左側(cè)為當(dāng)前字長(zhǎng)的數(shù)據(jù)起始地址,右側(cè)為數(shù)據(jù)值。

我們?cè)賮?lái)復(fù)習(xí)一遍對(duì)象頭(Oop數(shù)據(jù)),前 8 位是 Mark Word,后 8 位中,如果開啟了指針壓縮,則前 4 位為當(dāng)前實(shí)例所在類的指針,后 4 位填充當(dāng)前對(duì)象 <=4 字節(jié)的數(shù)據(jù)(Gap Padding);如果未開啟指針壓縮,則該 8 位為當(dāng)前實(shí)例對(duì)所在類的指針。

查找類的指針

我們這次啟動(dòng)的進(jìn)程開啟了指針壓縮,把第二個(gè)字長(zhǎng)的數(shù)據(jù)(0x000000022007a2bb)按 4 字節(jié)拆成兩部分:

0x00000002:BeanTest 對(duì)象中只有一個(gè)值為 2 ,所以該值是Int i = 2;

0x2007a2bb(類指針):前面說(shuō)過(guò),指針壓縮的原理只是簡(jiǎn)單的把 8 字節(jié)指針削減為 4 字節(jié),因?yàn)楹?5 位始終為 0,因此若要還原壓縮后的指針實(shí)際內(nèi)存地址,直接把指針值 * 8即可。

BeanTest 類所在地址為:0x2007a2bb * 8 = 0x1003D15D8

執(zhí)行 Inspect 命令,查看 BeanTest 類結(jié)構(gòu)。


XPocket [jhsdb : 29516] > inspect 0x1003D15D8

結(jié)果如下:

6513b472-68f3-11ee-939d-92fbcf53809c.png

證實(shí)

BeanTest 在 JVM 對(duì)象為 c++ 的 InstanceKlass 實(shí)例,可以看出 _name 屬性為 Symbol,接下來(lái)查看 InstanceKlass _name 屬性,證實(shí)當(dāng)前為 BeanTest 類的實(shí)例,執(zhí)行 Symbol 命令查看 _name 的值:


XPocket [jhsdb : 29516] > symbol 0x00007f1838abb740

652af010-68f3-11ee-939d-92fbcf53809c.png

證實(shí) 0x1003D15D8 所在的內(nèi)存地址,即是 com.poizon.robot.test.BeanTest 的 Class 對(duì)象。

總結(jié)

在我們?nèi)粘i_發(fā)中遇到的一點(diǎn)小小的,看似不起眼的奇怪的規(guī)范,深挖之下往往能夠牽扯出一大串知識(shí)體系,保持好奇心刨根問(wèn)底同樣也是很重要學(xué)習(xí)方法。有興趣的同學(xué)也可以自己嘗試找一下示例類中其他屬性所對(duì)應(yīng)的 Class 指針,說(shuō)不定還可以對(duì)網(wǎng)上的一些文章做一次勘誤呢~

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7546

    瀏覽量

    88690
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2975

    瀏覽量

    105187
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1951

    瀏覽量

    35002
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    481

    瀏覽量

    70611
  • JVM
    JVM
    +關(guān)注

    關(guān)注

    0

    文章

    158

    瀏覽量

    12267

原文標(biāo)題:硬核 JVM 壓縮指針詳解

文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C編程中指針的語(yǔ)法和工作原理

    指針對(duì)許多 C 編程至關(guān)重要,但它們可能很難理解。本文通過(guò)實(shí)際示例來(lái)復(fù)習(xí)它們的語(yǔ)法以及它們的工作原理。
    發(fā)表于 10-21 17:54 ?931次閱讀

    Jvm的整體結(jié)構(gòu)和特點(diǎn)

      一、虛擬機(jī)簡(jiǎn)介  1、虛擬機(jī)概念  虛擬機(jī)(Virtual Machine)指通過(guò)軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)。在實(shí)體計(jì)算機(jī)中能夠完成的工作在虛擬機(jī)
    發(fā)表于 01-05 17:23

    什么是制冷壓縮機(jī),制冷壓縮機(jī)的工作原理

    什么是制冷壓縮機(jī),制冷壓縮機(jī)的工作原理 制冷壓縮機(jī)是制冷裝置中最主要的設(shè)備,通常稱為制冷裝置中的主機(jī)。制冷劑蒸氣從低壓提高
    發(fā)表于 04-08 17:09 ?1.7w次閱讀

    汽車空氣懸掛的工作原理是什么?

    汽車空氣懸掛的工作原理是什么? 空氣懸掛工作原理就是利用空氣壓縮機(jī)形成壓縮空氣,并通過(guò)壓縮空氣來(lái)調(diào)節(jié)汽車的離地高度。一般
    發(fā)表于 03-19 11:44 ?2w次閱讀

    Jvm工作原理學(xué)習(xí)筆記

    JVM實(shí)例對(duì)應(yīng)了一個(gè)獨(dú)立運(yùn)行的java程序它是進(jìn)程級(jí)別 a) 啟動(dòng)。啟動(dòng)一個(gè)Java程序時(shí),一個(gè)JVM實(shí)例就產(chǎn)生了,任何一個(gè)擁有public static void main(String
    發(fā)表于 04-03 11:03 ?5次下載

    壓縮機(jī)工作原理

    離心壓縮機(jī)是具有葉片的工作輪在壓縮機(jī)的軸上旋轉(zhuǎn),進(jìn)入工作輪的氣體被葉片帶著旋轉(zhuǎn),增加了動(dòng)能(速度)和靜壓頭(壓力),然后出工作輪進(jìn)入擴(kuò)壓器內(nèi)
    的頭像 發(fā)表于 09-05 17:23 ?26.5w次閱讀

    汽車壓縮機(jī)工作原理

    汽車壓縮機(jī)工作原理:汽車空調(diào)系統(tǒng)的壓縮機(jī)是直接由發(fā)動(dòng)機(jī)驅(qū)動(dòng)的,它是通過(guò)一個(gè)皮帶驅(qū)動(dòng)機(jī)構(gòu)來(lái)實(shí)現(xiàn)的。當(dāng)壓縮機(jī)不工作時(shí),壓縮機(jī)可以與發(fā)動(dòng)機(jī)脫開,它
    的頭像 發(fā)表于 09-07 17:24 ?6.2w次閱讀

    往復(fù)式壓縮機(jī)的工作原理_往復(fù)式壓縮機(jī)的工作過(guò)程

    依靠氣缸工作容積周期性的變化來(lái)壓縮氣體,以達(dá)到提高工作壓力的目的。(活塞在氣缸內(nèi)的往復(fù)運(yùn)動(dòng)造成減壓將氣體吸入,繼而將氣體壓縮至一定壓強(qiáng)而將它送出)活塞式
    的頭像 發(fā)表于 12-03 10:59 ?2.4w次閱讀

    制冷壓縮機(jī)的工作原理_制冷壓縮機(jī)的主要性能參數(shù)

    本文首先闡述了制冷壓縮機(jī)的工作原理,其次介紹了制冷壓縮機(jī)種類,最后介紹了制冷壓縮機(jī)的主要性能參數(shù)。
    發(fā)表于 12-03 13:44 ?1.6w次閱讀

    制冷壓縮機(jī)根據(jù)工作原理分幾類

     制冷壓縮機(jī)根據(jù)其工作原理可分為體積型和速度型兩大類。
    發(fā)表于 12-03 13:51 ?1.1w次閱讀

    壓縮機(jī)的工作原理

    活塞式空氣壓縮機(jī)的工作原理在氣壓傳動(dòng)中,通常采用容積型活塞式空氣壓縮機(jī)。這里介紹兩種典型結(jié)構(gòu),用來(lái)幫助理解空氣壓縮機(jī)的工作原理。圖3.33(
    發(fā)表于 04-04 17:05 ?1.4w次閱讀

    離心壓縮機(jī)的工作原理是什么

    機(jī)的工作原理。 引言 離心壓縮機(jī)是一種能夠?qū)怏w以高效率壓縮的設(shè)備,它通過(guò)利用離心力和動(dòng)能轉(zhuǎn)換原理,將氣體加壓并輸出,符合能源節(jié)約和環(huán)保的要求。離心壓縮機(jī)的
    的頭像 發(fā)表于 02-14 17:12 ?7601次閱讀

    螺桿式制冷壓縮機(jī)工作原理 離心式壓縮機(jī)和螺桿式壓縮機(jī)區(qū)別

    螺桿式制冷壓縮機(jī)是一種常用于制冷和空調(diào)系統(tǒng)的壓縮機(jī),其工作原理是基于物理原理和機(jī)械設(shè)計(jì)的。在本文中,我們將詳細(xì)介紹螺桿式制冷壓縮機(jī)的工作原理
    的頭像 發(fā)表于 01-17 17:09 ?1809次閱讀

    螺桿壓縮機(jī)工作原理 螺桿壓縮機(jī)的工作循環(huán)可分為

    螺桿壓縮機(jī)是一種通過(guò)螺桿運(yùn)動(dòng)來(lái)壓縮氣體的機(jī)械設(shè)備。它由主螺桿和副螺桿組成,兩者通過(guò)齒輪傳動(dòng)保持一定的相對(duì)運(yùn)動(dòng)軌跡。在工作過(guò)程中,氣體被吸入螺桿壓縮機(jī)的吸氣口,然后沿著螺桿的螺旋槽被
    的頭像 發(fā)表于 02-04 10:19 ?1321次閱讀

    從原理聊JVM(一):染色標(biāo)記和垃圾回收算法

    導(dǎo)讀 JAVA簡(jiǎn)單易用的特性,能夠讓研發(fā)人員在不了解JVM的底層運(yùn)行機(jī)制的情況下依舊能夠編寫出功能完善的代碼。 但是對(duì)JVM的理解,是一個(gè)程序員普通和優(yōu)秀的分水嶺。全面地了解JVM工作原理
    的頭像 發(fā)表于 08-20 15:25 ?294次閱讀
    從原理聊<b class='flag-5'>JVM</b>(一):染色標(biāo)記和垃圾回收算法