原创 kotlin之帶接收者的函數字面量

在kotlin中,帶接受者的函數字面量這個使用的地方還是很多的,需要仔細理解總結一下 在java中,函數(在java了,把函數稱方法)是定義在類裏面的,在調用函數的時候,都是先new一個類對象,然後,通過.調用函數。其實調用方法的過程,是

原创 Https應用和麪試層面的理解

Http是不安全的協議,主要體現在如下三點 (1)數據是明文傳輸的 (2)不進行身份驗證 (3)不會驗證報文的完整性(完整性是包含一致性的) Https的出現就是解決上面三個問題的 加密(Encryption), HTTPS 通過對數據加

原创 java(Android)類加載機制

1、Java的類加載過程 加載、鏈接(驗證、準備、解析)、初始化 加載就是把class文件字節碼加載進jvm內存,變成Class對象。驗證class字節流中包含的信息是jvm需要且有效的。準備是給類變量分配內存並設置初始化值。解析是把符號

原创 Java線程之基本概念(線程狀態)

Thread中有很多方法都是native的,Thread實例化的時候,其實就只是簡單的設置了一些變量,比如線程組、優先級、Runnable等,這個時候線程是“NEW”狀態。然後調用start方法的時候,才真正執行動作,比如把線程放到線程組

原创 java mac 環境配置等問題

Mac 上 java 究竟在哪裏,本文徹底讓你搞清楚! 首先看一下上面這篇文章,說的基本沒問題,可是在我的機器上就有問題,具體如下: 通過上面文章的問題,我們知道,直接調用的java命令,其實是/System/Library/Frame

原创 Android和ios調用C/C++使用

Android平臺是可以通過NDK和jni來實現調用C/C++的目的的。jni是java本身就有的技術,NDK是android對jni的支持。使用起來也簡單,具體可以看下面兩篇文章 深入理解Android-JNI的理解 Android J

原创 Java線程之同步

synchronized 在實際開發中,多線程是很常見的,既然有多線程必然會出現併發,併發操作同一資源時,比如多個線程寫入同一文件,就需要進行同步,也就是同一時間只能一個線程寫入同一文件。在java中synchronized關鍵字就是同步

原创 Java線程之中斷(InterruptedException處理)

線程啓動是爲了去執行一些代碼,大家有沒有想過,要怎麼停止一個線程呢?線程執行完任務會自動停止的,這個大家都知道,可是,要想中途停止一個線程,尤其是阻塞中的線程,要怎麼做呢?Thread stop方法官方已經廢棄了,這種方式太暴力,會導致數

原创 Kotlin之初始學習

Kotlin也屬於jvm語言,因爲它也是被編譯成字節碼需要運行在虛擬機上的。Kotlin的語法靈活性像動態語言,當其實是靜態語言,這是因爲編譯器輔助做了很多事情。kotlin中有很多java中沒有的語法,或者說是java低版本沒有的語法。

原创 Mac 開發之NSTableView

1、 NSTableView 修改選中行背景顏色,這個問題花了我幾個小時,最後發現很簡單,都是被好多文章誤導了。 MAC開發--自定義NSTableView選中行背景 這個文章,第一種方法寫的亂七八糟,都不知道要怎麼做。第二種方法,有弊病

原创 Android Gradle 和Ios CocoaPods

Gradle是一個自動化構建工具(build system),構建能做的事很多,除了包括包依賴管理(dependency management),還有編譯源碼、測試、發佈和部署。而CocosPods只是一個包依賴管理工具。所以,兩者是概念

原创 Mac 之動畫

1、自旋轉動畫 - (void)showRotateAnimation:(NSImageView *)imageView { CABasicAnimation *anim2 = [CABasicAnimation animati

原创 Glide之EngineJob和EngineResource

EngineJob中的代碼不多,整體思路也比較簡單。 A class that manages a load by adding and removing callbacks for for the load and notifying

原创 Glide之緩存模塊

下面這篇文章是對Glide緩存的整體說明,也算比較細 Glide源碼分析(六),緩存架構、存取命中分析 下面三篇文章是我自己學習總結的,大家可以結合的看 Glide之ActiveResource(一級內存緩存) Glide之LruCach

原创 Glide(Android)之Bitmap對象池

對象池,我們知道是存了對象的,將來可以複用,這樣避免頻繁地創建和回收常用對象,造成內存抖動,降低app的性能。 對於普通的對象來說,其本身佔用內存很小,同時在放到對象池的時候,會對對象重置的,所以對象池不會關心對象個體的內存大小,只關心對