日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java面试题(java基础)

發布時間:2025/3/21 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java面试题(java基础) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.JDK和JRE有什么區別?

JRE: Java Runtime Environment ?(java運行時環境)
JDK:Java Development Kit(java開發工具包)

簡單的說就是如果你只是想要運行一個java程序,JRE就夠了。但如果你要編寫java程序并運行程序,那么你就需要JDK,并且JDK中囊括了JRE。

JRE:

   JRE是Java Runtime Environment的縮寫,顧名思義是java運行時環境,包含了java虛擬機,java基礎類庫。是使用java語言編寫的程序運行所需要的軟件環境,是提供給想運行java程序的用戶使用的,還有所有的Java類庫的class文件,都在lib目錄下,并且都打包成了jar。

JDK:

  Jdk是Java Development Kit的縮寫,顧名思義是java開發工具包,是程序員使用java語言編寫java程序所需的開發工具包,是提供給程序員使用的。JDK包含了JRE,同時還包含了編譯java源碼的編譯器javac,還包含了很多java程序調試和分析的工具:jconsole,jvisualvm等工具軟件,還包含了java程序編寫所需的文檔和demo例子程序。

2.==和equals()的區別是什么?

基本數據類型(也稱原始數據類型) :byte,short,char,int,long,float,double,boolean。他們之間的比較,應用雙等號(==),比較的是他們的值。但是當==遇到引用數據類型時,就會出問題,它只會比較他們在內存中存放的地址,而不是選取地址里面的值來進行比較。用C/C++的術語來說,操作符 == 比較的是指針的值,方法equals比較的是被指針指向的值。

而String、Integer、Date中的equals()方法再被重寫后,比較的則是引用地址里的值。

3.兩個對象的hashCode()相同,則equals()也一定為true,對嗎?

如果兩個對象hashCode()相等,它們并不一定相等。?因為在散列表中,hashCode()相等,即兩個鍵值對的哈希值相等。然而哈希值相等,并不一定能得出鍵值對相等。補充說一句:“兩個不同的鍵值對,哈希值相等”,這就是哈希沖突。?

反過來其實也不一定相同。正常情況下,因為equals()方法比較的就是對象在內存中的值,如果值相同,那么Hashcode值也應該相同。但是如果不重寫hashcode方法,就會出現不相等的情況。換句話說:重寫equals方法時請必須重寫hashcode,以保證equals方法相等時兩個對象hashcode返回相同的值。如果你不按照規范來,就不一定相同了。

4.final在java中有什么作用?

1.修飾變量?????

? ? ? ? 修飾變量是final用得最多的地方,也是本文接下來要重點闡述的內容。?final成員變量表示常量,只能被賦值一次,賦值后值不再改變。

  當final修飾一個基本數據類型時,表示該基本數據類型的值一旦在初始化后便不能發生變化;如果final修飾一個引用類型時,則在對其初始化之后便不能再讓其指向其他對象了,但該引用所指向的對象的內容是可以發生變化的。本質上是一回事,因為引用的值是一個地址,final要求值,即地址的值不發生變化。

  final修飾一個成員變量(屬性),必須要顯示初始化。這里有兩種初始化方式,一種是在變量聲明的時候初始化;第二種方法是在聲明變量的時候不賦初值,但是要在這個變量所在的類的所有的構造函數中對這個變量賦初值。

  當函數的參數類型聲明為final時,說明該參數是只讀型的。即你可以讀取使用該參數,但是無法改變該參數的值。

2、final修飾類中的方法

?????????????作用:可以被繼承,但繼承后不能被重寫。

3、final修飾類

?????????????作用:類不可以被繼承。

5.java中Math.round(-1.5)等于多少?

? ? Math.round(1.5)的返回值是2,Math.round(-1.5)的返回值是-1。四舍五入的原理是在參數上加0.5然后做向下取整。

總結

以上是生活随笔為你收集整理的java面试题(java基础)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。