原创 快速排序算法原理及實現(單軸快速排序、三向切分快速排序、雙軸快速排序)

轉自:http://www.cnblogs.com/nullzx/p/5880191.html 1. 單軸快速排序的基本原理 快速排序的基本思想就是從一個數組中任意挑選一個元素(通常來說會選擇最左邊的元素)作爲中軸元素,將剩下的元

原创 快速排序

快速排序的原理: 選擇一個關鍵值作爲基準值。比基準值小的都在左邊序列(一般是無序的),比基準值大的都在右邊(一般是無序的)。一般選擇序列的第一個元素。 一次循環:從後往前比較,用基準值和最後一個值比較,如果比基準值小的交換位置,如果沒有繼

原创 Java實現二分查找法

二分查找又稱折半查找,優點是比較次數少,查找速度快,平均性能好;其缺點是要求待查表爲有序表,且插入刪除困難。因此,折半查找方法適用於不經常變動而查找頻繁的有序列表。首先,假設表中元素是按升序排列,將表中間位置記錄的關鍵字與查找關鍵字比較,

原创 基於Storm與Cassandra的實時計算與大數據實踐

本文講述了Storm如何整合Cassandra解決大量業務數據場景下的實時計算問題,文中描述的應用場景是作者實際工作中解決的業務需求,如轉發請標註出處。 原文地址:https://mp.weixin.qq.com/s/hMiOPVJY0w

原创 基於guice、resteasy、mybatis和undertow實現的輕量級restful服務

前段時間一直在做公司的微服務項目,技術棧主要是spring Boot+Thrift,感覺使用Spring Boot確實太方便了:1. 無xml配置。2. 自動配置。3. 應用可打包爲單獨的jar包獨立運行。4. 可嵌入tomcat、jett

原创 使用ArrayList時設置初始容量的重要性

ArrayList是Java中比較常用的一個類,它是基於數組實現,非線程安全,可快速隨機訪問List中的元素。ArrayList具有動態擴容的機制,每次在添加元素時,都會判斷容量是否夠用,如果不夠用,則需要擴容。JDK1.8中,Array

原创 java多線程之延遲初始化

有時候我們可能推遲一些高開銷的對象的初始化操作,並且只有在使用這些對象時才進行初始化,開發者可以採用延遲初始化來實現該需求。但是要正確實現線程安全的延遲初始化還是需要一些技巧的,否則很容易出現問題。下面是一個非線程安全的延遲初始化的例子:

原创 用redis實現的小遊戲設計

前段時間接了一個H5遊戲的後端開發任務,需求比較簡單,就是在大會場裏,幾百、上千人分成若干組,在一段時間裏同時搖手機,實時顯示當前排名,最後看哪個組搖的最快,哪個人搖的最快。由於是所有用戶同時搖手機,而且一秒鐘之內要搖5-10下,假設一千

原创 Spring bean的生命週期

正確理解Spring bean的生命週期非常重要,因爲有的時候可能會利用Spring提供的擴展點來自定義bean的創建過程,同時Spring bean的生命週期也是面試時經常被提起的問題,所以寫篇文章總結一下。先用一張圖來展示一下bean

原创 MySQL性能優化

MySQL性能優化最近看了一篇MySQL優化的ppt,把相關知識點總結一下。讓數據庫多做它擅長的事情:儘量不在數據庫做運算複雜運算移到程序端CPU儘可能簡單應用MySQL舉例:md5(xx字段)、ORDER BY RAND()合理分表不超

原创 基於Vue+Spring MVC+MyBatis+Shiro+Dubbo開發的分佈式後臺管理系統

本文項目代碼:服務端:https://github.com/lining90567/dubbo-demo-server前端:https://github.com/lining90567/dubbo-demo-client最近項目中使用了s

原创 Java之:強引用、弱引用、軟引用、虛引用

轉自:https://my.oschina.net/ydsakyclguozi/blog/404389 1、強引用(StrongReference)           強引用是使用最普遍的引用。如果一個對象具有強引用,那垃圾回收器絕不

原创 Java實現流控-Semaphore

網上類似文章很多,不多說,直接上代碼: /** * 流控類(Semaphore實現) * * @author ln * */ public class FlowControl { /** * 最大訪問量 */ p

原创 Java+Netty、Vue+Element-UI實現的即時通信應用 leo-im

之前工作接觸了幾個開源的IM產品,再加上曾經用Netty實現過幾個服務,於是就有了用Netty實現一個IM的想法,於是用業餘時間寫了一個IM,和喜歡Netty的程序員們分享。考慮到方便擴展,在服務端採用了Http+Socket結合的設計,

原创 python在windows下import其他模塊的注意事項

初學python,在同一目錄中創建了兩個py文件:a.py和b.py,然後在a.py中import b.py from . import b ...... 在linux下執行沒有問題,但是在windows下就提示  ImportErr