原创 Java集合迭代器

迭代器模式定義 就是提供一種方法對一個容器對象中的各個元素進行訪問,而又不暴露該對象容器的內部細節。這意味着迭代器需要提供統一的接口。 普通訪問 我們先來看下正常訪問集合 訪問數組 int array[] = new int[3];

原创 FreeMarker語法

FreeMarker語法概述FreeMarker Java使用FreeMarker語法數據結構註釋訪問值List相關循環listlist size判斷下標判斷if條件判斷首字母大小寫宏定義判空後記 概述 最近做公司一個需求,代碼生成模

原创 SQL select語句複習

內連接 概念 內連接,也被稱爲自然連接,只有兩個表相匹配的行才能在結果集中出現。返回的結果集選取了兩個表中所有相匹配的數據,捨棄了不匹配的數據。可以理解爲取兩個表的交集 # 語法 select fieldlist from table

原创 Alamofire+HandyJSON+泛型封裝的簡單離散式網絡框架

離散式與集約式網絡框架 集約式: 每個請求都會走統一的入口,對外暴露了請求的 URL 和 Param 以及請求方式,入口一般都是通過單例 來實現。例如 HttpClient.getInstance().sendRequest(url,p

原创 Android異步加載方案

Android的Lazy Load主要體現在網絡數據(圖片)異步加載、數據庫查詢、複雜業務邏輯處理以及費時任務操作導致的異步處理等方面。在介紹Android開發過程中,異步處理這個常見的技術問題之前,我們簡單回顧下Android開發過程中

原创 Java線程池原理分析

Java虛擬機啓動一個新線程的成本比較高,當程序中需要啓動大量且生存期很短暫的線程時,可以考慮使用線程池。Java爲我們提供了四種線程池使用。1)創建單個線程的線程池ExecutorService threadPool = Executo

原创 Android studio Tab Placement設置

默認的Tab Placement有兩個痛點。 1·、能夠顯示的項目不多 2、由於Tab Placement默認在top,所以能看到的類很少,這樣,當修改很多文件需要來回切換時,及其不方便。截圖如下: 我們可以設置將tab Placeme

原创 爲什麼wait,notify和notifyAll要與synchronized一起使用?

Object.wait(),Object.notify(),Object.notifyAll()都是Object的方法,換句話說,就是每個類裏面都有這些方法。 Object.wait():釋放當前對象鎖,並進入阻塞隊列 Object.no

原创 Git基本使用

Git簡介     Git是一個開源的分佈式版本控制工具,用於有效、高速地處理從小到非常大的項目版本管理,Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。     與集中式版

原创 onCreate()中getHeight()獲取不到高度的原因(源碼分析)

問題在Activity的週期方法onCreate()調用getHeight()爲什麼返回值爲0?那在onResume()方法中可以獲取到嗎?那調用getMeasureHeight()可以獲取到值嗎?我們從源碼分析一下。Activity啓動

原创 01揹包問題Java(動態規劃和暴力求解)

比較經典的一個問題,在理清思路之後,寫出了代碼。動態規劃的思想還是將大的問題分解成小的的問題。或者說是分成小的步驟。例如在揹包問題中,想求解揹包容量爲N的最大價值,先求解容量爲N-1的最大價值,一步一步向前推,最終在返回來。自己也是理解了

原创 百度面試經歷之設計一個異步執行隊列

面試官提出一個問題:設計一個異步執行的隊列。我的第一想法是採用阻塞隊列,提供向阻塞隊列中添加任務的方法,提供啓動任務隊列中任務的方法,當時的思路比較模糊,在這裏寫一下。在代碼中雖然使用了阻塞隊列,但並沒有使用阻塞隊列的特性。基本上實現了面

原创 TCP與UDP協議的區別與應用

概述TCP與UDP協議均是網絡框架中運輸層的協議,TCP是有連接的,在正式進行數據傳輸之前,客戶端會與服務端通過三次握手進行連接。並且TCP提供更可靠的數據傳輸服務。所謂可靠,是因爲TCP協議實現了一些例如重連、確認、窗口、重傳、擁塞控制

原创 百度Android面試題之如何停止一個線程

前段時間去面試了百度android職位,雖然沒有通過,但是發現了很多自己的不足,回來痛定思痛,決定將所有的面試題整理到CSDN上,查漏補缺。問:如何停止一個線程?由於平時不怎麼寫多線程,所以直接說了個interrupt()顯然是不對的。那

原创 回溯法解01揹包問題

關於回溯法的概念,這篇文章講的比較通俗易懂:https://blog.csdn.net/jarvischu/article/details/16067319 貼出閱讀這篇文章後解決01揹包問題的Java代碼,註釋中加入了自己的理解 pa