ES2015提出了Promise,同時(shí)基于Promise的異步開發(fā)將開發(fā)者中回調(diào)地獄中解救出來。但在沒有原生支持的環(huán)境下,需要借助Promise/A+之類的庫來實(shí)現(xiàn)Promi...
ES2015提出了Promise,同時(shí)基于Promise的異步開發(fā)將開發(fā)者中回調(diào)地獄中解救出來。但在沒有原生支持的環(huán)境下,需要借助Promise/A+之類的庫來實(shí)現(xiàn)Promi...
傳統(tǒng)的JavaScript異步通?;诨卣{(diào)實(shí)現(xiàn),但回調(diào)方式有兩個(gè)重要的缺點(diǎn): 不便于調(diào)試:由于回調(diào)函數(shù)是基于事件隊(duì)列實(shí)現(xiàn)的,當(dāng)回調(diào)方法條用時(shí),其外部調(diào)用函數(shù)并不在函數(shù)執(zhí)行棧中...
在上一篇博客CSS3 3D相冊(cè)一文中可以看到,實(shí)現(xiàn)該3D效果的關(guān)鍵在于: 利用transform改變各個(gè)元素位置 利用transition增加動(dòng)態(tài)效果 利用perspecti...
利用CSS3中的animation,可以實(shí)現(xiàn)很多很炫的效果。今天就來利用animation屬性完成如上圖所示的加載效果。 1 基本構(gòu)圖 首先來完成基本的構(gòu)圖: 可以將上述圖形...
今天來做一個(gè)基于CSS3 3D屬性的3D相冊(cè)效果。 1 基本布局 首先來完成基本布局,從效果圖中可以看到,所有圖片一開始均位于同一位置,然后經(jīng)過不同的角度的旋轉(zhuǎn)以及平移到不同...
由于JavaScript不是典型的面向?qū)ο笳Z言,因而在實(shí)現(xiàn)一些經(jīng)典的設(shè)計(jì)模式上也與一般語言存在差異,本文主要介紹在JavaScript中如何實(shí)現(xiàn)常用的設(shè)計(jì)模式。 1. 單例模...
在JavaScript中,函數(shù)原型鏈?zhǔn)亲顝?qiáng)大也是最容易讓人迷惑的特性。長期以來對(duì)于prototype和__proto__的一知半解導(dǎo)致在實(shí)際開發(fā)中經(jīng)常遇到難以排查的問題,所以...
前端頁面開發(fā)中經(jīng)常需要實(shí)現(xiàn)消息氣泡樣式,比如: 實(shí)際上上述兩種效果實(shí)現(xiàn)起來,并不復(fù)雜,接下來我們就來實(shí)戰(zhàn)一下。 1. 構(gòu)建消息框 消息框主體很簡(jiǎn)單,一個(gè)div,設(shè)置一下背景顏...
1. float布局 最簡(jiǎn)單的三欄布局就是利用float進(jìn)行布局。首先來繪制左、右欄: 此時(shí)可以得到左右兩欄分布: 接下來再來看中間欄如何處理。我們知道對(duì)于float元素,其...
1 addrinfo addrinfo結(jié)構(gòu)內(nèi)容如下: 1.1 ai_family ai_family指定了地址族,可取值如下: 1.2 ai_socketype 1.3 ai...
上一篇博客我們介紹了InstantRun的初始化邏輯,接下來我們來看下在運(yùn)行時(shí)階段,InstantRun是如何加載修改的代碼的。 上一篇博客的末尾我們介紹了InstantRu...
Android Studio 2.0開始支持 Instant Run 特性, 使得在開發(fā)過程中能快速將代碼變化更新到設(shè)備上。之前,更新代碼之后需要先編譯一個(gè)完整的新Apk,卸...
最近被keep keepnames keepclassmembers等幾個(gè)混淆規(guī)則搞得暈頭轉(zhuǎn)向,看起來雖然簡(jiǎn)單,但用起來卻經(jīng)常跟自己預(yù)想的一樣。所以決定放棄看他人總結(jié)的博客,...
volatile關(guān)鍵字就是Java中提供的另一種解決可見性和有序性問題的方案。對(duì)于原子性,需要強(qiáng)調(diào)一點(diǎn),也是大家容易誤解的一點(diǎn):對(duì)volatile變量的單次讀/寫操作可以保證...
1 線程的狀態(tài) Java中線程中狀態(tài)可分為五種:New(新建狀態(tài)),Runnable(就緒狀態(tài)),Running(運(yùn)行狀態(tài)),Blocked(阻塞狀態(tài)),Dead(死亡狀態(tài))...
Synchronized是Java中實(shí)現(xiàn)進(jìn)程同步最簡(jiǎn)單的一種方式,Synchronized主要有以下三個(gè)作用: 保證互斥性 保證可見性 保證順序性 接下來我們就來看下Sync...
并發(fā)編程是Java程序員最核心的技能之一,同時(shí)也是掌握難度最大的一部分。我們都知道Java中提供了各種異步機(jī)制,但無論是notify wait、synchronized...
上一篇博客中,我們提到AQS的隊(duì)列管理是基于CLH鎖隊(duì)列實(shí)現(xiàn)的,所以首先我們來看下CLH鎖隊(duì)列。 1 CLH鎖隊(duì)列 CLH鎖隊(duì)列本質(zhì)上是一個(gè)基于鏈表的FIFO自旋鎖隊(duì)列,隊(duì)列...