原创 讀懂操作系統之虛擬內存基本原理篇(一)

前言 由於個人對虛擬內存這塊特別感興趣,所以就直接暫且跳過其他,接下來將通過幾篇文章進行詳細講解,當然其他基礎內容後續在我進行相應整體學習後也會同步輸出文章,比如操作系統概念、程序鏈接、進程管理、頁面置換算法、流水線、浮點指令、內存管理、磁

原创 讀懂操作系統(x64)之堆棧幀(過程調用)

前言 上一節內容我們對在32位操作系統下堆棧幀進行了詳細的分析,本節我們繼續來看看在64位操作系統下對於過程調用在處理機制上是否會有所不同呢? 堆棧幀 我們給出如下示例代碼方便對照彙編代碼看,和上一節有所不同的是函數調用多了幾個參數。 #

原创 讀懂操作系統(x86)之堆棧幀(過程調用)

前言 爲進行基礎回爐,接下來一段時間我將持續更新彙編和操作系統相關知識,希望通過屏蔽底層細節能讓大家明白每節所闡述內容。當我們寫下如下C代碼時背後究竟發生了什麼呢? #include <stdio.h> int main() {

原创 C#黔驢技巧之實現統計結果排名

前言 本節是實現統計排名的一點技巧,可能有一部分童鞋在實現排名統計繞了一大圈,最後還不如兩行代碼就搞定,代碼清晰而可讀性強,接下來我們來一起來看看。 統計排名 我們知道在SQL Server中可以利用Row_Number、Rank等函數進行

原创 Java入門系列之線程池ThreadPoolExecutor原理分析思考(十五)

前言 關於線程池原理分析請參看《http://objcoding.com/2019/04/25/threadpool-running/》,建議對原理不太瞭解的童鞋先看下此文然後再來看本文,這裏通過對原理的學習我談談對線程池的理解,若有錯誤之

原创 EntityFramework Core 3.x上下文構造函數可以注入實例呢?

前言 今天討論的話題來自一位微信好友遇到問題後請求我的幫助,當然他的意圖並不是本文標題,只是我將其根本原因進行了一個概括,接下來我們一起來探索標題的問號最終的答案是怎樣的呢? 上下文構造函數是否可以注入實例? 老規矩,首先我們定義如下上下文

原创 類實例調用靜態方法(Java)

前言 第一次看到在Java中可以通過類實例調用靜態方法,當然不推薦這麼做,避免出現意想不到的問題,接下來會講到,但是在C#中通過類實例調用靜態方法在編譯時就不會通過,這裏做下記錄。 類實例調用靜態方法 首先我們來看一個簡單的例子說明爲何不能

原创 計算機邏輯運算總結

  在計算機二進制中,最高位表示符號位,若爲0表示正數,若爲1表示負數。同時我們需要清楚知道原碼、反碼、補碼的概念,這裏請自行了解。   取非/反(~):在二進制補碼中,要獲取數字的負數,需反轉所有位並加1。比如(~-5),5是00000

原创 EntityFramework Core 3.x添加查詢提示(NOLOCK)

前言 今天看到有園友寫了一篇關於添加NOLOCK查詢提示的博文《https://www.cnblogs.com/weihanli/p/12623934.html》,這裏呢,我將介紹另外一種添加查詢提示的方法,此方式源於我看過源碼後的實現,孰

原创 MySQL對JSON類型UTF-8編碼導致中文亂碼探討

前言 繼上文發表之後,結合評論意見並親自驗證最終發現是編碼的問題,但是對於字符編碼還是有點不解,於是乎,有了本文,我們來學習字符編碼,在學習的過程中,我發現對於MySQL中JSON類型的編碼導致數據中文出現亂碼還有可深挖之處,接下來我們來分

原创 Dapper操作MySQL數據庫獲取JSON數據中文亂碼

前言 在項目中利用Dapper將JSON數據存儲到MySQL數據庫,結果發現JSON數據中的中文亂碼,特此記錄,希望對存儲JSON的童鞋能有所幫助,文中若有錯誤之處,還望批評指正。 Dapper獲取JSON數據亂碼(MySQL) 爲了引出最

原创 何爲內存模型(JMM)?

前言 任何一門語言都有其語言規範,從邏輯上我們可劃分爲語法規範和語義規範,語法規範則是描述瞭如何通過相關語法編寫可執行的程序,而語義規範則是指通過語法編寫的程序所構造出的具體含義。語言只要具備存儲(比如堆、棧),我們此時必須定義存儲行爲規則

原创 何爲內存重排序?

前言 我們知道對於我們所編寫的代碼通過計算機如何順序執行以源代碼編寫的指令,程序只是處理器自上而下執行的文本文件中列出的操作列表,其實這是錯誤的理解,計算機能夠根據需要更改某些低級操作的順序,尤其是在讀取和寫入內存時,出於性能原因,會進行內

原创 Hibernate入門之註解@Column詳解

前言 上一節我們講解了Hibernate的主鍵生成策略,本節我們繼續來講講Hibernate中針對列的映射即@Column註解,文中若有錯誤之處,還望指正。 @Column註解詳解 我們看到如上針對列註解上所對應的屬性設置,主要有列名、唯一

原创 IdentityServer4遷移至3.x版本注意問題詳解

前言 之前有一位購買我課程的童鞋利用最新的IdentityServer4版本即對應.NET Core 3.x,發佈到生產環境在學習,結果出了一些問題,此前我並未過多關注IdentityServer4升級到3.x版本,所以在此做一個基本的總結