• 2020.01.09

Sizzle源碼分析(四):Sizzle是如何選擇元素的

前言 這篇文章我會將Sizzle整個篩選元素的流程全部講解一遍。從它是如何找出種子集seed,又是如何將token轉換為篩選規則,再到是如何通過規則進行篩選的所有流程。這裡我會通過一個例子來進行說明,由token轉換為篩選規則那裡非常的繞,尤其是Sizzle還有緩存的邏輯夾雜在其中,而且最複雜的其實 […]

  • 2020.01.09

基於Charles,如何利用代理技術進行接口mock測試

1、工具選擇 作為一名測試工程師,抓包是最常用的分析問題的手段,而Charles又是最常用的代理工具,之所以使用它有一下幾個原因: 代理功能 http/https、socks5 限速模擬 斷點調試 轉發 映射:讓發往a網站的請求返回b網站的內容 重寫:自動把請求和內容篡改掉 工具:拼裝請求、重放請求 […]

  • 2020.01.09

Spring中FactoryBean的作用和實現原理

BeanFactory與FactoryBean,相信很多剛翻看Spring源碼的同學跟我一樣很好奇這倆貨怎麼長得這麼像,分別都是幹啥用的。BeanFactory是Spring中Bean工廠的頂層接口,也是我們常說的SpringIOC容器,它定下了IOC容器的一些規範和常用方法並管理著Spring中所 […]

  • 2020.01.09

SpringMVC加載流程

 這節介紹SpringMVC,SpringMVC是一種基於Java的實現MVC設計模式的請求驅動類型的輕量級Web框架。本章會介紹相關概念,流程,再從源碼進行講解。 1. MVC  MVC(Model View Controller)是一種軟件設計的框架模式,它採用模型(Model)-視圖(View […]

  • 2020.01.09

HashMap原理技術知識整理

HashMap涉及的技術點非常多,典型的數據結構和算法有機結合,JDK對HashMap優化變化中不斷權衡時間複雜和空間複雜度。 一. 存儲結構 1.JDK1.8之前 HashMap = 數組(O(1))+ 單向鏈表(O(n)) 2.JDK1.8之後 HashMap = 數組(O(1))+ 單向鏈表( […]

  • 2020.01.09

淺談MySQL的事務與ACID

最近把個人博客搭建好了,鏈接在這裡:tobe的囈語,文章會先在博客和公眾號更新~ 希望大家多多收藏啊 所謂事務(Transaction),就是通過確保成批的操作要麼完全執行,要麼完全不執行,來維護數據庫的完整性。舉一個爛大街的例子:A 向 B 轉賬 1000 元,對應的 SQL 語句為:(沒有顯式定 […]

  • 2020.01.09

FishRedux完成一個玩安卓客戶端

[toc] FishRedux完成一個玩安卓客戶端 前言 不知不覺從18年接觸Flutter斷斷續續到現在,說是一直在玩,其實接觸得也都很淺~ 實際說起來,貌似自己一點都不懂… 雖然自己斷斷續續也寫了一些app: 玩安卓 鋼鐵直男版 也在公司app上集成了一個單頁面的flutter首頁 […]

  • 2020.01.09

Elasticsearch調優篇慢查詢分析筆記

前言 elasticsearch提供了非常靈活的搜索條件給我們使用,在使用複雜表達式的同時,如果使用不當,可能也會為我們帶來了潛在的風險,因為影響查詢性能的因素很多很多,這篇筆記主要記錄一下慢查詢可能的原因,及其優化的方向。 本文討論的es版本為7.0+。 慢查詢現象 查詢服務超時 最直觀的現象就是 […]

  • 2020.01.09

Hadoop完全分佈式安裝與部署

Hadoop官方指導傳送門 傳送門 截止當前(2020年01月08日),Hadoop最新版本是3.2.1,本文依據3.2.1部署安裝 本篇文章只介紹瞭如何安裝和配置範圍從幾個節點到具有數千個節點的超大型Hadoop集群。 要快速天眼使用Hadoop,可能只需要將其安裝在單臺服務器上。 本篇文章不涉及 […]

  • 2020.01.09

Scala教程之:可變和不變集合

集合在程序中是非常有用的,只有用好集合才能真正感受到該語言的魅力。在scala中集合主要在三個包裡面:scala.collection, scala.collection.immutable和scala.collection.mutable。 scala中引入不可變集合是為了方便程序的使用並減少在程 […]