原创 JS進擊之路:閉包

引言 閉包這個詞對很多前端開發人員來說既熟悉又陌生,熟悉是因爲很多人都用過閉包,但是用的時候不知道閉包,陌生是因爲並不理解閉包,接下來這篇文章將會從多方面介紹閉包 定義 閉包是怎麼定義的呢?當函數可以記住並訪問所在的詞法作用域時,就產生了閉

原创 h5視頻播放踩坑記錄

隨着抖音、快手這類的視頻類app的火爆,移動端h5視頻類應用也隨之興起,使用video播放的場景也越來越多,本篇文章主要例舉了移動端視頻播放的一些場景和個人在開發過程中遇到的一些問題,希望在看過這篇文章後,能對開發者在移動端使用video播

原创 詳解Map.merge()

今天介紹Map的merge方法,讓我們來看看它的強大之處。 在JDK的API中,這樣的一個方法它是很特別的,它很新穎,它是值得我們花時間去了解的,同時也推薦你可以運用到實際的項目代碼中,對你們應該幫助很大。Map.merge())。這可能是

原创 空對象模式

概述 在這個快速教程中,我們將看一下Null對象模式,這是設計模式的一個特例,一個經常被我們遺忘的特例。我們將描述它的目的以及我們何時應該考慮使用它。 像往常一樣,我們還將提供一個簡單的代碼示例。 空對象模式 在大多數面向對象的編程語言中,

原创 將多個JSON字段映射到單個Java字段

簡介 本文中,教大家如何使用Jackson和Gson將不同的JSON字段映射到單個Java字段中。 Maven依賴 爲了使用Jackson和Gson庫,我們需要在POM中添加以下依賴項: <dependency> <groupId>

原创 Spring AOP從零單排-織入時期源碼分析

問題:Spring AOP代理中的運行時期,是在初始化時期織入還是獲取對象時期織入? 織入就是代理的過程,指目標對象進行封裝轉換成代理,實現了代理,就可以運用各種代理的場景模式。 何爲AOP 簡單點來定義就是切面,是一種編程範式。與OOP對

原创 JS進擊之路:作用域

引言 幾乎所有的編程語言都有作用域的概念,那作用域到底指的是什麼呢?作用域就是編程語言在定義變量時,變量如何存儲、變量如何訪問的一套規則,不同的編程語言的規則大同小異,接下來就來看看這套規則是怎麼設定的 編譯原理 在傳統編譯語言中,在代碼執

原创 JS數據結構學習:鏈表

在存儲多個元素時,我們最常用的數據結構可能是數組,究其原因可能是數組訪問方便,可以直接通過[]訪問,但是數組也存在一定的缺點,數組的大小是固定,數組在執行插入或者刪除的時候成本很高。鏈表存儲的是有序的元素集合,和數組不同的是,鏈表中的元素在

原创 JS數據結構學習:隊列

隊列的定義 隊列是遵循先進先出原則的一組有序的項,與棧的不同的是,棧不管是入棧還是出棧操作都是在棧頂操作,隊列則是在隊尾添加元素,隊頂移除,用一個圖來表示大概是這樣事的:用一個更形象的例子就是:排隊服務,總是先排隊的人會先接受服務,當然不考

原创 JS數據結構學習:棧

棧的定義 什麼是棧?棧是一種遵循後進先出原則的有序集合,新添加的或者待刪除的元素都保存在棧的同一端,稱爲棧頂,另一端稱爲棧底,在棧裏,新元素靠近棧頂,舊元素靠近棧底,用個圖來看大概這樣式的:用一個更形象的例子來說明:上網的時候,每點擊一個超

原创 算法學習筆記:排序算法(二)

上一篇中已經介紹了幾個簡單的排序算法,這一篇文章我將繼續向大家介紹排序算法相關的內容,本篇的會介紹希爾排序、快速排序、歸併排序以及分治算法的思想,希望通過本文章能夠加深大家對排序算法的理解。 希爾排序 希爾排序又叫縮小增量排序,希爾排序的主

原创 算法學習筆記:排序算法(一)

算法對大多數前端工程師來說都是一個比較不願意提及的話題,因爲學了,感覺在工作中直接應用的場景不多,不學,大廠面試必考算法,總結來說就是:沒有學習算法的源動力,爲面試學習算法總不會令人動力去學習,沒有動力想要學好算法自然也很難,對我來說,學習

原创 淺探前端圖片優化

性能優化是前端開發必不可少的一環,而圖片優化又是性能優化中必不可少的一環,但不知道有多少開發者在網頁的開發過程中會注意圖片的使用,圖片使用不當可能會導致網頁加載卡頓、網頁加載速度慢等問題,這篇文章將會將我以往對圖片的處理做個總結。 不同格式

原创 淺談js執行機制

關於js執行機制,老早之前就一直想寫篇文章做個總結,因爲和js執行順序的面試題碰到的特別多,每次碰到總是會去網上查,沒有系統地總結,搞得每次碰到都是似懂非懂的感覺,這篇文章就係統的總結一下js執行機制。 任務隊列 大家都知道js最大的特點就

原创 es6之解構賦值

es6的語法已經出了很長的時間了,在使用上也可以通過babel這類的編譯工具轉譯爲瀏覽器可以識別的es5的語法,但是依舊有很多開發在寫代碼的時候,依舊沒有用es6的語法,而是習慣使用老的語法,這篇文章主要會介紹解構賦值基本用法以及在實際使用