原创 排序算法整理小結(快速排序)

快速排序           說到快速排序算法,可能我們會瞭解到其最壞的運行時間爲O(n*n),但是對於其平均性能爲O(nlgn),正是這一點使得其被廣泛的使用,另一個重要的特點就是,其能夠進行原地排序,能夠儘可能的減少空間的佔用,儘可能

原创 排序算法整理小結(歸併排序)

     排序算法,說真的,就是一個排列順序的算法,有些廢話了哈,不過話說回來,順序對於我們實現某些功能有很大的幫助,然而如何能夠快速的將一個無序數列排列好呢?這次整理了幾種排序方法,總結講述了一下實現的原理以及過程,話比較直接,相信各位

原创 二叉堆,堆排序,d叉堆

   堆,這是經常聽到的一個數據結構,其非常的重要,重要性就不閒扯了,這次主要說明堆的數據結構,堆一般可以分爲大頂堆和小頂堆,顧名思義,也就是最大值或者是最小值在第一個位置,需要說明的是這不是我們自己規定了,而是由於堆的性質決定了,在堆中

原创 LeetCode算法之鏈表總結--刪除類操作,迴環鏈表

        鏈表是數據結構中較爲基礎的一種數據結構,其在我們日常的開發中用的比較多,關於鏈表的一些基礎知識,我在我之前的博客中已經介紹過,並且也做了一些簡單的實現,然而這個博客主要是講鏈表的應用問題,具體體現爲在LeetCode上面與

原创 LeeteCode 之 遞歸回溯法總結(組合問題)

首先參考下面的原題,關於電話號碼摁鍵上的字母的組合問題:Leet Code 17https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/descript

原创 newstyles項目實戰(二十)jedis與Spring整合

Spring和Jedis結合配置:Jedis連接池的配置:<!-- 連接池配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">

原创 設計模式之狀態模式

狀態模式,我們給他一個通俗的定義:在我們改變某一個對象的內部狀態的時候,我們也要同時改變它的行爲,表面上是改變了動作和行爲,實際上則是改變了類的內部的狀態。通過這個定義我們可以隱約的猜想到,我們在改變的狀態的時候,其實是改變的一個類,也就

原创 JVM垃圾收集器和內存分配

一、串行回收器    1.新生代串行回收器 對於新生代串行回收器有兩個重要的特點,第一個是,它僅僅使用單線程進行垃圾回收;第二個是它是獨佔式的攔擊回收,也就是說在串行收集器進行垃圾回收時java相應的應用程序中的線程都需要暫停,等待回收器

原创 newstyles項目實戰(十九)redis概念以及安裝,以及集羣環境的模擬建立

redis的背景瞭解:       Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持

原创 Java虛擬機Class裝在系統初探(一)之類的加載

  之前我們瞭解到,Class在java中經常以文件的形式存在,並且只有當被虛擬機裝載的Class類型才能在程序中使用,系統裝載類的過程可以劃分爲三個部分,加載,鏈接初始化。可以參考下圖幫助理解,好有個大致的印象。類的裝載像前面說的那樣,

原创 newstyles項目實戰(二十一)Solr搜索功能實現之Solr安裝

什麼是Solr?Solr 是Apache下的一個頂級開源項目,採用Java開發,它是基於Lucene的全文搜索服務器。Solr提供了比Lucene更爲豐富的查詢語言,同時實現了可配置、可擴展,並對索引、搜索性能進行了優化。 Solr可以獨

原创 每日LeetCode之兩整數相除

原題鏈接:https://leetcode-cn.com/submissions/detail/3096732/解決方案一:採用二分法,能夠較快的解決不採用除法,乘法以及mod方法來計算兩個整數的除法的問題。 public int

原创 newstyles項目實戰(十六)CMS管理系統之內容刪除

     之前已經瞭解了類目的添加以及重命名,內容的添加以及重命名等,但是沒有完成的功能爲類目的刪除和內容的刪除,我們首先需要分析一下我們的業務邏輯:首先對於內容的刪除我們應該使用內容展示中的刪除按鈕來進行刪除,但是當我們需要刪除某一個類

原创 數據結構學習筆記(七)--二叉查找樹

     對於大量的數據的輸入,我們採用另一種大部分操作時間爲log的簡單數據結構,同時,在這個情況下線性列表訪問的時間太慢,不適合使用,這種簡單的數據結構叫做二叉查找樹,其是兩種庫集合類TreeSet和TreeMap實現的基礎。   

原创 Java中的四種引用與垃圾回收

     java中垃圾回收的基本思想是考察每一個對象的可達性,即從根節點出發是否可以被訪問到這個對象,如果這個對象被訪問到說明這個對象正在被使用,如果所有的節點都無法獲取到整個對象,那麼說明這個對象不再被使用了,一般說來這種對象是需要被