原创 Binary Tree Preorder Traversal Java版本

二叉樹先序遍歷 思路:     不使用遞歸前序遍歷,可以藉助棧的幫助實現。對於一個特定節點,前序遍歷順序爲: 根,左,右。所以入棧順序爲 右,左,根

原创 Java多線程面試常見核心問題總結

1. 有T1、T2、T3三個線程,如何怎樣保證T2在T1執行完後執行,T3在T2執行完後執行? 使用join方法。 join方法的功能是使異步執行的線程變成同步執行。即調用線程實例的start方法後,該方法會立即返回,如果調用s

原创 一些大公司面試題整理

騰訊面試題 1.int a = 1; int result = a+++3<<2; 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); 3.int a = 1234567; i

原创 二分查找算法

public class BinarySearch { public static int binarySearch(int[] a, int start, int end, int des) { while (start <=

原创 關於JVM的GC總結(涉及GC算法)

一、基礎概念 數據類型 Java虛擬機中,數據類型可以分爲兩類:基本類型和引用類型。基本類型的變量保存原始值,即:他代表的值就是數值本身;而引用類型的變量保存引用值。“引用值”代表了某個對象的引用,而不是對象本身,對象本身存放在這個

原创 單例模式之懶漢式和餓漢式

單例設計模式:解決一個類在內存中只有一個對象,多個程序使用統一配置信息對象時,需要保證該對對象的唯一性。 保證唯一性步驟:                       1.將構造函數私有化:爲了避免其他程序過多建立該對象,禁止其他程序調用

原创 Android-Universal-Image-Loader的緩存處理機制研究

講到緩存,平時流水線上的碼農一定覺得這是一個高大上的東西。看過網上各種講緩存原理的文章,總感覺那些文章講的就是玩具,能用嗎?這次我將帶你一起看過UIL這個國內外大牛都追捧的圖片緩存類庫的緩存處理機制。看了UIL中的緩存實現,才發現其實這

原创 Number of 1 Bits

Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming

原创 Object有哪些基本的方法

1.clone方法 保護方法,實現對象的淺複製,只有實現了Cloneable接口纔可以調用該方法,否則拋出CloneNotSupportedException異常。 2.getClass方法 final方法,獲得運行時類型。 3

原创 Android多線程中UI線程和其他線程進行交互的幾種方法小結

阿里二面的時候被問到這個問題,自己答的不全,所以總結下,問題是Android多線程中UI線程怎麼和其他線程進行交互? 5個方法: 1、handler 2、Activity.runOnUIThread(Runnable) 3、Vie

原创 二進制1的個數

看代碼: public static int countone(int n){ int count=0; while(n!=0){ n=n&(n-1); count++; } return count;

原创 Android系統中GC什麼情況下會出現內存泄露?

1.數據庫的cursor沒有關閉 2.構造adapter時,沒有使用緩存contentview  衍生listview 的優化問題-----減少創建view的對象,充分使用contentview,可以使用一靜 態類來優化處理getvie

原创 Minimum Depth of Binary Tree Java

Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from th

原创 Java線程中sleep(),wait(),notifyAll()的區別

不同點: 1.Thread類的方法:sleep(),yield()等 Object的方法:wait()和notify()等 2.每個對象都有一個鎖來控制同步訪問。Synchronized關鍵字可以和對象的鎖交互,來實現線程的同步。 sle

原创 Android系統啓動及zygote總結

1.Android系統框架圖 2.Android系統啓動框圖  ------------------> Init進程啓動:          system\core\init\init.c:函數執行文件夾建立,掛載,r