原创 輕框 webView 支持軟鍵盤

 1.常用軟鍵盤模式API   API 場景:#Activity \ #AlertDialog \ #PopupWindow \  ...   getWindow().setSoftInputMode(int flag {@li

原创 【轉】如何理解依賴注入

什麼是依賴注入 ?   當我們編寫 Web 後端代碼的時候,會遇到這樣的代碼: class A { private IB _b; public A(IB b){ _b = b; } p

原创 Linux 小知識集錦

ksoftirqd是什麼 ksoftirqd是運行在Linux的進程,專門處理系統的軟中斷的。在多核服務器上,每核都有一個ksoftirqd進程。我們經常看到ksoftirqd/0表示這是CPU0的軟中斷處理程序。  ringr buffe

原创 小工具使用集錦

1、解決網頁文字無法選中或複製 我們在查看一些網頁時會遇到不能複製的問題,或者鼠標無法選中文字,導致不能複製。 這時候我們按下鍵盤的F12,點擊 console控制檯,輸入以下代碼後回車即可 var eles = document.get

原创 【轉】什麼是 AOP (面向方面編程)

AOP(Aspect-Oriented Programming,面向方面編程),可以說是OOP(Object-Oriented Programing,面向對象編程)的補充和完善。OOP引入封裝、繼承和多態性等概念來建立一種對象層次結構,用

原创 【轉】可見性、原子性和有序性問題:併發編程Bug的源頭

如果你細心觀察的話,你會發現,不管是哪一門編程語言,併發類的知識都是在高級篇裏。換句話說,這塊知識點其實對於程序員來說,是比較進階的知識。我自己這麼多年學習過來,也確實覺得併發是比較難的,因爲它會涉及到很多的底層知識,比如若你對操作系統相關

原创 【轉載】Linux系統調用SYSCALL_DEFINE詳解

系統調用在內核中的入口都是sys_xxx,但其實Linux的系統調用都改爲SYSCALL_DEFINE定義的。本文以socket系統調用爲例來詳解。 1 首先看一下SYSCALL_DEFINE的定義,如下: 1 #define SYSC

原创 簡述僞共享和緩存一致性MESI

什麼是僞共享 計算機系統中爲了解決主內存與CPU運行速度的差距,在CPU與主內存之間添加了一級或者多級高速緩衝存儲器(Cache),這個Cache一般是集成到CPU內部的,所以也叫 CPU Cache,如下圖是兩級cache結構:   

原创 Java CAS 原理詳解

1. 背景 在JDK 5之前Java語言是靠 synchronized 關鍵字保證同步的,這會導致有鎖。鎖機制存在以下問題: 在多線程競爭下,加鎖、釋放鎖會導致比較多的上下文切換和調度延時,引起性能問題。 一個線程持有鎖會導致其它所

原创 Android 超大圖長圖瀏覽庫 SubsamplingScaleImageView 源碼解析

一開始沒打算分析 SubsamplingScaleImageView 這個開源的圖片瀏覽器的,因爲這個庫在我們 App 中使用了,覺得自己對這個庫還是比較熟悉的,結果某天再看看到源碼介紹的時候,才發現自己對其瞭解並不夠深入,所以這纔打算再細

原创 記錄線上APP一個排序比較引發的崩潰 Comparison method violates its general contract!

最近在做產品需求的時候上線了一個新的產品需求,給用戶多了一種新的排序排序規則,更加方便用戶找到自己想要的東西。新版本發佈後,QA 給我發了一個 線上崩潰 bug 鏈接,具體內容如下: 看到上面的鏈接,我有點懵逼了,就這排序還能給我搞出 b

原创 靜態方法和實例方法的區別以及如何恰當使用

最近看到同事把一個私有實例方法改成了靜態方法,隱約記得有人曾經跟我說過儘量少用靜態方法,於是就和同事討論了下靜態方法和實例方法有啥區別,到底怎麼用比較合適。 於是在網上搜尋資料,但是很多都是粗略講了下,或者是複製粘貼的。功夫不負苦心人,終於

原创 手把手帶你玩轉 DialogFragment Android View 的繪製流程之 Measure 過程詳解 (一)

1. 概述 最近項目中用到了 DialogFragment,在使用 DialogFragment 的時候,遇到了很多問題,比如如何在顯示的時候保證狀態欄的顏色也不發生變化,如何設置自己的背景,不用系統背景等等。 那麼 DialogFragm

原创 計算機網絡七層體系結構圖

學習計算機網絡時我們一般採用折中的辦法,也就是中和 OSI 和 TCP/IP 的優點,採用一種只有五層協議的體系結構,這樣既簡潔又能將概念闡述清楚。 結合互聯網的情況,自上而下地,非常簡要的介紹一下各層的作用。 1.1 應用層 應用層(a

原创 二分查找法基本原理和實踐 分治算法基本原理和實踐

概述 前面算法系列文章有寫過分治算法基本原理和實踐,對於分治算法主要是理解遞歸的過程。二分法是分治算法的一種,相比分治算法會簡單很多,因爲少了遞歸的存在。 在計算機科學中,二分查找算法(英語:binary search algorithm)