java面試題-java基礎

來源:互聯網
上載者:User

標籤:stat   編程   架構   軟體   地址   協議   命名   javaapi   電腦   

1.1java與其他語言相比,有什麼優點和缺點?

  首先,java與c、c++相比,java是一種完全的面對對象的語言,雖然他的底層(執行階段程式庫)使用c語言開發的,可是並不依賴於c,因為java的運行是在執行階段程式庫的支援下進行的,所以所以運行效率可以更接近底層的c、c++來說效率會有所影響,不過java的類庫採用很好的設計理念,非常好用,頁非常實用,已經成為業界的一種標準的開發語言,他的跨平台的特性收到開發人員的青睞,只需要開發一次就能在所有安裝了java執行階段程式庫的環境中運行。

  其次,java和c#相比,c#是微軟開發的一種程式設計語言,文法類似java,幾乎就是java的翻版,運行原理和java也相似,也是通過執行階段程式庫的支援運行,不過支援的平台有限,java幾乎被所有的平台支援,二c#目前只能被windows和linu西支援,windows下的支援當然是微軟自己開發的,二linux下的支援則是由mono支援,實際上,mono也是吧c#應用轉化為java應用而已,所以本質上,c#仍然只是被微軟自己的作業系統支援。應用平台受限,是最大的缺點。

1.2請回答幾個名詞的意思,jvm,jdk,jre,javase,javaee,javame,gc

  jvm:java虛擬機器,java virtual machine的縮寫,是一個虛構出來的電腦,通過在實際的電腦上模擬類比各種電腦功能來實現,java虛擬機器有自己完善的硬體架構,如處理器,堆棧,寄存器等,還具有相應的指令系統,jvm屏蔽於具體作業系統平台相關的資訊,是的java程式只產生在java虛擬機器上啟動並執行目標代碼(位元組碼),就可以在多種平台上不加修改的運行。

  jdk:java開發套件,java development kit的縮寫。jdk是整個java的核心,包括了java運行環境。java工具和java核心類庫。

  jre:java運行環境,java runtime environment的縮寫,運行java程式必須的環境集合,包含jvm標準實現和java和興類庫。

  javase:java standardedition,標準版,是我們常用的一個版本,從jdk1.5開始改名為javase,主要用於案頭應用軟體的編程;

  javaee;java enterprise edition,企業版,javaee是將ee的一個新名稱,主要用於分布式網路程式的開發。

  me:java micro editon。機頂盒,行動電話和pda之類嵌入式消費電子裝置提供的java語言平台,包括虛擬機器和一系列標準化的javaapi。

  gc:記憶體回收,garbage collection 的縮寫。當java虛擬機器發現記憶體緊張時,會自動清理無用對象,(沒有應用到的對象)佔用的記憶體空間。

1.3jvm能有幾個執行個體

  每個java程式對應一個jvm執行個體,當一個java程式運行時就建立一個jvm執行個體,因此jvm執行個體的個數取決於同事執行的程式的個數。

1.4java跨平台是如何?的。

  java是利用jvm實現的。java原始碼,經過java編譯器變異成java位元組碼。class,執行java位元組碼,javaz位元組經過jvm解釋為具體平台的具體指令並執行,不同平台有不同的jvm,主流平台都提供了jvm,所以java位元組碼可以再主流平台上能夠解釋執行。也就是說java位元組碼是跨平台的。

1.5 簡述tcp,udp協議的區別

  tcp:連線導向 可靠 傳輸大量的資料 速度慢   udp:面向非串連 不可靠 少量的資料 快

1.6 類的命名規則,方法的名米規則,變數的命名,包,常量的命名規範,

  在java中,首先符合java標識符的命名規則:

  1 可以以字母,數字,底線,和$組成

  2 首字母不能以數字開頭  3 中文可以作為變數名,但是不用  4 java區分大小寫   5  不能使用java保留的關鍵字

  其次,類命名:首字母大寫,如何多個字母合成,每個單詞首字母都要大寫

  方法命名:首字母小寫,中間的每個單詞首字母都要大寫;

  變數的:於方法的一樣;

  包的:java包的名字都是小寫單片語成;一般以互連網上的網域名稱作為包的唯一首碼。

  常量:基礎資料型別 (Elementary Data Type)的常量名犬大寫,如果多個單詞構成,可以用寫劃線隔開;

1.7 java共有幾種注釋的方法

  三種   單行注釋  多行注釋  文檔注釋

1.8  如何增加代碼的清晰度和可觀;

  代碼添加註釋  命名規範  縮排排版規範  添加異常處理 使用測試類別和測試方法

1.9  void 和 null,有你什麼區別;

  void用於無傳回值的方法中    null表示對象,變數沒有被執行個體化,沒有志向具體的記憶體位址

1.10 java結構化程式設計有哪三種基本流程,分別對應那些語句

  順序,選擇,迴圈,其中,順序表示程式中的個操作是安裝出現的先後順序執行的,選擇對應if witch,迴圈對應java語言中的for  dowhile 以及while

1.11 &he &&區別

  &運算時吧邏輯運算式全部計算完,&&運算具有短路計算功能,所謂短路計算,是指系統從左向右進行邏輯運算式的計算,一旦出現計算結果已經確定的情況下,則計算過程終止

1.12  java中八大資料類型和位元組長度

  byte  一位元組 八位 儲存一個位元組資料  short 2位元組 16位  相容性考慮 一般不用   int 4位元組  32位 儲存整數  long 8位元組 64位  儲存長整數  float 四位元組 32位 儲存浮點數

  double 8位元組 64位 儲存雙精確度浮點數  char  2位元組 16位 儲存一個字元  boolean 一位元組  8位  儲存邏輯變數 true false

1.13  jvm載入class檔案的原理機制

  jvm中類的載入是由classloader和他的子類來實現,java classloader是一個重要java 運行時系統組件,他負責在運行時尋找和裝入類檔案中的類

1.15 什麼是進程

  進程是作業系統結構的基礎,是一個電腦中正在啟動並執行程式執行個體,可分配給處理器並由處理器執行的一個實體,由單一順序的執行顯示,一個目前狀態和一組相關的系統資源所描述的活動單元。

1.16 什麼是記憶體回收,什麼時候出發,如何降低記憶體回收出發頻率,他能保證程式有足夠的可用記憶體;

  1 記憶體回收gc是java語言的一個重要特性,作用是釋放不在被使用的記憶體

  2 記憶體回收由系統進行管理,在系統認為需要的時候自動啟動一個線程來驚醒處理;

  3 盡量減少垃圾記憶體  也及時建立對象的數量  可以降低記憶體回收的頻率

  4 記憶體回收機制無法儲存有足夠的記憶體

1.17 java記憶體流失

  兩種情況  1  堆中分配的記憶體,在沒有將其釋放的時候,就把所有能訪問這塊記憶體的方式都刪掉  2  在記憶體對象已經不需要的時候 ,還保留這塊記憶體和他的訪問方式

1.18  java源檔案中是否可以包括多個類,有什麼限制

  一個java源檔案可以包含多個類,有一個public的話  必須和這個名字相同,沒有public的話  用什麼都可以的  最好一個java源檔案包含一個java類

1.18  列出自己常用的jdk包

  1.java。lang   這個包包含了jdk提供的基礎類。如String扥都在這裡面  這個包是唯一一個不用匯入就可以使用的包

  2.java.io  包含了於 輸入輸出相關的類  如檔案操作等

  3  java。net  包含了與網路相關的類,比如url  urlconnection等

  4  javautil  這個是系統輔助類  特別是集合類  collection  list  map

  5  java sql  資料庫操作 的類  connection  statement resultset

1.19  簡單說明什麼是遞迴  什麼情況下會使用  並使用java實現

  1 遞迴作為一種演算法在程式設計語言中的廣泛應用,是函數  過程  子程式在運行過程中直接或間接調用自身 二產生的重入現象

  2  遞迴演算法一般用於解決三類問題

  資料的定義按遞迴定義的    問題揭發按遞迴演算法實現的   資料的結構形式按遞迴定義的

1.20  java中的排序

  插入排序  交換排序  選擇排序  歸併排序  分配排序

java面試題-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.