JVM 第二篇:垃圾收集器以及演算法

![](https://cdn.geekdigging.com/java/java_header.jpg) > 本文內容過於硬核,建議有 Java 相關經驗人士閱讀。 ## 0. 引言 一說到 JVM ,大多數人第一個想到的可能就是 GC ,今天我們就來聊一聊和 GC 關係最大的垃圾收集器以及垃圾收集演

一個爬蟲的故事:這是人乾的事兒?

爬蟲原理 我是一個爬蟲,每天穿行於網際網路之上,爬取我需要的一切。 說起來還要感謝HTTP協議,因為它,全世界的網站和瀏覽器才能夠連線通訊,而我也是藉助HTTP協議,獲取我想要的資料。 我只需要偽裝成一個瀏覽器,向伺服器傳送HTTP請求,就能拿到網頁HTML檔案。 接著,我再按照HTML的格式規範,去解析

入職大廠,齊姐精選的 9 道 Java 集合面試題

Java 集合框架其實都講過了,有一篇講 Collection 的,有一篇講 HashMap 的,那沒有看過的小夥伴快去補下啦,文末也都有連結;看過的小夥伴,那本文就是檢測學習成果的時候啦 今天這篇文章是單純的從面試的角度出發,以回答面試題為線索,再把整個 Java 集合框架複習一遍,希望能幫助大家拿下面試

從零開始針對 .NET 應用的 DevOps 運營實踐 - 執行環境搭建

### 一、Overview 最近的一段時間,在公司裡我都在進行基於 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部門的持續整合環境的工作,雖然之前有使用過 GitHub Actions 和 Azure DevOps,但是從頭開始搭建這樣的一套 DevOps 環境還是學習到了一些新

談談InnoDB中的B+樹索引

> 索引類似於書的`目錄`,他是幫助我們`從大量資料中快速定位`某一條或者某個範圍資料的一種資料結構。有序陣列,搜尋樹都可以被用作索引。MySQL中有三大索引,分別是`B+樹索引`、`Hash索引`、`全文索引`。B+樹索引是最最重要的索引,Hash索引和全文索引用的並不是太多,InnoDB不支援Hash索引

全方位剖析 Linux 作業系統,太全了!!!

## Linux 簡介 UNIX 是一個互動式系統,用於同時處理多程序和多使用者同時線上。為什麼要說 UNIX,那是因為 Linux 是由 UNIX 發展而來的,UNIX 是由程式設計師設計,它的主要服務物件也是程式設計師。Linux 繼承了 UNIX 的設計目標。從智慧手機到汽車,超級計算機和家用電器,從

你知道CPU結構也會影響Redis效能嗎?

啦啦啦,我是賣身不賣藝的二哈,ε=(´ο`*)))唉錯啦(我是開車的二哈),我又來了,鐵子們一起開車呀! 今天來分析下CPU結構對Redis效能會有影響嗎? 在進行Redis效能分析的時候,通常我們會考慮下面這些方面,如:   1. 縮短 key 的長度   2.

快取提升效能的關鍵性手段

提高「效能」的主要方式是優化,而優化的其中一個主要手段就是新增快取! 在軟體工程裡有這麼一句話:「沒有銀彈」!就是說由於軟體工程的複雜性,沒有任何一種技術或方法能解決所有問題!軟體工程是複雜的,沒有銀彈!但是,軟體工程中的某一個問題,是有銀彈的! 「 電腦科學領域的任何問題都可以通過增加一個間接的中間

IO那些事

> IO(Input\Output): 即輸入輸出,通常指資料在儲存器(內部和外部)或其他周邊裝置之間的輸入和輸出,是資訊處理系統(例如計算機)與外部世界(可能是人類或另一資訊處理系統)之間的通訊。說的簡單點就是`與外部裝置(比如磁碟)傳輸資料`。 > > IO大致可以分為`磁碟IO`、`網路IO`、`記憶

MLHPC 2018 | Aluminum: An Asynchronous, GPU-Aware Communication Library Optimized for Large-Scale Training of Deep Neural Networks on HPC Systems

這篇文章主要介紹了一個名為Aluminum通訊庫,在這個庫中主要針對Allreduce做了一些關於計算通訊重疊以及針對延遲的優化,以加速分散式深度學習訓練過程。 ### 分散式訓練的通訊需求 #### 通訊何時發生 一般來說,神經網路的訓練過程分為三步:前向傳播、反向傳播以及引數優化。在使用資料並行進行分散

0.8746440410614