簡單的入門Android開發和Java語言基礎[圖]

簡單的入門Android開發和Java語言基礎[圖]
前言:
去年年末到今年年初,我作過簡單的智能家居,也實現過一些簡單的直連和遠程的智能家居。因而就將最簡單的通訊發佈出來:智能家居簡單實現—使用ESP8266簡單實現和APP通信
因爲這方面的資料少之又少,因此閱讀量飆升的很快。也有不少人加了好友問我問題。經過問題我發現,不少都是學硬件的、或是作智能家居方面的學生,基本都不會 Android 開發的。問也有不少問我怎麼學 Android 開發的。
不少的人認知仍是停留在學習這種軟件開發技術須要去培訓機構報一個班,或者去學校學習一下相關專業。其實入門基礎的軟件開發,根本就無需以上的操做。如今網上的資料這麼豐富,本身花點心思就能夠找到不少很好的資料,而後再系統的學習,徹底是能夠達到要求的,根本就不須要去花費那些時間和金錢。html

簡單的入門Android開發和Java語言基礎[圖]
鑑於以上的需求,我在這就總結一下如何簡單的入門 Android。如今的 Android 開發支持用兩種語言,Java 和 Kotlin。Kotlin 是去年才 Google 官方宣佈支持 Android 開發的,因此用得並不太普遍,主體仍是用 Java 的多。因此這裏就選擇學習 Java 語言基礎,而後再學習 Android 開發基礎。
Java 語言基礎:
學習 Java 基礎,我是過來人了,初學者是建議視頻加書本。雖然說這裏要結合書本,其實我也沒買過 Java 基礎的書,我是用網站代替的,有一個網站以書面的形式把Java基礎展現得還蠻不錯的。
JAVA企業面試題精選 OOP:
2.11.是否能夠繼承String類?
參考答案:
  String類是final類,故不能夠繼承
2.12.闡述一下static關鍵字的做用
參考答案:
  static表示」靜態」的意思,用來修飾成員變量和成員方法,也能夠造成靜態代碼塊.只要這個類被加載,Java虛擬機就能根據類名在運行時數據區的方法區找到它們.所以staitc成員能夠在它的任何對象建立以前訪問,無需引用任何對象. 
  1)修飾成員變量.用static修飾的成員變量不屬於對象的數據結構;static變量是屬於類的變量,一般能夠經過類名來引用static成員;static成員變量和類的信息一塊兒存儲在方法區,而不是在堆中,一個類的static成員變量只有」一份」,不管該類建立了多少對象. 
  2)修飾成員方法.static修飾的方法則不須要針對某些對象進行操做,其運行結果僅與輸入的參數有關,調用時直接用類名引用.因爲static在調用時沒有具體的對象,所以在static方法中不能對非static成員(對象成員)進行訪問.static方法的做用在於提供一些」工具方法」和」工廠方法」等. 
  3)static塊:屬於類的代碼塊,在類加載期間執行的代碼塊,只執行一次,能夠用來在軟件中加載靜態資源.
2.13.解釋Java關鍵字的含義及用法
1)abstract 
2)extends 
3)final/finally 
4)implements 
5)import 
6)instanceof 
7)synchronized 
8)throw/throws
參考答案:
1)abstract:抽象,修飾類和方法.含有abstract方法的類是抽象類,抽象方法主要是爲了讓子類繼承實現. 
2)extends:繼承,子類經過繼承父類來添加變量或方法,或者覆蓋父類的方法;子接口繼承父藉口來添加方法. 
3)final/finally:final用於定義常量.finally用來執行一段代碼,無論在前面定義的try語句中是否有異常或運行時錯誤發生. 
4)implements:在類的聲明中是可選的,用來指明當前類實現的接口. 
5)import:在源文件的開始部分指明後面將要引進的一個類或整個包. 
6)instanceof:判斷其指向對象的實際類型. 
7)synchronized:修飾方法或方法塊.防止多個線程同時訪問這個類中的synchronized塊. 
8)throw/throws:throw容許用戶拋出一個exception對象或者任何實現throwable的對象.throws用在方法的聲明中來講明哪些異常這個方法是不處理的,而是提交到程序的更高一層.
2.14.靜態變量和實例變量的區別?
參考答案:
  靜態變量也稱爲類變量,歸全類共有,它不依賴於某個對象,可經過類名直接訪問,而實例變量必須依存於某一實例,只能經過對象才能訪問到它.
2.15.GC是什麼?爲何要有GC?
參考答案:
  GC是垃圾回收的意思(Gabage Collection),內存處理是編程人員容易出現問題的地方,忘記或者錯誤的內存回收會致使程序或系統的不穩定甚至崩潰,Java提供的GC功能能夠自動檢測對象是否超過做用域從而達到自動回收內存的目的.Java程序員編程的時候不用考慮變量不用時釋放內存,Java虛擬機能夠自動判斷出並回收垃圾.
2.16.件數垃圾回收的優勢和原理.並舉例2中回收機制
參考答案:
  Java語言中一個顯著的特色就是引入了垃圾回收機制,使C++程序員最頭疼的內存管理的問題迎刃而解,它使得Java程序員在編寫程序的時候再也不須要考慮內存管理.因爲有個垃圾回收機制,Java中的對象再也不有」做用域」的概念,只有對象的引用纔有」做用域」。史記讀後感(http://www.simayi.net/dushubiji/2445.html)心得體會,垃圾回收能夠有效的防止內存泄漏,有效的使用可使用的內存。
  垃圾回收器一般是做爲一個單獨的低級別的線程運行,不可預知的狀況下對內存堆中已經死亡的或者長時間沒有使用的對象進行清除和回收,程序員不能實時的調用垃圾回收器對某個對象或全部對象進行垃圾回收. 
1)增量收集器 
  增量收集器把堆棧分爲多個域,每次僅從一個域收集垃圾.這會形成較小的應用程序中斷. 
2)分代收集器 
  這種收集器把堆棧分爲兩個或多個域,用以存放不一樣壽命的對象.JVM生成的新對象通常放在其中的某個域中.過一段時間,繼續存在的對象將得到使用期並轉入更長壽命的域中.分代收集器對不一樣的域使用不一樣的算法以優化性能.程序員

相關文章
相關標籤/搜索