原创 以猜數字遊戲引出的分治算法的理解與思考

目錄一、背景二、猜數字遊戲2.1 遊戲規則2.2 猜數字遊戲源碼2.3 猜數字遊戲技巧三、分治算法3.1 思想與策略3.2 適用的特徵3.3 分治算法的典型應用3.3.1 歸併排序的原理3.3.2 自頂向下的歸併排序源碼四、總結 一、背景

原创 通過與C++程序對比,徹底搞清楚JAVA的對象拷貝

目錄一、背景二、JAVA對象拷貝的實現2.1 淺拷貝2.2 深拷貝的實現方法一2.3 深拷貝的實現方法二2.3.1 C++拷貝構造函數2.3.2 C++源碼2.3.3 JAVA通過拷貝構造方法實現深拷貝四、總結 一、背景 JAVA編程中的對

原创 用隊列實現棧,用棧實現隊列,聽起來有點繞,都搞懂了就掌握了精髓!

目錄一、背景二、概念2.1 棧2.2 隊列三、棧和隊列的相互實現3.1 用隊列實現棧3.2 用棧實現隊列四、總結 一、背景 棧和隊列是數據結構中最常用到的兩種結構,有非常廣泛的運用,該篇文章將通過動畫的手段,展示棧和隊列相互實現的底層原理,

原创 數據結構:用實例分析ArrayList與LinkedList的讀寫性能

目錄背景ArrayListLinkedList實例分析1、增加數據2、插入數據3、遍歷數據3.1、LinkedList遍歷改進總結 背景 ArrayList與LinkedList是Java編程中經常會用到的兩種基本數據結構,在書本上一般會說

原创 用鬥地主的實例學會使用java Collections工具類

目錄一、背景二、概念1、定義2、方法2.1、排序方法2.2、查找/替換方法三、鬥地主實例3.1、代碼結構3.2、常量定義3.3、單隻牌類3.4、玩家類3.5、主程序四、深入理解 一、背景 最近在學習數據結構和算法的過程中頻繁用到了Colle

原创 用一個測試類簡化排序算法時間複雜度的研究

目錄一、背景二、概念2.1、時間複雜度的定義2.2、時間複雜度的比較三、測試類3.1、程序結構3.2、測試工具類3.3、 排序算法接口定義3.4、 各種排序算法的實現3.5、 測試主程序3.6、 測試分析四、寫在最後 一、背景 在學習算法的

原创 用一個通俗易懂的例子徹底說清楚單例模式

目錄一、背景二、單例模式1、概念2、網站計數的單例實現2.1 餓漢模式2.2 懶漢模式2.3 枚舉類實現單例模式三、總結 一、背景 在企業網站後臺系統中,一般會將網站統計單元進行獨立設計,比如登錄人數的統計、IP數量的計數等。在這類需要完

原创 SpringBoot實現微信小程序登錄的完整例子

目錄一、登錄流程二、後端實現1、SpringBoot項目結構樹2、實現auth.code2Session 接口的封裝3、建立用戶信息表及用戶增刪改查的管理4、實現登錄認證及令牌生成三、前端實現與測試1、編寫登錄公共函數2、搭建登錄頁面3、登

原创 用非常硬核的JAVA序列化手段實現對象流的持久化保存

目錄背景對象流的概念對象流實例引入一張組織結構圖定義組織架構圖的類類的完整結構用對象流保存組織架構的對象信息核心代碼用對象流讀取文件並輸出核心代碼總結 背景 在OOP(面向對象編程)中處處是對象,我們當然希望可以有一種數據格式來存儲這種對象

原创 數據結構之鏈式隊列的代碼實現及有趣應用

目錄背景基本概念結點代碼實現鏈式隊列代碼實現鏈式隊列的應用代碼分析 背景 隊列[Queue]:是一種限定僅在表頭進行刪除操作,僅在表尾進行插入操作的線性表;即先進先出(FIFO-first in first out):最先插入的元素最先出

原创 用自定義鏈式棧解決力扣括號匹配問題

目錄一、背景二、解題思路三、編碼實現1、結點2、鏈式棧3、用鏈式棧實現括號匹配的判斷四、代碼執行測試1測試2測試3空字符串測試 一、背景 在力扣題庫中有一道經典的棧表應用問題:有效的括號 給定一個只包括 '(',')','{','}','

原创 簡單工廠、工廠方法、抽象工廠的比較與分析

比較: 簡單工廠:定義一個工廠類,根據應用端傳入的不同參數創建不同的業務實例。也可以理解爲統一的靜態方法工廠,該工廠類負責所有不同業務類型的封裝。 工廠方法:將簡單工廠進行優化,定義多種業務類,並定義每種業務相對應的工廠類,即不同的工廠類

原创 Java File類的詳解

文章目錄基本概念File類的靜態成員變量文件的絕對路徑和相對路徑File類的構造方法File類的常用方法獲取功能的方法判斷功能的方法創建及刪除功能的方法文件夾遍歷功能list()方法listFile()方法 基本概念 java.i

原创 用一張組織架構圖說清楚類和對象

文章目錄背景組織結構圖抽象第一次抽象過程第二次抽象過程定義類靜態數據動態行爲類的完整結構創建對象對象的初始化組織架構的建立結語 背景 在剛跨入面向對象開發的初始階段,對於類和對象的理解往往是程序員碰到的第一個難題,本文旨在用一個具

原创 Java8 lambda函數式編程學習

文章目錄定義標準格式無參數無返回值有參數有返回值優化省略使用前提 定義 Lambda基於數學中的λ演算得名,實質上是一種語法糖。由編譯器推斷並幫你轉換包裝爲常規的代碼,因此你可以使用更少的代碼來實現同樣的功能。 標準格式 Lamb