原创 操作系統筆記-3-線程

多線程出現 傳統的進程都是單線程的程序。我們總是希望自己的程序有更高的並行性,傳統進程也是有辦法實現這種並行性,那就是通過子進程,但是子進程是獨立的數據空間,很多時候程序的不同任務都是需要訪問相同數據的,因此子進程有很大的侷限性。

原创 Java基礎之IO(2)-OutputStream

概述 上一篇講了InputStream,和InputStream相對的,InputStream是把數據從一個源中讀取出來,而OutputStream是把數據輸出到一個源,這個源可以是一個文件,網絡,內存,終端等。和InputStr

原创 操作系統筆記-6-內存管理基礎

引言 花了一段時間才把之前的筆記整理了一部分,平時太忙也沒啥時間。今天開始整理內存管理部分的,內存管理部分大致分爲三部分筆記,第一部分就是本篇內存管理基礎,第二部分是虛擬內存,第三部分高速緩存。 一個程序在運行前,只是一個存儲在磁

原创 Java基礎之IO(3)-Reader

概述 前兩節學習過了字節輸入流和字節輸出流,大家可能會疑惑,爲什麼已經有了字節輸入流,還需要字符輸入流。其實從字面意思就可以理解,字節輸入流在讀取的時候是按字節的方式,而字節是一個對計算機友好,但是對人類用戶不友好的方式,字符纔是

原创 Java基礎之IO總覽

背景 IO在一般業務開發中不常用到,因此也是很久沒有對這部分進行一次系統性的總結,最近有時間也是總結一下。 Java IO總覽 Java IO這裏指的傳統IO,NIO會放到其他文章中介紹。在分類之前先了解一些概念。 流 流是一種對

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

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

原创 操作系統筆記-1-操作系統概述

背景 很早就看了《MODERN OPERATING SYSTEMS》和《Operating System Concepts》這兩本書本書,當時也做了很多筆記。爲了方便自己能更好的溫故知新,也爲了防止自己的筆記丟失,遂搬到雲上(手動

原创 Docker構建學習環境(4)-Azkaban Solo模式調度Spark

背景 前段時間利用Docker部署了hadoop集羣和spark,也簡單的提交了任務。但是肯定有一個疑問,如果我們要執行定時任務怎麼辦呢?或者我們執行復雜的具有順序的多任務怎麼辦?在大數據中,這種場景非常常見,一個大數據任務通常由

原创 Hadoop學習筆記(1)-環境搭建

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

原创 Docker部署Spark並提交WordCount任務

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

原创 自然語言處理(1)——文本分詞

一想到每次被同學問到“你在做什麼?”,我回答“自然語言處理。”,同學就會說“這麼難的東西你也做?”,我就覺得,很多人覺得自然語言處理很難,其實是對自然語言處理的誤解,至少入門沒大家想象的那麼難,其實自然語言處理不是難在算法複雜,而是語句