原创 操作系統-番外-日誌結構文件系統LFS

引言 過去幾十年CPU速度的增長是巨大的,但是磁盤的訪問速度卻增長較慢。內存近些年發展也很快,可以提供較大的空間存儲程序的工作集,因此磁盤傳輸主要是被寫操作支配。因此如何提升寫效率是有效利用磁盤的關鍵。 日誌結構文件系統是用順序寫

原创 操作系統筆記-9-文件系統

引言 之前已經學習過數據在內存中是如何表示,如何存儲,但是這些存儲在PC斷電後數據便消失。因此我們需要一個可以持久化存儲並且容量遠遠大於內存的結構,這一篇我們將學習,文件是如何被組織和操作的,這是一個操作系統重要的部分-文件系統。

原创 日常問題隨筆-RestTemplate發送Get請求通過body傳參問題

問題出現 今天在對接其他部門的接口時,發現對方提供了一個GET請求,但是參數卻要求通過body傳遞json格式的數據。這可難住我了,GET請求還能通過body傳遞參數嗎?帶着疑問,先試一下吧。我們項目用的RestTemplate,

原创 操作系統筆記-7-虛擬內存

引言 上一篇筆記講述了內存的地址空間抽象,但是還留下了問題,那就是當軟件很大的時候雖然利用Swapping技術可以運行,但是每次交換整個進程的空間開銷不容忽視,雖然近年來內存也有增長,但是軟件大小增長的速度遠大於內存增長的速度。

原创 操作系統筆記-2-進程

進程是什麼 大部分資料都描述進程是資源分配的基本單位,但是這個描述並不能很好的描述進程的特性;另一個種描述是進程是對運行程序的一種抽象,我更贊同這種說法,第一它說明進程和程序有關係,第二它說明必須是運行中的程序。我們看一下Linu

原创 Docker構建學習環境(3)-部署Spark並提交WordCount任務

Spark概述 Apache Spark是一個開源集羣運算框架,最初是由加州大學柏克萊分校AMPLab所開發。相對於Hadoop的MapReduce會在運行完工作後將中介數據存放到磁盤中,Spark使用了存儲器內運算技術,能在數據

原创 Docker構建學習環境(1)-部署ElasticSearch集羣

ElasticSearch介紹 ElasticSearch下面簡稱ES,是一款分佈式全文搜索和分析引擎,它可用於商城的全文搜索引擎,也可用作小型實時日誌分析系統,著名的ELK中的E就是指的ElasticSearch。Elastic

原创 操作系統筆記-5-進程&線程同步

引言 前一篇介紹了進程和線程調度,知道線程和進程在系統中是併發執行,這將會引發出一些問題。接下來從一個簡單的生產者和消費者例子說起,從前有兩個進程,一個進程負責往一個buffer裏寫數據,我們把它叫做生產者;一個進程負責消費數據也

原创 操作系統筆記-8-高速緩存

引言 上一篇學習了虛擬內存,虛擬內存解決了多道程序併發運行的內存分配和解決小內存運行大程序的問題。這一篇將講解高速緩存,來解決內存的低速和cpu高速不匹配的問題,計算機的很多的問題,其實都可以中間加一層解決,因此計算機才變得複雜,

原创 Docker構建學習環境(2)-搭建Hadoop集羣

認識Hadoop 簡單描述,Hadoop是一款實現分佈式海量數據存儲和離線海量數據分析的工具。官方地址。Hadoop提供的安裝方式有單機模式、僞分佈式模式和完全分佈式模式,不知道爲什麼有強迫症似的,如果有分佈式模式必須要安裝完全分

原创 操作系統筆記-番外-操作系統經典書籍推薦

最近整理以前的筆記,有人問關於操作系統的書籍。我有個愛好喜歡收集書籍,前後也收集了幾百本高質量的書籍,這裏給大家推薦基本關於操作系統的書籍 Operating System Concepts 10th edition 又稱恐龍書

原创 Java基礎之IO(4)-Writer

概述 上一篇講得是Reader字符輸入流,今天講的是Writer字符輸出流。同OutputStream類似,只是OutputStream輸出的是字節,Writer輸出的是字符。字節流和字符流不在這裏介紹,前面已經講得很多了。Wri

原创 Java基礎之IO(1)-InputStream

概述 之前介紹過一篇IO總覽的文章,概述性的講解了現有的一些Java IO。從這一篇開始,詳細講解Java IO的各個模塊,今天首先講一下InputStream。 InputStream是一個字節輸入流,什麼是字節流呢?我們知道在

原创 操作系統筆記-4-進程&線程調度

引言 當我們在平時工作或學習中用電腦的時候,我想很多人都是一邊聽着音樂一邊寫代碼、看文檔、編輯Markdown寫筆記或者Chrome看着網頁,不知道你有沒有好奇電腦爲什麼可以可以同時完成這些程序的運行,並且如果你細心可能發現了有時

原创 一個生產問題引發的Java編碼思考

背景 從一個問題說起,前幾天在和一家公司做項目對接時,我方公司提供給對方的是返回的code碼作爲成功還是失敗校驗,對方公司因爲使用了我方返回的msg作爲組合校驗,而返回msg出現亂碼,導致對方公司作字符串匹配時失敗,以爲我方返回的