原创 這些操作系統的概念,保你沒聽過!

操作系統概念 大部分操作系統提供了特定的基礎概念和抽象,例如進程、地址空間、文件等,它們是需要理解的核心內容。下面我們會簡要介紹一些基本概念,爲了說明這些概念,我們會不時的從 UNIX 中提出示例,相同的示例也會存在於其他系統中,我們後面會

原创 程序員不得不瞭解的硬核知識大全

我們每個程序員或許都有一個夢,那就是成爲大牛,我們或許都沉浸在各種框架中,以爲框架就是一切,以爲應用層纔是最重要的,你錯了。在當今計算機行業中,會應用是基本素質,如果你懂其原理才能讓你在行業中走的更遠,而計算機基礎知識又是重中之重。下面,跟

原创 面試官問你MyBatis SQL是如何執行的?把這篇文章甩給他

初識 MyBatis MyBatis 是第一個支持自定義 SQL、存儲過程和高級映射的類持久框架。MyBatis 消除了大部分 JDBC 的樣板代碼、手動設置參數以及檢索結果。MyBatis 能夠支持簡單的 XML 和註解配置規則。使 Ma

原创 你要問我應用層?我就和你扯扯扯

網絡應用是計算機網絡存在的理由,一批早起的網絡應用主要有電子郵件、遠程訪問、文件傳輸等,但是隨着計算機網絡的發展和人類無窮無盡的需求,越來越多的網絡應用被開發出來,例如即時通訊和對等(P2P)文件共享,IP 電話、視頻會議等。還有一些多方在

原创 萬字長文帶你還原進程和線程

我們平常說的進程和線程更多的是基於編程語言的角度來說的,那麼你真的瞭解什麼是線程和進程嗎?那麼我們就從操作系統的角度來了解一下什麼是進程和線程。 進程 操作系統中最核心的概念就是 進程,進程是對正在運行中的程序的一個抽象。操作系統的其他所有

原创 看完這篇HTTP,跟面試官扯皮就沒問題了

我是一名程序員,我的主要編程語言是 Java,我更是一名 Web 開發人員,所以我必須要了解 HTTP,所以本篇文章就來帶你從 HTTP 入門到進階,看完讓你有一種恍然大悟、醍醐灌頂的感覺。 最初在有網絡之前,我們的電腦都是單機的,單機系統

原创 一文帶你瞭解 HTTP 黑科技

這是 HTTP 系列的第三篇文章,此篇文章爲 HTTP 的進階文章。 在前面兩篇文章中我們講述了 HTTP 的入門,HTTP 所有常用標頭的概述,這篇文章我們來聊一下 HTTP 的一些 黑科技。 HTTP 內容協商 什麼是內容協商 在 HT

原创 什麼叫操作系統啊 | 戰術後仰

操作系統 現代操作系統由一個或多個處理器、主存、打印機、鍵盤、鼠標、顯示器、網絡接口以及各種輸入/輸出設備構成。計算機操作系統是一個複雜的系統。 然而,程序員不會直接和這些硬件打交道,而且每位程序員不可能會掌握所有操作系統的細節,這樣我們

原创 計算機網絡的核心概念

這是《計算機網絡》系列文章的第二篇文章 我們第一篇文章講述了計算機網絡的基本概念,互聯網的基本名詞,什麼是協議以及幾種接入網以及網絡傳輸的物理媒體,那麼本篇文章我們來探討一下網絡核心、交換網絡、時延、丟包、吞吐量以及計算機網絡的協議層次和網

原创 Kafka 的這些原理你知道嗎

如果只是爲了開發 Kafka 應用程序,或者只是在生產環境使用 Kafka,那麼瞭解 Kafka 的內部工作原理不是必須的。不過,瞭解 Kafka 的內部工作原理有助於理解 Kafka 的行爲,也利用快速診斷問題。下面我們來探討一下這三個問

原创 2019 我是怎麼熬過來的?

歲月你別催,該來的我不推;歲月你別催,走遠的仍要追,這是《天下足球》裏面的一則年度佳句,我覺得用到軟件行業再合適不過了。 我可以用IT行業的排比句來仿造一下這段話,那就是 裁員你別來,你來了給我錢;頭髮你別走,你走了沒女友。 2019 年我

原创 2019 這一年我是如何熬過來的

歲月你別催,該來的我不推;歲月你別催,走遠的仍要追,這是《天下足球》裏面的一則年度佳句,我覺得用到軟件行業再合適不過了。 我可以用IT行業的排比句來仿造一下這段話,那就是 裁員你別來,你來了給我錢;頭髮你別走,你走了沒女友。 2019 年我

原创 不懂什麼是鎖?看看這篇你就明白了

Java 鎖分類 Java 中的鎖有很多,可以按照不同的功能、種類進行分類,下面是我對 Java 中一些常用鎖的分類,包括一些基本的概述 從線程是否需要對資源加鎖可以分爲 悲觀鎖 和 樂觀鎖 從資源已被鎖定,線程是否阻塞可以分爲 自旋鎖

原创 你說你懂計算機網絡,那這些你都知道嗎

今天的因特網無疑是有史以來由人類創造的、精心設計的最大系統、該系統由數以千計的計算機設備(計算機、平板電腦、智能手機)彼此相互連接構成,並且還有一批與因特網相互連接的物品比如遊戲機、監控系統、汽車、醫療設備、智能眼鏡、手錶、運動手環等,隨着

原创 程序員需要了解的硬核知識之控制硬件

應用和硬件的關係 我們作爲程序員一般很少直接操控硬件,我們一般通過 C、Java 等高級語言編寫的程序起到間接控制硬件的作用。所以大家很少直接接觸到硬件的指令,硬件的控制是由 Windows 操作系統 全權負責的。 你一定猜到我要說什麼了,