在Ubuntu上從零開始編譯并運行Home Assistant源碼并集成HACS與小米開源的Ha Xiaomi Home

目錄

  • 1. 前言&&疊甲
  • 2. 使用的環境
  • 3. 相關鏈接
  • 4. 前期步驟
    • 4.1 安裝路徑提前說明
    • 4.2 Ubuntu 相關依賴安裝
    • 4.3 Python源碼編譯安裝
      • 4.3.1 編譯安裝
      • 4.3.2 換源
      • 4.3.3 環境變量
  • 5. 構建Home Assistant源碼
    • 5.1 clone源碼
    • 5.2 創建虛擬Python環境
    • 5.3 安裝項目依賴
    • 5.4 安裝項目
    • 5.5 運行項目
    • 5.6 查看配置文件夾
    • 5.7 補充相關
  • 6. 訪問Home Assistant
    • 6.1 首次運行創建用戶
    • 6.2 選擇家的位置
    • 6.3 進入首頁
  • 7. 安裝HACS
    • 7.1 下載HACS包
    • 7.2 將hacs放置對應位置
    • 7.3 添加HACS
    • 7.4 HACS綁定GitHub
  • 8. 安裝小米的Ha Xiaomi Home
    • 8.1 三種安裝方式
      • 8.1.1 源碼構建形式
      • 8.1.2 單獨文件形式
      • 8.1.3 使用HACS安裝Ha Xiaomi Home
    • 8.2 重啟后添加Ha Xiaomi Home到Home Assistant
      • 8.2.1 賬號授權認證和地址回調
  • 9. 總結

1. 前言&&疊甲

本文章為全文皆慢慢敲的文字,本人非專業人士,難免存在遺漏和錯誤,請指出即可。若有更好方案,歡迎提出。

為什么會寫這篇文章?因為搜索了一段時候,發現很少有介紹從零開始編譯Home Assistant源碼的教程和視頻,大多是使用docker或者使用Nas,定制化/可修改程度不高?

同時由于官方的方案僅剩下為數不多的幾個,主要是基于HA OS(也就是做成了鏡像系統),或者是Container。一個是鏡像封裝了,不方便自定義和使用系統,另一個是不太利于沒有Docker環境。本篇想在裸機系統上部署,并且隨時能切換Git版本從而隨時升級,故寫此篇。

2. 使用的環境

操作系統版本:Ubuntu-Desktop 24.04.2 LTS。
Home Assistant版本:2025.7.1,但是是GitHub的最新dev構建。但是由于是源碼部署,所以可以隨時升級。
Python版本:3.13.5,源碼構建。否則可能會影響Ubuntu內置的3.12。2025.7版本的Home Assistant需要Python3.13。

3. 相關鏈接

本篇編寫時候的相關安裝包/軟件的鏈接如下,可以參考換成最新的

https://releases.ubuntu.com/24.04/ubuntu-24.04.2-desktop-amd64.iso
https://www.python.org/ftp/python/3.13.5/Python-3.13.5.tgz

相關GitHub倉庫鏈接如下

https://github.com/home-assistant/core
https://github.com/hacs/integration
https://github.com/XiaoMi/ha_xiaomi_home

4. 前期步驟

4.1 安裝路徑提前說明

為方便使用,本篇安裝都位于~/HomeAssistant-All/目錄下,包括Python、Home Assistant。
在這里插入圖片描述

4.2 Ubuntu 相關依賴安裝

# 更新
sudo apt update# 安裝Home Assistant需要的依賴,和其他一些常用的工具。但不包括Nginx、Python等
sudo apt install -y autoconf automake avahi-daemon bluez build-essential ca-certificates curl ffmpeg gdebi git gnupg gnupg2 htop libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libbz2-dev libcap2-bin libffi-dev libgdbm-compat-dev libgdbm-dev libglib2.0-dev libjpeg-dev liblzma-dev libncursesw5-dev libnss3-dev libopenjp2-7-dev libpython3-dev libreadline-dev libsqlite3-dev libssl-dev libswscale-dev libtiff5-dev libtool libturbojpeg0-dev libudev-dev libxml2-dev libxmlsec1-dev libxslt1-dev libyaml-dev lrzsz lsb-release lsof neofetch net-tools openssh-server p7zip-full rar rsync software-properties-common tk-dev tmux tree unrar unzip uuid-dev vim wget xz-utils zip zlib1g-dev

在這里插入圖片描述
以上依賴安裝較為緩慢。由于下載的Ubuntu鏡像默認使用的是清華的安裝源,所以在網絡上還是沒有問題的。若不是,請自行換源。出現如下表明安裝完成。
在這里插入圖片描述

4.3 Python源碼編譯安裝

4.3.1 編譯安裝

為了防止干擾Ubuntu自帶的Python版本,此處Python僅在安裝文件夾中進行。若本機已經有Python3.13的環境,直接跳過至構建Home Assistant源碼即可。

將下載的Python源碼包Python-3.13.5.tgz解壓到~/HomeAssistant-All/,進入該目錄cd Python-3.13.5/
然后開始編譯Python。

# 位于 ~/HomeAssistant-All/Python-3.13.5/
sudo ./configure --enable-optimizations
sudo make -j$(nproc)
sudo make altinstall

在這里插入圖片描述
由于Python源碼編譯較慢,若機器配置較低可能需要數分鐘至十數分鐘。安裝完成后為如下。
在這里插入圖片描述

安裝完畢后,可以執行

~/HomeAssistant-All/Python-3.13.5/python

看到如下則表明Python安裝成功,可以使用Ctrl+D退出。
在這里插入圖片描述

4.3.2 換源

mkdir -p ~/.pip
vim ~/.pip/pip.conf

在里面輸入如下,即使用清華源。

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
timeout = 10
trusted-host = pypi.tuna.tsinghua.edu.cn

4.3.3 環境變量

此處環境變量不與系統的沖突,做到輸入命令python313方可運行。

vim ~/.bashrc
# 然后劃到最后,輸入
export PATH="$HOME/HomeAssistant-All/Python-3.13.5/bin:$PATH"
alias python313='python3.13'
alias pip313='pip3.13'
# 生效環境變量
source ~/.bashrc

新開終端,輸入python313即可正常使用Python3.13.5。
在這里插入圖片描述

5. 構建Home Assistant源碼

5.1 clone源碼

將源碼clone到本地~/HomeAssistant-All/home-assistant-core/文件夾

git clone https://github.com/home-assistant/core.git home-assistant-core

進入該文件夾,cd home-assistant-core

默認的clone下來的,可能是dev分支,dev分支push比較活躍,不清楚有沒有bug。可以使用如下命令查看和切換成穩定的master分支,或者是其他分支。

# 查看當前分支
git branch# 本地沒有master分支,從遠程拉取
git checkout -b master origin/master# 若本地有master分支,則切換到本地的master分支
git checkout master# 更新分支代碼
git pull

5.2 創建虛擬Python環境

直接覆蓋原本Python安裝的環境,可能會帶來依賴沖突。所以創建一個虛擬的Python環境,所有依賴都安裝到這個環境中,不會出現依賴問題。若因為某些原因環境出問題了,只需要刪除虛擬環境再建即可。

此處使用Python虛擬環境,名為venv313

# 創建虛擬環境
python313 -m venv venv313
# 激活環境
source venv313/bin/activate
# 更新相關軟件包
pip install --upgrade pip setuptools wheel

在這里插入圖片描述

5.3 安裝項目依賴

pip install -r requirements_all.txt

為什么使用requirements_all而不是requirements_test,是因為all能安裝所有依賴。test只有部分依賴,若運行中代碼走到沒有安裝的依賴,則會默認安裝,走的是pip的默認源,可能因為網絡問題無法下載,導致運行報錯。

安裝all的項目依賴會耗時較長時間,可能為十數分鐘。安裝完成后如下顯示
在這里插入圖片描述

5.4 安裝項目

pip install -e .

在這里插入圖片描述

5.5 運行項目

直接運行命令

hass

即可啟動項目。默認第一次運行,會在如圖的~/.homeassistant/文件夾下創建配置文件。出現下圖即說明已經成功在運行了。
在這里插入圖片描述
使用http://ip:8123可直接訪問。

5.6 查看配置文件夾

cd ~/.homeassistant/

運行如上命令,即可進入Home Assistant的配置文件夾。可以修改端口號等信息,此處不再贅述。
在這里插入圖片描述

5.7 補充相關

本篇全篇運行于基于VMware的Ubuntu中。若也有相同的,建議對VMware配置做網絡上的橋接,方便手機連接。
在這里插入圖片描述

6. 訪問Home Assistant

瀏覽器訪問http://ip:8123即可訪問。
在這里插入圖片描述

6.1 首次運行創建用戶

點擊創建我的智能家居,輸入用戶名和密碼即可創建。
在這里插入圖片描述
輸入相關信息后,點擊創建賬戶,我這邊沒有任何反應,然后去看運行日志,發現有報錯。
在這里插入圖片描述

KeyError: 'component.onboarding.area.living_room'

不知道是版本問題,還是什么問題。但是不影響使用。用戶已經創建,此處需要重啟應用。即使用Ctrl + C停止運行,再使用hass運行,再刷新網頁即可。

6.2 選擇家的位置

登錄后,出現要選擇家的位置。可以在輸入框中輸入中文的城市名稱。
在這里插入圖片描述
這個地圖有時候需要特殊網絡才能搜索。但是不影響選擇。可以縮放地圖后,拖動地圖定位的標點,來選擇到自己所在的城市。
在這里插入圖片描述

6.3 進入首頁

無腦下一步后,即可進入首頁,如圖
在這里插入圖片描述
那么,至此為止,初級的Home Assistant部署運行完成。

下面將介紹如何添加HACS、如何添加小米的Ha Xiaomi Home(兩者可獨立安裝,也可以Ha Xiaomi Home通過HACS安裝)。

7. 安裝HACS

HACS官方的GitHub鏈接:https://github.com/hacs/integration/releases

此處使用官方構建的HACS的release安裝到Home Assistant中。

7.1 下載HACS包

打開https://github.com/hacs/integration/releases,下載最新版的hacs.zip文件。
在這里插入圖片描述

7.2 將hacs放置對應位置

進入到Home Assistant的配置文件夾~/.homeassistant/

cd ~/.homeassistant/

在這里插入圖片描述
在該文件夾位置新建一個名為custom_components的文件夾。

進入該custom_components的文件夾,將hacs.zip文件解壓到這個文件夾中,保留最外層的文件夾,如圖。
在這里插入圖片描述

7.3 添加HACS

完成后,重啟Home Assistant應用,進入路徑設置-設備與服務
在這里插入圖片描述
點擊右下角添加集成按鈕,搜索hacs,可以看到一個右側有橙色方塊的欄目(代表“自定義集成”),選擇后點擊提交
在這里插入圖片描述

7.4 HACS綁定GitHub

提交完成后,需要點擊轉圈的下方的鏈接,進行GitHub的授權。同時下方小字有8個字符的配對碼,需要復制粘貼至GitHub進行授權方可使用。
在這里插入圖片描述
在這里插入圖片描述
然后點擊Authorize hacs即可完成,如圖結果出現即可關閉該頁面。
在這里插入圖片描述
完成后如圖所示界面,可以看到側邊有HACS的入口了。
在這里插入圖片描述
點擊HACS,可以看到有較多可下載的擴展組件。
在這里插入圖片描述

如果出現如圖的報錯,could_not_register則請排查,Home Assistant主機是否無法訪問GitHub。
在這里插入圖片描述
至此,HACS集成進Home Assistant已完成。

8. 安裝小米的Ha Xiaomi Home

小米在2024年底開源了自家的Home Assistant的組件,GitHub鏈接:https://github.com/XiaoMi/ha_xiaomi_home。至此可以很方便地將米家生態接入到Home Assistant

8.1 三種安裝方式

Ha Xiaomi Home官方介紹了3種接入方式,分別是源碼、HACS、單獨文件形式。此篇都將介紹。

這三種方法都是將Ha Xiaomi Home的代碼文件復制到指定位置(~/.homeassistant/custom_components/)后,重啟Home Assistant應用,從而可以在添加集成的地方搜索并添加小米的Home Assistant集成,并設置賬號信息。

所以三種方法均寫至復制完成,提示重啟為止。重啟之后的操作將在后面一小節的添加Ha Xiaomi Home到Home Assistant中有寫。

8.1.1 源碼構建形式

源碼形式的話,可以將源碼clone至本地任何位置,但請

不要同時

  1. 將源碼clone至~/.homeassistant/custom_components/
  2. 將clone的文件夾命名為xiaomi_home
  • 否則在構建的時候,將會出現覆蓋性問題。可以適當修改文件名。

此處將源碼clone至~/.homeassistant/xiaomi_home_git/,使用如下命令即可。

cd ~/.homeassistant/
clone https://github.com/XiaoMi/ha_xiaomi_home.git xiaomi_home_git

clone完畢后,進入目錄

cd xiaomi_home_git/

運行構建命令,將構建產物復制到~/.homeassistant/custom_components/

# 給install.sh運行權限。當然也可以自行設置更小的權限。
chmod +x install.sh
# 將構建產物復制到~/.homeassistant/custom_components/。其中,custom_components路徑不要手動添加,因為在install.sh腳本中已經自帶該路徑,若添加了則會變成~/.homeassistant/custom_components/custom_components/xiaomi_home/從而無法識別。
./install.sh ~/.homeassistant/

運行后出現如下提示,即成功:Xiaomi Home installation is completed. Please restart Home Assistant.。根據提示重啟Home Assistant即可。
在這里插入圖片描述
一至三的方法(選其一)添加完畢后,都需要重啟Home Assistant。重啟后,需要將Ha Xiaomi Home集成到Home Assistant并添加賬號。

后續更新Ha Xiaomi Home的方式,在Ha Xiaomi Home的Git目錄運行命令即可。

# 更新至最新的代碼
git pull
# 構建并復制最新產物
./install.sh ~/.homeassistant/
# 完成后重啟Home Assistant

8.1.2 單獨文件形式

打開https://github.com/XiaoMi/ha_xiaomi_home/releases鏈接,下載最新的xiaomi_home.zip的壓縮包。
在這里插入圖片描述
進入到Home Assistant的配置文件夾~/.homeassistant/,在該文件夾位置新建一個名為custom_components的文件夾(如果已有,或者在上面HACS中有操作,則不必新建)。

進入該custom_components的文件夾,將hacs.zip文件解壓到這個文件夾中,保留最外層的文件夾,如圖。將壓縮包解壓到該文件。
在這里插入圖片描述
至此,Ha Xiaomi Home已經添加到Home Assistant。現在需要重啟Home Assistant方可使用。下面介紹如何使用HACS來添加。

一至三的方法(選其一)添加完畢后,都需要重啟Home Assistant。重啟后,需要將Ha Xiaomi Home集成到Home Assistant并添加賬號。

8.1.3 使用HACS安裝Ha Xiaomi Home

點擊HACS欄目,搜索欄中輸入Ha Xiaomi Home,看到stars數較多的即是官方的集成。
在這里插入圖片描述
點擊進入后,點擊右下角的download,將會自動下載到本地。但是該方法如果在網絡不佳的時候將會無法下載。此時建議使用上一種方式。
在這里插入圖片描述
安裝完成后,點擊HACS選項卡,可以看到Xiaomi Home在列表中,并且是Pending restart,這時候重啟Home Assistant即可。

一至三的方法(選其一)添加完畢后,都需要重啟Home Assistant。重啟后,需要將Ha Xiaomi Home集成到Home Assistant并添加賬號。

8.2 重啟后添加Ha Xiaomi Home到Home Assistant

不論是直接文件復制形式,還是HACS添加,完成后需要集成進Home Assistant。重啟Home Assistant應用,進入路徑設置-設備與服務
在這里插入圖片描述
點擊右下角添加集成按鈕,使用英文搜索xiaomi,可以看到其中一個右側有橙色方塊的欄目(代表“自定義集成”),選擇該有橙色的欄目后點擊,按照說明一步步即可。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

8.2.1 賬號授權認證和地址回調

一步步進行后,在拉起小米賬號登錄前,有一個步驟,這里需要點擊藍字的請點擊此處進行登錄才能拉起小米的賬號授權。
在這里插入圖片描述
在這里插入圖片描述
確認授權后,將會跳轉到一個新的頁面,網址的格式為:http://homeassistant.local:8123/api/webhook/1261686089886280620?code=xxxxxxxxxxxxxxxx
在這里插入圖片描述
顯然,這個網頁是無法訪問的。可以看到訪問的域名是homeassistant.local,這個域名是不存在的,ping該域名也沒有ip的解析。這個域名猜測是在做HAOS或者container的時候,寫入到系統的hosts指向的本地地址。

有兩種解決辦法,最簡單的就是,手動將訪問的域名前綴homeassistant.local:8123修改為目前訪問的ip:8123,然后回車訪問即可。或者可以在本機的hosts文件中,手動配置指向Home Assistant的ip的條目。
在這里插入圖片描述
這里使用直接修改ip訪問。回車訪問后,這個頁面稍等幾秒即變成空白頁,或者被關閉。然后手動打開剛剛的授權頁面,稍等幾秒即可看到已經成功授權了。然后只要勾選要導入的設備即可。
在這里插入圖片描述
需要等待一段時間添加完畢后即可使用。添加完成后,可以在概覽處看到原本在米家中的設備。
在這里插入圖片描述

9. 總結

至此,在Ubuntu上從零開始編譯并運行Home Assistant源碼并集成HACS與小米開源的Ha Xiaomi Home的講述完畢。

本篇為了不使用官方的鏡像,不使用Container,直接裸Ubuntu系統部署并運行Home Assistant,為的是能夠有更好的安裝空間。現在太多教程在教如何使用各家Nas來安裝Home Assistant,對于沒有Nas的人比較不友好。使用Docker來安裝的則對沒有容器化部署的不友好。故寫本篇。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913911.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913911.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913911.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【實習篇】之Http頭部字段之Disposition介紹

Http頭部字段之DispositionDisposition頭部字段介紹RFC規范介紹RFC 6266與RFC 2047實習的時候公司將一個某個關于下載的Bug交給了我來修,看了代碼和日志后發現是Disposition字段的規范兼容性惹的鍋,因為有些協議使用的是老協議,我們的項目沒有…

VM文件管理與Vi/vim操作

[rootlocalhost /]# sudo mkdir /opt [rootlocalhost /]# sudo mkdir /opt/tmp [rootlocalhost /]# sudo touch /opt/tmp/a.txt [rootlocalhost /]# ls /opt/tmp/ a.txt [rootlocalhost /]# 3.步驟1:創建文件并插入日期時間vi /tmp/newfile在vi編輯器中輸入以下命令…

【Android】安卓四大組件之內容提供者(ContentProvider):從基礎到進階

你手機里的通訊錄,存儲了所有聯系人的信息。如果你想把這些聯系人信息分享給其他App,就可以通過ContentProvider來實現。。 一、什么是 ContentProvider ?ContentProvider? 是 Android 四大組件之一,負責實現?跨應用程序的數據共享與訪問…

Vue-19-前端框架Vue之應用基礎組件通信(二)

文章目錄 1 v-model(父子相傳)1.1 App.vue1.2 Father.vue1.2.1 v-model用在html標簽上1.2.2 v-model用在html標簽上(本質寫法)1.2.3 v-model用在組件標簽上1.2.4 v-model用在組件標簽上(本質寫法)1.3 MyInput(自定義的組件)1.4 修改modelValue1.4.1 Father.vue1.4.2 MyInput.vu…

寶塔下載pgsql適配spring ai

1.寶塔安裝pgvector 1.先去github下載pgvectorpgvector/pgvector: Open-source vector similarity search for Postgres 2.把壓縮包上傳到系統文件的/temp下解壓,重命名文件名為pgvector,之后命令操作 cd /tmp cd pgvector export PG_CONFIG/www/serv…

RK3568項目(八)--linux驅動開發之基礎外設(上)

目錄 一、引言 二、準備工作 ------>2.1、驅動加載/卸載命令 三、字符設備驅動開發 ------>3.1、驅動模塊的加載和卸載 ------>3.2、外部模塊編譯模板 Makefile ------>3.3、cdev 四、LED驅動 ------>4.1、原理圖 ------>4.2、驅動 五、設備樹 -…

BUUCTF在線評測-練習場-WebCTF習題[GXYCTF2019]BabySQli1-flag獲取、解析

解題思路打開靶場,題目提示是sql注入輸入數據,判斷下閉合11123報錯:Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 1 at line 1報錯提示…

“AI 曼哈頓計劃”:科技競賽還是人類挑戰?

美國國會下屬的經濟與安全審查委員會已將“推動建立并資助一項堪比曼哈頓計劃的通用人工智能研發項目”列為其對國會的核心建議之一,明確顯示出對AI競賽戰略意義的高度重視。與此同時,美國能源部在近幾個月中多次公開將人工智能的突破比作“下一場曼哈頓…

音頻信號的預加重:提升語音清晰度

一、預加重介紹預加重是一種信號處理技術,主要用于增強音頻信號中的高頻成分。由于人類語音的頻譜特性,尤其是在輔音和音調的表達上,高頻成分對于語音的清晰度至關重要。然而,在錄音和傳輸過程中,這些高頻成分往往會受…

WebSocket實戰:實現實時聊天應用 - 雙向通信技術詳解

目錄一、WebSocket:實時通信的"高速公路"1.1 HTTP的短板:永遠的"單相思"1.2 WebSocket的優勢:真正的"雙向對話"二、30分鐘搭建聊天服務器2.1 環境準備2.2 WebSocket配置類2.3 核心消息處理器三、前端實現&…

宏集案例 | 基于CODESYS的自動化控制系統,開放架構 × 高度集成 × 遠程運維

??案例概況客戶:MACS Sterilisationsanlagen GmbH(Ermafa Environmental Technologies GmbH 旗下) 應用場景:醫療與感染性廢棄物的無害化處理控制系統應用產品:宏集Berghof高性能控制器設備(一&#xff0…

學習JNI 二

創建一個名為Learn1項目(Android Studio)。一、項目結構二、配置 build.gradlebuild.gradle.kts(:app)plugins {alias(libs.plugins.android.application)alias(libs.plugins.jetbrains.kotlin.android) }android {namespace "com.demo.learn1&quo…

基于Spring Boot+Vue的DIY手工社預約管理系統(Echarts圖形化、騰訊地圖API)

2.10 視頻課程管理功能實現2.11手工互動(視頻彈幕)2.8預約設置管理功能實現🎈系統亮點:Echarts圖形化、騰訊地圖API;文檔包含功能結構圖、系統架構圖、用例圖、實體屬性圖、E-R圖。一.系統開發工具與環境搭建1.系統設計…

leetcode 每日一題 1353. 最多可以參加的會議數目

更多技術訪問 我的個人網站 (免費服務器,沒有80/443端口) 1353. 最多可以參加的會議數目 給你一個數組 events,其中 events[i] [startDayi, endDayi] ,表示會議 i 開始于 startDayi ,結束于 endDayi 。 …

AI+智慧園區 | 事件處置自動化——大模型重構園區治理邏輯

在智慧園區的建設浪潮中,事件管理一直是園區高效運營的關鍵環節。考拉悠然所推出的大模型 智慧園區解決方案,在事件智能閉環管理方面獨樹一幟,為園區的日常運營編織了一張嚴密、高效、智能的管理網絡,實現了從事件感知到處置的全…

FFmpeg Windows安裝

FFmpeg 用于音頻文件轉換 Builds - CODEX FFMPEG gyan.dev ffmpeg-release-full.7z 下載完成之后 zip解壓 大概就是 ffmpeg/ └── bin/ └── ffmpeg.exe 配置環境變量 ffmpeg -version 有可能idea還是找不到命令 就把命令路徑寫在程序里 例如

【2025/07/10】GitHub 今日熱門項目

GitHub 今日熱門項目 🚀 每日精選優質開源項目 | 發現優質開源項目,跟上技術發展趨勢 📋 報告概覽 📊 統計項📈 數值📝 說明📅 報告日期2025-07-10 (周四)GitHub Trending 每日快照&#x1f55…

JVM 基礎 - JVM 內存結構

前言 本文主要對JVM 內存結構進行講解,注意不要和Java內存模型混淆了。 運行時數據區 內存是非常重要的系統資源,是硬盤和 CPU 的中間倉庫及橋梁,承載著操作系統和應用程序的實時運行。JVM 內存布局規定了 Java 在運行過程中內存申請、分配…

【案例】二手車交易價格預測-472

二手車交易價格預測 數據來源數據特征探索構建模型參考數據來源 天池 https://tianchi.aliyun.com/competition/entrance/231784/information 數據特征探索 目標特征工程做好之后,能同時進行 lightgbm catboost 神經網絡等模型,所以盡量都轉換為數值類特征。 如果僅僅是使用…

【Spring】Java SPI機制及Spring Boot使用實例

目錄 一、SPI是什么 1.1 SPI 和 API 有什么區別? 二、使用場景 三、使用介紹 四、Spring Boot實例運用 五、總結 一、SPI是什么 SPI全稱Service Provider Interface,是Java提供的一套用來被第三方實現或者擴展的API,它可以用來啟用框架…