原创 跟underscore一起學如何寫函數庫

原文:https://zhehuaxuan.github.io/... 作者:zhehuaxuan 目的 Underscore 是一個 JavaScript 工具庫,它提供了一整套函數式編程的實用功能,但是沒有擴展任何 JavaScript

原创 跟underscore一起學數組去重

引子 數組去重是一個老生常談的話題,在面試中也經常會被問道。對於去重,有兩種主流思想: 先排序,線性遍歷後去重,時間複雜度O(n*log2n); 使用哈希,空間換時間,時間複雜度O(n); 上一篇文章,我分析了underscore的函數

原创 JavaScript進階之模擬call,apply和bind

原文:https://zhehuaxuan.github.io/... 作者:zhehuaxuan 目的 本文主要用於理解和掌握call,apply和bind的使用和原理,本文適用於對它們的用法不是很熟悉,或者想搞清楚它們原理的童鞋。 好

原创 JavaScript進階之模擬new Object過程

原文:https://zhehuaxuan.github.io/... 作者:zhehuaxuan 寫在前面的話 前端的入門相對簡單,相對於其他方向天花板可能會相對較低。但是在市場上一個優秀的前端依舊是很搶手的。能夠站在金字塔上的人往往寥寥

原创 JVM模型及內存溢出

一、JVM截圖及概念 圖1:JVM虛擬機運行時數據區域概念模型 1、程序計數器:內存空間中的一塊小區域,作爲當前線程所執行的字節碼的行號指示器,注:如果是native方法,計數器爲空 2、虛擬機棧:線程私有,生命週期與線程相同,虛擬機棧描

原创 GC和GC分配策略

一、內存如何回收 解決如何回收問題,首先需要解決回收對象的問題?什麼樣的對象需要回收,怎麼樣的不需要回收?保證有引用的內存不被釋放;回收沒有指針引用的內存是Collector的職責,在保證沒有指針引用的內存對象中,一般有兩種普遍的對象檢測策

原创 關於AngularJS與其他前端框架混合使用的思考

    AngularJS 是一個爲動態WEB應用設計的結構框架,擁有雙向數據綁定,模板,MVVM,依賴注入,指令5大優點,Angular最有誘惑力的就是數據綁定功能,使用MVC模式進行開發,Angular在數據顯示和處理方便有着比傳統JS

原创 從JMS到KafKa

從JMS到KafKa JMS (1)JMS概念 JMS(Java Message Service,java消息服務)API是一個消息服務的標準或者說是規範,允許應用程序組件基於JavaEE平臺創建、發送、接收和讀取消息。它使分佈式通信耦合度

原创 排序算法整理

前言   排序一直是算法中的經典和入門,也是一個合格的程序員應該隨手都能夠回答的問題。但是現實是,不經常寫,不經常用的話,要是一下子讓寫或者讓講,估計有一半的人會嗆住。   在前年求職之前,系統的複習過所有經典的排序算法,也可以做到隨手寫

原创 如何高效的懶加載多個JS文件

1.解決javascript性能問題的本質:     在javascript中,瀏覽器使用單一進程來處理UI和javascript腳本,在同一個時刻只能做一件事情,所以javascript的腳本執行耗時越久,那麼性能就越差    無論是

原创 Javascript中如何高效的數據存取

    在程序設計中,數據的存取速度是程序性能體現的重要特徵,同樣,在JavaSrcipt中研究數據的存取機制,不僅對於JS性能,而且對於JS的原理理解十分必要。 1. JavaSrcipt的數據存儲位置     JavaScript

原创 設計模式——單例模式

1. 什麼是單例模式? 單例就是確保某一個類在軟件應用的整個生命週期只有一個實例,而且能夠自行實例化並向整個系統提供這個實例 2. 單例模式的特點? 1)單例類只能有一個實例(餓漢思想:保持飢餓,直到創建單一對象 懶漢思想:初始化應用時