原创 解決遠程連接阿里雲MySQL時3306端口無法訪問的問題

我在阿里雲服務器上安裝了MySQL8,但配置遠程連接一直不成功。 理論上我只需要修改mysql的user表中root用戶的host,然後刷新權限,關閉防火牆即可。 然而。。 使用Navicat連接,返回:2003 - Can’t

原创 LeetCode中的數據結構2:二叉樹

二叉樹具有天然的遞歸性,二叉樹問題也常用遞歸方式求解。遞歸函數應該包含兩部分:遞歸終止條件和遞歸過程。 LeetCode 104 Maximum Depth of Binary Tree,求二叉樹的最大深度,就是使用遞歸方法求解的非常

原创 Java內存模型筆記:重排序

首先看下面這段代碼,看起來似乎while循環永遠都不會被異常終止,(tester.x_read, tester.y_read)似乎不會又(0,0)這種結果,但實驗一下會發現,while很高的機率被異常終止,因爲編譯器和執行器在執行代碼

原创 排序3:堆排序

堆是一種特殊的樹結構,其最典型的的應用就是堆排序。堆排序是一種原地的、時間複雜度爲O(nlogn)的排序算法。 什麼是堆 必須是一棵完全二叉樹。 每個節點都必須大於等於(或小於等於)它的所有子節點,等價於每個節點都必須大於等於(或小

原创 Activiti配置

用戶的腦洞永遠都在碾壓我的技術水平,最近又有用戶想在流程上大做文章。於是,我只能重翻Activiti 6的用戶手冊和API,從頭記錄並分享一下。 Activiti 6的User Guide目錄爲https://www.activiti

原创 在Windows的虛擬機中安裝並配置CentOS

一般練習Linux操作時,我們都會在個人筆記本上安裝虛擬機並安裝Linux系統。下面以Windows爲例,介紹如何安裝虛擬機,並在其中中安裝並配置CentOS。 啓用虛擬化 Windows系統中,安裝虛擬機前需要檢查是否已啓用虛擬化。

原创 排序2:快速排序的優化方案

上一篇文章簡單的討論了快速排序的實現,但這種實現在分區不均衡時,有可能退化成時間複雜度爲O(n2)的算法。 上一版實現代碼如下: public class QuickSort { private QuickSort(){}

原创 LeetCode筆記:幾個鏈表問題,我允許你先跑39米。

解決鏈表問題比較常見的一種方法叫做:快慢指針。就是我標題上寫的,我允許你先跑39米。 鏈表最常見的問題大概就是LeetCode 234. Palindrome Linked List,這道題是說對於一個給定的鏈表,判斷是否爲迴文串。這

原创 一個activiti的小demo

創建一個activiti的小應用,大概分爲4步。 public void testProcess throws ParseException { // 1. 創建流程引擎 ProcessEngine processEn

原创 LeetCode筆記:438. Find All Anagrams in a String

這是一道難度爲Easy的問題,但我覺得挺難的。記錄一下。 問題 Given a string s and a non-empty string p, find all the start indices of p’s anagram

原创 Linux第一式:常用命令

鑑於命令行操作頻頻失敗,我決定在哪裏跌倒就在哪裏趴着並學習一會,所以買了一節關於Linux的入門課程https://coding.imooc.com/class/154.html。在這裏記錄並分享一下。 軟件操作命令 軟件包管理器:y

原创 排序1:常見排序方法的簡單介紹

雖然時間複雜度不是考察一個算法的唯一指標,但卻是大部分情況下都非常看重的,所以我們就按這個思路梳理一下常見的排序算法。 常見的排序算法按照時間複雜度可劃分成兩類, O(n2):插入排序、選擇排序。 O(nlogn):歸併排序、快速排

原创 Mac安裝MySQL一步一個坑

還是那句話,面對命令行操作,我從來沒有隨隨便便成功過。 今天忘了Mac電腦上MySQL的root密碼,也好久沒有用過了。索性重裝MySQL,結果,折騰了好久,想哭哭。。 本來我想的,重裝很容易嘛,brew install一下就可以啦。

原创 設計模式:讓我們一起破壞單例模式吧

簡介 單例對象的類必須保證只有一個實例存在,並提供一個全局訪問點。可以減少內存開銷,同時避免對資源的多重佔用。連接池、線程池都是常見的單例模式。 實現一個單例模式基本有兩種思路,一種是在初次使用時構建(懶漢式),一種是在類加載時構建(

原创 設計模式:MyBatis中的抽象工廠

簡介 介紹抽象工廠之前,需要先介紹兩個概念:產品族和產品等級。產品族是指同一主題的產品,例如Java的錄像和Java的文章都屬於Java主題的產品,他們將在同一個工廠生產。產品等級是指不同產品族中的同類產品,比如Java的錄像和Pyt