原创 Android java.lang.NoSuchMethodError: No virtual method checkSelfPermission(Ljava/lang/String;)

今天拿到這樣的個bug: java.lang.NoSuchMethodError: No virtual method checkSelfPermission(Ljava/lang/String;)I in class Landroid/

原创 JAVA 之 生產者與消費者問題案例

package 生產者消費者; public class ProducerConsumerTest { public static void main(String[] args) { PublicResource resour

原创 《JAVA》設計一個有getMin功能的棧

  實現一個特殊的棧,在實現棧的基本功能的基礎上,再實現返回棧中最小元素的操作。 要求: pop、push、getMin操作的時間複雜度都是O(1) 設計的棧類型可以使用現成的棧結構 實現代碼: /** * * 實現一個特殊的棧

原创 JAVA HashMap源碼剖析

HashMap是基於哈希表實現的,每一個元素都是一個key-value對,其內部通過單鏈表解決衝突問題,容量不足(超過了閾值)時,同樣會自動增長。HashMap是非線程安全的,只是用於單線程環境下,多線程環境下可以採用concurrent

原创 談談JAVA中JVM裏的那些事

JVM所管理的內存分爲以下幾個運行時數據區:程序計數器、Java虛擬機棧、本地方法棧、Java堆、方法區。程序計數器(Program Counter Register)一塊較小的內存空間,它是當前線程所執行的字節碼的信號指示器,字節碼解釋

原创 JAVA 分析 Vector 源碼

Vector是基於數組實現的,是一個動態數組,其容量能自動增長。Vector是JDK1.0引入了,它的很多實現方法都加入了同步語句,因此是線程安全的(其實也只是相對安全,有些時候還是要加入同步語句來保證線程的安全),可以用於多線程環境。V

原创 淺談Java集合框架

Java集合工具包位於Java.util包下,包含了很多常用的數據結構,如數組、鏈表、棧、隊列、集合、哈希表等。Java集合框架下大致可以分爲如下五個部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumerati

原创 淺談JAVA中LinkedList源碼

LinkedList是基於雙向循環鏈表(從源碼中可以很容易看出)實現的,除了可以當作鏈表來操作外,它還可以當作棧,隊列和雙端隊列來使用。LinkedList同樣是非線程安全的,只在單線程下適合使用。它實現了Serializable接口,因

原创 JAVA中ArrayList源碼分析

ArrayList是基於數組實現的,是一個動態數組,其容量能自動增長,類似於C語言中的動態申請內存,動態增長內存。ArrayList不是線程安全的,只能在單線程環境下,多線程環境下可以考慮用collections.synchronized

原创 分析JAVA中String源碼

範例一:public void stringTest(){ String a = "a"+"b"+1; String b = "ab1"; System.out.println(a == b); }大家猜一猜結果如

原创 網絡基礎知識---TCP與UDP

    TCP與UDP 面向報文的傳輸方式是應用層交給UDP多長的報文,UDP就照樣發送,即一次發送一個報文。因此,應用程序必須選擇合適大小的報文。若報文太長,則IP層需要分片,降低效率。若太短,會是IP太小。UDP對應用層交下來的報文

原创 Android 平臺 Native 代碼的崩潰捕獲機制及實現

本文來自於騰訊Bugly公衆號(weixinBugly),未經作者同意,請勿轉載,原文地址:https://mp.weixin.qq.com/s/g-WzYF3wWAljok1XjPoo7w   一、背景 在Android平臺,nativ

原创 《JAVA》撲克牌的順子問題

  題目: 從撲克牌中隨機抽5張牌,判斷是不是順子,即這5張牌是不是連續的。2-10 爲數字本身,A 爲 1,J 爲 11,Q 爲 12,K 爲 13,而大小王可以看成任意的 數字。 解題思路: 我們可以把5張牌看成是由5個數字組成的數

原创 網絡基礎知識---Http協議

    Http協議 支持客戶/服務器模式 簡單快速:客戶向服務端請求服務時,只需傳送請求方式和路徑。 靈活:允許傳輸任意類型的數據對象。由Content-Type加以標記。 無連接:每次響應一個請求,響應完成以後就斷開連接。 無狀態:

原创 產品開發流程

讓每一位程序猿瞭解產品開發流程   MRD需求分析 主要從用戶角度、市場商業角度,來分析、梳理、過濾業務需求,列出技術難點。 原型設計(交互設計) 確認需求之後,產品經理就可以畫草圖,討論,確認,做初步原型圖。進行原型測試。 視覺設計(U