原创 http1 http2 http 3 區別

HTTP/2 相比於 HTTP/1.1,可以說是大幅度提高了網頁的性能,只需要升級到該協議就可以減少很多之前需要做的性能優化工作,當然兼容問題以及如何優雅降級應該是國內還不普遍使用的原因之一。 雖然 HTTP/2 提高了網頁的性能,但是並

原创 三種垃圾回收機制

一、分代複製垃圾回收     不同的對象的生命週期是不一樣的。因此,不同生命週期的對象可以採取不同的收集方式,以便提高回收效率。 在Java程序運行的過程中,會產生大量的對象,其中有些對象是與業務信息相關,比如Http請求中的  Sess

原创 java實現單鏈表逆置

class LNode 2 { 3 public LNode next; 4 public int data; 5 } 6 /*逆置鏈表*/ 7 class Nizhi 8 { 9 private

原创 Handler中有Loop死循環爲什麼沒有阻塞主線程

Looper 死循環爲什麼不會導致應用卡死,會消耗大量資源嗎? 主線程的消息循環機制是什麼(死循環如何處理其它事務)? ActivityThread 的動力是什麼?(ActivityThread執行Looper的線程是什麼) Handle

原创 android的兩種啓動service方式及混合方式

一、startService 1、通過調用startService啓動服務的過程: onCreate —》onStartCommand —》onStart startService 僅用於啓動服務,如果Activity需要與Servi

原创 intent 傳遞數據時的大小限制

1. Intent 傳遞不同大小數據時的問題 Activity間通過Intent傳遞數據的大小限制 – 具體數據博客 傳 512K 以下的數據的數據可以正常傳遞。 傳 512K~1024K 的數據會出錯,閃退。 傳 1024K 以上的數據

原创 構造函數,set()方法和建造者模式(Builder)

一個對象有如下屬性 public class Man(){     private String name;     private String sex;     private String mobile; } 如果要創建這樣一個對象

原创 靜態代碼塊,構造代碼塊,構造函數執行執行順序

靜態代碼塊:用staitc聲明,jvm加載類時執行,僅執行一次 構造代碼塊:類中直接用{}定義,每一次創建對象時執行。 執行順序優先級:靜態塊,main(),構造塊,構造方法。 構造函數 public HelloA(){//構造函數

原创 一條最長的短信息多少 Byte

中文 70 (包括標點),英文 160, 160 個字節。     無意間看到一個這個題目,覺得有些奇怪,怎麼不是140個字節呢,後來查閱後發現有以下博文:   衆所周知,一條短信是可以輸入70箇中文字符的。一個字符是2個字節(Byte)

原创 ANR詳解

1.1 何爲ANR ANR全名Application Not Responding, 也就是"應用無響應". 當操作在一段時間內系統無法處理時, 系統層面會彈出上圖那樣的ANR對話框. 1.2 爲什麼會產生ANR 在Android裏, A

原创 APK的編譯打包過程

流程圖:   我們重點關心的是(1)這個過程的輸入是什麼?(2)這個過程的輸出是什麼?(3)這個過程使用了什麼工具?至於使用什麼參數,可以自己去看對應命令的幫助文件,或者在網上搜索,這不是本文的重點。 aapt-> aidl -> jav

原创 JVM DVM ART 聯繫區別

1、JVM是什麼? JVM是Java Virtual Machine JVM本質是軟件,是計算機硬件的一層軟件抽象,屏蔽了底層實現的差異 Java編譯的程序會生成JVM字節碼,字節碼需要通過JVM被翻譯成機器指令 JVM本質作用是將平臺無

原创 ThreadLocal的簡單使用及實現的原理

ThreadLocal簡介 ThreadLocal的實例代表了一個線程局部的變量,每條線程都只能看到自己的值,並不會意識到其它的線程中也存在該變量。 它採用採用空間來換取時間的方式,解決多線程中相同變量的訪問衝突問題。 ThreadLoc

原创 Android各個版本新特性

Android 8.0 優化通知 通知渠道 通知標誌 休眠 通知超時 通知設置 通知清除 自動填充框架 畫中畫模式:清單中Activity設置android:supportsPictureInPicture 可下載字體:FontRe

原创 HashMap實現原理及源碼分析

哈希表(hash table)也叫散列表,是一種非常重要的數據結構,應用場景及其豐富,許多緩存技術(比如memcached)的核心其實就是在內存中維護一張大的哈希表,而HashMap的實現原理也常常出現在各類的面試題中,重要性可見一斑。本