原创 源碼之linux進程:vm_area_struct與虛擬內存的關係

前言 在虛擬內存中,我提到了linux虛擬內存區域的結構,但具體其是如何在linux中表示與實現的呢? 我利用了linux2.6的源碼進行了淺顯的分析。 正文 task_struct 在linux中,進程控制塊即PCB的結構爲ta

原创 SpringCloud確保服務由gateway網關轉發(服務器端口規則及設置方法)

前言 在前面曾提到一些方法確保SpringCloud中服務接口先通過網關轉發,再到達我們的主服務,避免請求越過網關,直接訪問我們的主服務。 但除了在轉發層面添加header的解決方式之外,我們大可在服務器層面做手腳,開放必要的端口

原创 CPU中常見寄存器及與內存的交互

本篇博客關於指令集和PSW的內容參考至:https://www.cnblogs.com/f-ck-need-u/p/11141636.html,同時做下了寄存器與內存交互的總結。 指令集 對於每個CPU,其都有一套自己可以執行的專

原创 MySQL查詢緩存與緩衝區的區別

前言 最近在研究mysql時,發現查詢緩存和緩衝池是兩個比較容易混淆的點,在這裏簡單提一下二者的聯繫與區別。 正文 查詢緩存 首先看下mysql的結構圖,如下所示: 可以看到,查詢緩存作用於第二層,即核心服務層。 其主要作用是保

原创 SpringBoot中maven引入本地項目成功,但import找不到包

問題引入 在畢設的maven項目中,由於需要將一個工程打包(install到本地maven倉庫下),在其他工程中引入此maven使用,但出現了以下問題: A工程install成功–>B工程pom.xml也引入成功–>在B工程中,i

原创 deepin通過nginx+vsftpd搭建文件服務器

Deepin搭建文件服務器 前言 在項目中,需要使用到圖片上傳等功能,故考慮到自己搭建一個文件服務器,其中nginx用來對我們瀏覽器中的url解析,映射到linux上的指定目錄上去;而vsftpd作爲一個ftp服務器軟件,能夠提供

原创 SpringCloud中gateway對用戶身份攔截,Vue axios統一處理狀態碼出現跨域問題

前言 在項目中,我們很多時候都需要對用戶身份進行判斷,在用戶身份無法被驗證時,我們返回{status:401,msg:‘XXX’}等,如若能在axios處統一攔截處理,會方便許多;同樣,如果在後臺gateway處,也能提前對tok

原创 攔截器中注入Feign接口後,報錯NullPointerException

前言 在攔截器中,需要通過Feign調用Auth基礎服務,判斷用戶身份; 此時在Feign Api中出現了NPE錯誤。 正文 之前寫過類似的博客日誌攔截NLP處理,原因主要是:在註冊攔截器時(WebMvcConfig類)直接通過n

原创 linux中查看java彙編代碼(hsdis+jitwatch)

前言 在研究JVM時,想要研究下volatile關鍵字的底層實現,需要其對其彙編代碼的指令進行觀察,故需要查看即時編譯器產生的彙編代碼。 正文 環境:linux(deepin) hsdis的配置 進入https://source

原创 volatile簡介及可見性、有序性的保證

volatile簡介 volatile是jvm提供的最輕量級的同步機制(相比於synchronized,其要輕量很多) 當一個變量定義爲volatile後,其具備兩種特性: 此變量對所有線程的可見性 可見性:當一條線程修改了這

原创 爲什麼匿名內部類需要訪問局部變量需要加上final

原文鏈接:http://ddrv.cn/a/286107/ 前言 package hpsyche.finaltest; /** * @author Hpsyche */ public

原创 try finally中return count++等情況下,返回值的理解

前言 首先有如下代碼: package hpsyche.string; /** * @author Hpsyche */ public class MyTest { static Integer count=10;

原创 前後端分離(SpringBoot整合Vue)部署至服務器

前言 之前曾在博客中提到SpringBoot整合Vue,這裏進一步擴展,談談如何將前後端的項目部署到個人服務器中,由於個人只有阿里雲服務器一臺,這裏的操作是前後端項目均部署至tomcat的情況,在網上自己也並未找到詳細的教程,自己

原创 leetcode——對角線遍歷(之字形遍歷二維數組)

引入 本題可見leetcode第498 給定一個含有 M x N 個元素的矩陣(M 行,N 列),請以對角線遍歷的順序返回這個矩陣中的所有元素,對角線遍歷如下圖所示。 示例 輸入: [ [ 1, 2, 3 ], [ 4, 5, 6

原创 RabbitMQ入門(三、RabbitMQ的Java使用)

準備工作 首先需要安裝配置好rabbitmq,網上很多教程,在此不再贅述。 創建用戶hpsyche,密碼:xxxxxx,同時創建host域(可以看做新建數據庫),之後就可以進入代碼階段了( 首先導入包(此處創建的是maven工程)