原创 敏捷開發個人理解及簡單執行流程

什麼是敏捷開發? 敏捷開發(Aglie Development)不是指某一種具體的方法論、過程或框架,而是一組價值觀和原則。 理解 敏捷並不是一門具體的技術,而是一種理念或者說是一種思想,他可以指導我們更加高效的開發。 再有,敏捷開發都具

原创 微服務相關整理,及spring cloud和dubbo的比較

當下微服務主要的優勢如下: 1、降低耦合及複雜度, 每一個微服務專注於單一功能,並通過定義良好的接口清晰表述服務邊界 2、可獨立部署 3、容錯, 限流、熔斷、降級 4、擴展   交互(核心)描述: 服務提供方 Provider將自己要發

原创 接口壓測及代碼質量檢查

Apache JMeter https://www.cnblogs.com/molao-doing/articles/7202110.html   idea插件 findbugs 代碼質量檢查   根據缺陷的性質,大致可以分爲下列幾類 ·

原创 二分法的時間複雜度計算

先說下定義O(log2n)與O(n)的區別 O(log2n)含義說明: 比如123456789,你要找2,首先查中間元素5,大於2,所以直接排除掉5右邊的6789,然後在1234裏繼續二分查找。每次排除1/2的元素,所以是O(log2n)

原创 Apache Ignite 與其他緩存比較

摘自: https://www.infoq.cn/article/apache-ignite-explorer https://newboy2004.iteye.com/blog/2259223   在Ignite以前,大規模、大數據量、

原创 AtomicReference原子引用

說明 AtomicReference是作用是對”對象”進行原子操作。  提供了一種讀和寫都是原子性的對象引用變量。原子意味着多個線程試圖改變同一個AtomicReference(例如比較和交換操作)將不會使得AtomicReference

原创 讀寫鎖之ReentrantReadWriteLock

實現? ReentrantReadWriteLock並沒有繼承ReentrantLock,也並沒有實現Lock接口,而是實現了ReadWriteLock接口,該接口提供readLock()方法獲取讀鎖,writeLock()獲取寫鎖。 如

原创 線程安全之AtomicBoolean

說明 AtomicBoolean 這個類,他是線程安全的,它的compareAndSet方法是利用CAS來實現線程安全的。 方法 public final boolean compareAndSet(boolean expect, bo

原创 在java中String類爲什麼要設計成final?

大神鏈接:在java中String類爲什麼要設計成final? - 程序員 - 知乎 String很多實用的特性,比如說“不可變性”,是工程師精心設計的藝術品!藝術品易碎!用final就是拒絕繼承,防止世界被熊孩子破壞,維護世界和平! 1

原创 位運算符

Java定義了位運算符,應用於整數類型(int),長整型(long),短整型(short),字符型(char),和字節型(byte)等類型。 位運算符作用在所有的位上,並且按位運算。假設a = 60,b = 13;它們的二進制格式表示將如

原创 mongodb 對數據去重後再進行統計

自身是mongo小白,對此問題,瀏覽好多博客文檔,都沒有找到太好的答案,彙總一下: distinct 只是去重,並不會統計,返回的是列表,如下 db.clct.distinct("a"); 返回: "1", "14", "15", "

原创 TP90,TP99,TP999含義

TP90就是滿足百分之九十的網絡請求所需要的最低耗時。 TP99就是滿足百分之九十九的網絡請求所需要的最低耗時。 同理TP999就是滿足千分之九百九十九的網絡請求所需要的最低耗時。

原创 mysql 命令

連接Mysql mysql -h110.110.110.110 -u root -p 123;(注:u與root之間可以不用加空格,其它也一樣) 顯示數據庫 show databases; 顯示MYSQL的版本 select versio

原创 jdk1.8 List 去重

元素去重 import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class DistinctSimpleD

原创 MongoTemplate 分頁查詢排序處理

import org.springframework.data.domain.Sort; Query query = new Query(); query.with( new Sort(new Sort.Order(So