原创 Ribbon 負載均衡策略

Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載均衡工具,基於Netflix Ribbon實現。 下面我們來看看在 Ribbon 中都提供了哪些負載均衡的策略實現。 RandomRule 該策略實現從服

原创 ArrayList 線程安全問題及解決辦法

爲什麼線程不安全? E.G.: 這裏使用多個線程同時處理一個 ArrayList ,期望輸出 list.size 是 4000 List<String> list = new ArrayList<>(); for (int i

原创 取消Promise

轉載自 爲Promise插上可取消的翅膀 const makeCancelable = (promise) => { let hasCanceled_ = false; const wrappedPromise = new Pr

原创 最長遞增子序列----面試代碼題

面試代碼題 在一組數字中,找出最長一串遞增的數字,就是最長遞增子序列,比如 0, 3, 4, 17, 2, 8, 6, 10 數字 0 3 4 17 2 8 6 10 長度 1 2 3 4 2 4 4 5 通過觀察我們可以看出最長遞增子序

原创 ES6--Proxy

本篇文章轉載自我的個人博客 Proxy Proxy可以理解爲在對象前架設一個攔截層(過濾與改寫) 定義: var proxy = new Proxy(target,handler); 自帶方法: get(target,propKey,

原创 常見的排序算法

冒泡排序 冒泡排序算法的原理如下: 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。 針對所有的元素重複以上的步驟,除了

原创 js手動實現簡易懶加載----LazyLoad

前言 在網頁加載中,對於一些存在很多Image的網頁,一次加載所有圖片,會造成性能浪費,圖片優化的方法有很多,例如base64、雪碧圖等,圖片懶加載也是比較常見的一種性能優化的方法 原理 給頁面中img標籤設定自定義屬性data-orig

原创 常見正則表達式

本篇文章轉載自我的個人博客 字符串trim函數 其中str爲測試字符串,re爲正則表達式 var str = ' www.liulei.@qq [email protected] '; var re = /((^s*)|(s*$))/

原创 Flex佈局(CSS彈性盒子)

CSS3 彈性盒子(Flexible Box 或 Flexbox),是一種用於在頁面上佈置元素的佈局模式,使得當頁面佈局必須適應不同的屏幕尺寸和不同的顯示設備時,元素可預測地運行。對於許多應用程序,彈性盒子模型提供了對塊模型的改進,因爲

原创 瀏覽器渲染過程及重繪重排

瀏覽器渲染過程 HTML代碼轉化成DOM CSS代碼轉化成CSSOM(CSS Object Model) 結合DOM和CSSOM,生成一棵渲染樹(包含每個節點的視覺信息) 生成佈局(layout),即將所有渲染樹的所有節點進行平面合成 將

原创 封裝 generator 爲 async 函數

generator 和 iterator 對於 generator 生成的迭代器,調用函數,該函數並不執行,返回的也不是函數運行結果,而是一個指向內部狀態的指針對象,總是需要手動調用 next 函數去獲取下一個迭代器狀態 functio

原创 Canvas 繪製線條、與鼠標交互的線條

canvas入門,跟隨掘金小冊如何使用 Canvas 製作出炫酷的網頁背景特效學習,完成一個簡單的 canvas 線條 demo,監聽文檔 document 的幾個事件 mousemove、mouseleave、blur 來與背景線條交互

原创 Canvas 繪製背景小球、與鼠標交互的小球

canvas入門,跟隨掘金小冊如何使用 Canvas 製作出炫酷的網頁背景特效學習,完成一個簡單的 canvas demo 下面是代碼,操作解釋都有註釋: <!DOCTYPE html> <html lang="en"> <head>

原创 位圖與矢量圖

位圖與矢量圖位圖(BitMap)矢量圖 位圖(BitMap) 位圖又叫像素圖,其構成最小單位是像素,在縮放過程中會失真。位圖是一個 HTML 元素,其中的圖形不會單獨創建 DOM 元素。因此我們不能通過 JavaScript 操控位圖

原创 CSS漸變實現進度條、立體小球

進度條  設置 div 元素屬性 background-image 爲 linear-gradient (漸變)來實現傾斜的進度條,在使用 animation 動畫來讓進度條動起來,就能達到想要的效果啦 HTML 代碼: <div id