java5的递归算法_java递归算法 java面试题(5)
Java語言是一種具有動態(tài)性的解釋型語言,類(class)只有被加載到JVM后才能運行。當運行指定程序時,JVM會將編譯生成的.class文件按照需求和一定的規(guī)則加載到內(nèi)存中,并組織成為一個完整的Java應用程序。這個加載過程是由類加載器完成,具體來說,就是由ClassLoader和它的子類來實現(xiàn)的。類加載器本身也是一個類,其實質(zhì)是把類文件從硬盤讀取到內(nèi)存中。
類的加載方式分為隱式加載和顯示加載。隱式加載指的是程序在使用new等方式創(chuàng)建對象時,會隱式地調(diào)用類的加載器把對應的類加載到JVM中。顯示加載指的是通過直接調(diào)用class.forName()方法來把所需的類加載到JVM中。
任何一個工程項目都是由許多類組成的,當程序啟動時,只把需要的類加載到JVM中,其他類只有被使用到的時候才會被加載,采用這種方法一方面可以加快加載速度,另一方面可以節(jié)約程序運行時對內(nèi)存的開銷。此外,在Java語言中,每個類或接口都對應一個.class文件,這些文件可以被看成是一個個可以被動態(tài)加載的單元,因此當只有部分類被修改時,只需要重新編譯變化的類即可,而不需要重新編譯所有文件,因此加快了編譯速度。
在Java語言中,類的加載是動態(tài)的,它并不會一次性將所有類全部加載后再運行,而是保證程序運行的基礎類(例如基類)完全加載到JVM中,至于其他類,則在需要的時候才加載。
類加載的主要步驟:
1>裝載。根據(jù)查找路徑找到相應的class文件,然后導入。
2>鏈接。鏈接又可分為3個小步:
1)檢查,檢查待加載的class文件的正確性。
2)準備,給類中的靜態(tài)變量分配存儲空間。
3)解析,將符號引用轉(zhuǎn)換為直接引用(這一步可選)
3>初始化。對靜態(tài)變量和靜態(tài)代碼塊執(zhí)行初始化工作。
22、char 型變量中能不能存貯一個中文漢字,為什么?
可以
1 bit = 1 二進制數(shù)據(jù)
1 byte = 8 bit
1 字母 = 1 byte = 8 bit
1 漢字 = 2 byte = 16 bit
Java基本數(shù)據(jù)類型
Int: 4 byte
short: 2 byte
long: 8字節(jié)
byte: 1字節(jié)(8bit)
char: 2字節(jié)
float: 4字節(jié)
double: 8字節(jié)
在C語言中,char類型占1一個字節(jié),而漢子占2個字節(jié),所以不能存儲。
在Java中,char類型占2個字節(jié),而且Java默認采用Unicode編碼,以個Unicode碼是16位,所以一個Unicode碼占兩個字節(jié),Java中無論漢子還是英文字母都是用Unicode編碼來表示的。所以,在Java中,char類型變量可以存儲一個中文漢字。
24、靜態(tài)嵌套類(Static Nested Class)和內(nèi)部類(Inner Class)的不同?
首先,內(nèi)部類的創(chuàng)建依賴一個外部內(nèi)對象作為宿主,就跟寄生蟲一樣,內(nèi)部內(nèi)必須寄生在外部類對象中才能創(chuàng)建實例。
其次,靜態(tài)都是用來修飾類的內(nèi)部成員的。比如靜態(tài)方法,靜態(tài)成員變量,靜態(tài)常量。它唯一的作用就是隨著類的加載(而不是隨著對象的產(chǎn)生)而產(chǎn)生,以致可以用類名+靜態(tài)成員名直接獲得。
這樣靜態(tài)內(nèi)部類就可以理解了,因為這個類沒有必要單獨存放一個文件,它一般來說只被所在外部類使用。并且它可以直接被用 外部類名+內(nèi)部類名 獲得。
25、Java 中會存在內(nèi)存泄漏嗎,請簡單描述。
所謂內(nèi)存泄露就是指一個不再被程序使用的對象或變量一直被占據(jù)在內(nèi)存中。Java中有垃圾回收機制,它可以保證一對象不再被引用的時候,即對象編程了孤兒的時候,對象將自動被垃圾回收器從內(nèi)存中清除掉。由于Java 使用有向圖的方式進行垃圾回收管理,可以消除引用循環(huán)的問題,例如有兩個對象,相互引用,只要它們和根進程不可達的,那么GC也是可以回收它們的。
本文來自電腦雜談,轉(zhuǎn)載請注明本文網(wǎng)址:
http://www.pc-fly.com/a/jisuanjixue/article-61031-5.html
總結(jié)
以上是生活随笔為你收集整理的java5的递归算法_java递归算法 java面试题(5)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 因涉嫌垄断被立案调查!知网公开征集整改意
- 下一篇: quick time不可用是什么意思_f