原创 8種方式實現單例模式

請仔細看代碼中的註釋。 1.餓漢式 package mutithread.concurrent.chapter14; /** * 餓漢式 * @author zhangjinglong * @date 2020-02-19

原创 設計模式之 裝飾者模式(Decorator Pattern)

裝飾者模式(Decorator Pattern) 關於裝飾者模式,舉個簡單的例子來說明它的實現方式。 需求 大家在購買咖啡的時候,往往會依據自己的口味要求店員在咖啡中添加各種調料,例如:豆漿(Soy)、摩卡(Mocha,也就是巧克

原创 Spark 鍵值對操作

Spark 鍵值對操作 2019年11月22日 簡介 鍵值對RDD通常用來進行聚合計算 鍵值對RDD在各節點上分佈情況的高級特性:分區 使用可控的分區方式把常被一起訪問的數據放到同一個節點上,可以大大減少應用的同學開銷,帶來明顯的

原创 NLP自然語言處理 之 jieba中文處理

教程參考來源視頻:https://www.bilibili.com/video/av21452290/?p=1 jieba中文處理 與拉丁語系不同,亞洲語言不是以空格分隔詞的。因此需要專門的工具將完整的文本分解成粒度更細的詞。 j

原创 Python正則表達式

Python正則表達式 正則表達式驗證網站,強烈推薦!!! https://regexr.com/ 練習題網站 https://alf.nu/RegexGolf,闖關練習,十分有意思。 簡單例子 # encoding:UTF-8

原创 Socket網絡編程 2 之UDP協議

Socket網絡編程 2 Socket-UDP 快速入門 UDP是什麼? 英文名:User Datagram Protocol,縮寫爲UDP 一種用戶數據報協議,又稱用戶數據報文協議。 是一個簡單的面向數據報的傳輸層協議,正式規

原创 Socket網絡編程 1

Socket網絡編程 什麼是網絡編程 網絡,計算機網絡的構成? 在計算機領域中,網絡是信息傳輸、接收、共享的虛擬平臺。 局域網、互聯網 什麼是網絡編程? 對信息的發送和接收。通過操作相關Api調度計算機硬件資源,並利用傳輸管道(網

原创 快速排序

快速排序 前情回顧 前面介紹了幾種簡單的排序方法 選擇排序 插入排序 希爾排序 歸併排序 今天介紹經典的快速排序,與歸併排序一樣,快速排序也是一種分治的排序方法。 快速排序特點 1.實現簡單 2.適用於各種不同的輸入數據 3.

原创 歸併排序-大事化小

歸併排序 前情回顧 前面介紹了幾種簡單的排序方法 選擇排序 插入排序 希爾排序 今天的主角是叫做歸併排序的一種方法,歸併排序最吸引人的性質是它能保證將任意長度爲N的數組排序所需時間和 NlogN成正比,而這是其他排序算法複雜度的

原创 希爾排序

截至目前,我們分別介紹了兩種基礎的排序算法。 選擇排序 插入排序 在介紹插入排序時講到,插入排序的原理是依次交換相鄰的元素,適用於元素數量少的情況和數組已經部分有序的情況,而面對大規模亂序數組時,顯得力不從心,插入排序會很慢。

原创 插入排序

上文中介紹了排序算的基本原理和一些概念和約定API,參見選擇排序,本節介紹另一種簡單的排序算法:插入排序。 插入排序 場景:我們在玩撲克牌的時候,總是一邊揭牌,一邊將到手的牌插入到之前已經排好序的手牌中。 這是插入排序最生活化的應

原创 選擇排序

選擇排序 今天,我們來聊聊排序算法,話說,雜亂無章的事物總是讓人感覺困惑,而喜歡秩序的人總是能將事物整理的井井有條。我們以重新排列數組元素作爲目標進行說明。 排序算法的模型 研究排序算法時,我們要計算比較和交換的數量。對於不交換元

原创 用數組實現一個下壓棧 (能夠動態調整數組大小)

用數組實現一個下壓棧 (能夠動態調整數組大小) 在計算機的世界中,棧這種數據結構及其重要。後進先出是棧的主要用途。 日常生活中,棧的思想隨處可見: 電梯中的人,總是後進先出 交給別人的文件,後面交的人的文件總是會被先處理。 下

原创 IDEA(mac版)中配置 springBoot 熱部署

IDEA中配置 springBoot 熱部署 在pom.xml配置文件中添加功能依賴 <!--熱部署配置--> <dependency> <groupId>org.springframework.boot</group