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

來源:互聯網
上載者:User

標籤:rac   直接   回收機制   記憶體流失   工具   實現   簡單   閱讀   忘記   

簡單的入門Android開發和Java語言基礎[圖]
前言:
去年年底到今年年初,我做過簡單的智能家居,也實現過一些簡單的直連和遠端智能家居。於是就將最簡單的通訊發布出來:智能家居簡單實現—使用ESP8266簡單實現和APP通訊
由於這方面的資料少之又少,所以閱讀量飆升的很快。也有很多人加了好友問我問題。通過問題我發現,很多都是學硬體的、或是做智能家居方面的學生,基本都不會 Android 開發的。問也有很多問我怎麼學 Android 開發的。
很多的人認知還是停留在學習這種軟體開發技術需要去培訓機構報一個班,或者去學校學習一下相關專業。其實入門基礎的軟體開發,根本就無需以上的操作。現在網上的資料這麼豐富,自己花點心思就可以找到很多很好的資料,然後再系統的學習,完全是可以達到要求的,根本就不需要去花費那些時間和金錢。
鑒於以上的需求,我在這就總結一下如何簡單的入門 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方法的作用在於提供一些”工具方法”和”Factory 方法”等.
??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中的對象不再有”範圍”的概念,只有對象的引用才有”範圍”。史記讀後感心得體會,記憶體回收可以有效防止記憶體流失,有效使用可以使用的記憶體。
??記憶體回收行程通常是作為一個單獨的低層級的線程運行,不可預知的情況下對記憶體堆中已經死亡的或者長時間沒有使用的對象進行清除和回收,程式員不能即時的調用記憶體回收行程對某個對象或所有對象進行記憶體回收.
1)增量收集器
??增量收集器把堆棧分為多個域,每次僅從一個域收集垃圾.這會造成較小的應用程式中斷.
2)分代收集器
??這種收集器把堆棧分為兩個或多個域,用以存放不同壽命的對象.JVM產生的新對象一般放在其中的某個域中.過一段時間,繼續存在的對象將獲得使用期並轉入更長壽命的域中.分代收集器對不同的域使用不同的演算法以最佳化效能.

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.