大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 必備的Java程序員面試寶典

必備的Java程序員面試寶典

更新時(shí)間:2022-03-30 10:06:01 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1799次

1.解釋 Java 中的 public static void main(String args[])。

Java 中的 main() 是任何 Java 程序的入口點(diǎn)。它總是寫成public static void main(String[] args)。

public:public 是一個(gè)訪問修飾符,用于指定誰可以訪問這個(gè)方法。Public 意味著任何類都可以訪問此方法。

static:它是 java 中的一個(gè)關(guān)鍵字,用于標(biāo)識(shí)它是基于類的。main() 在 Java 中是靜態(tài)的,因此可以在不創(chuàng)建類實(shí)例的情況下訪問它。如果 main 不是靜態(tài)的,那么編譯器將拋出一個(gè)錯(cuò)誤,因?yàn)樵谏扇魏螌?duì)象之前,JVM 調(diào)用了main (),并且只能通過類直接調(diào)用靜態(tài)方法。

void:它是方法的返回類型。void 定義不會(huì)返回任何值的方法。

main:它是 JVM 搜索的方法的名稱,作為僅具有特定簽名的應(yīng)用程序的起點(diǎn)。它是主要執(zhí)行發(fā)生的方法。

String args[] : 傳遞給main方法的參數(shù)。

2.為什么Java是平臺(tái)無關(guān)的?

Java 被稱為平臺(tái)無關(guān),因?yàn)樗淖止?jié)碼可以在任何系統(tǒng)上運(yùn)行,而不管其底層操作系統(tǒng)如何。

3.為什么 Java 不是 100% 面向?qū)ο蟮?

Java 不是 100% 面向?qū)ο蟮模驗(yàn)樗褂昧税朔N原始數(shù)據(jù)類型,例如 boolean、byte、char、int、float、double、long、short,它們不是對(duì)象。

4.Java 中的包裝類是什么?

包裝類將 Java 原語轉(zhuǎn)換為引用類型(對(duì)象)。每個(gè)原始數(shù)據(jù)類型都有一個(gè)專用于它的類。這些被稱為包裝類,因?yàn)樗鼈儗⒃紨?shù)據(jù)類型“包裝”到該類的對(duì)象中。請(qǐng)參閱下圖,它顯示了不同的原始類型、包裝類和構(gòu)造函數(shù)參數(shù)。

5.Java 中的 equals() 和 == 有什么區(qū)別?

Equals() 方法定義在 Java 的 Object 類中,用于檢查業(yè)務(wù)邏輯定義的兩個(gè)對(duì)象的相等性。

Java中的“==”或相等運(yùn)算符是Java編程語言提供的二元運(yùn)算符,用于比較原語和對(duì)象。public boolean equals(Object o)是 Object 類提供的方法。默認(rèn)實(shí)現(xiàn)使用 == 運(yùn)算符來比較兩個(gè)對(duì)象。例如:方法可以像 String 類一樣被覆蓋。equals() 方法用于比較兩個(gè)對(duì)象的值。

6.Java中反射的重要性是什么?

Reflection 是一個(gè)運(yùn)行時(shí) API,用于檢查和更改方法、類和接口的行為。Java 反射是一個(gè)非常有用的強(qiáng)大工具。Java 反射允許您在運(yùn)行時(shí)分析類、接口、字段和方法,而無需知道它們?cè)诰幾g時(shí)被調(diào)用什么。反射也可用于創(chuàng)建新對(duì)象、調(diào)用方法和獲取/設(shè)置字段值。可以通過創(chuàng)建具有完全限定名稱的可擴(kuò)展性對(duì)象的實(shí)例來使用外部的、用戶定義的類。調(diào)試器還可以使用反射來檢查類的私有成員。

7.如何不允許在 Java 中對(duì)類的屬性進(jìn)行序列化?

NonSerialized 屬性可用于防止成員變量被序列化。

如果可能,您還應(yīng)該使可能包含安全敏感數(shù)據(jù)的對(duì)象不可序列化。如果必須序列化對(duì)象,則將 NonSerialized 屬性應(yīng)用于存儲(chǔ)敏感數(shù)據(jù)的某些字段。如果您不從序列化中排除這些字段,則它們存儲(chǔ)的數(shù)據(jù)將對(duì)任何具有序列化權(quán)限的程序可見。

8.解釋 Java 中的術(shù)語“雙大括號(hào)初始化”?

雙大括號(hào)初始化是一個(gè) Java 術(shù)語,指的是兩個(gè)獨(dú)立進(jìn)程的組合。這里使用了兩個(gè)大括號(hào)。第一個(gè)大括號(hào)創(chuàng)建一個(gè)匿名內(nèi)部類。第二個(gè)大括號(hào)是一個(gè)初始化塊。當(dāng)這兩者一起使用時(shí),它被稱為雙括號(hào)初始化。內(nèi)部類具有對(duì)封閉外部類的引用,通常使用“this”指針。它用于在單個(gè)語句中進(jìn)行創(chuàng)建和初始化。它通常用于初始化集合。它減少了代碼并使其更具可讀性。

9.為什么說String類的length()方法返回的結(jié)果不準(zhǔn)確?

String 類的 length() 方法不會(huì)返回準(zhǔn)確的結(jié)果,因?yàn)?/p>

它只是考慮了 String 中的字符數(shù)。換言之,BMP(Basic Multilingual Plane)之外的碼點(diǎn),即U+10000或以上的碼點(diǎn)將被忽略。

其原因是歷史性的。Java 最初的目標(biāo)之一是將所有文本視為 Unicode。然而,Unicode 當(dāng)時(shí)并沒有在 BMP 之外定義代碼點(diǎn)。在 Unicode 指定此類代碼點(diǎn)時(shí)修改 char 為時(shí)已晚。

10.為什么Java中不使用指針?

Java 不使用指針,因?yàn)樗鼈儾话踩⒃黾恿顺绦虻膹?fù)雜性。由于 Java 以其代碼簡(jiǎn)單而著稱,因此添加指針的概念將是矛盾的。此外,由于JVM負(fù)責(zé)隱式內(nèi)存分配,因此為了避免用戶直接訪問內(nèi)存,Java中不鼓勵(lì)使用指針。

11.Java中的JIT編譯器是什么?

JIT 代表 Java 中的即時(shí)編譯器。它是一個(gè)幫助將 Java 字節(jié)碼轉(zhuǎn)換為直接發(fā)送到處理器的指令的程序。默認(rèn)情況下,JIT 編譯器在 Java 中啟用,并在調(diào)用 Java 方法時(shí)激活。然后,JIT 編譯器將被調(diào)用方法的字節(jié)碼編譯為本機(jī)機(jī)器碼,“及時(shí)”編譯以執(zhí)行。編譯方法后,JVM 直接調(diào)用該方法的編譯代碼,而不是解釋它。這就是為什么它經(jīng)常負(fù)責(zé) Java 應(yīng)用程序在運(yùn)行時(shí)的性能優(yōu)化。

12.解釋 Java 中的術(shù)語“雙大括號(hào)初始化”?

雙大括號(hào)初始化是一個(gè) Java 術(shù)語,指的是兩個(gè)獨(dú)立進(jìn)程的組合。這里使用了兩個(gè)大括號(hào)。第一個(gè)大括號(hào)創(chuàng)建一個(gè)匿名內(nèi)部類。第二個(gè)大括號(hào)是一個(gè)初始化塊。當(dāng)這兩者一起使用時(shí),它被稱為雙括號(hào)初始化。內(nèi)部類具有對(duì)封閉外部類的引用,通常使用“this”指針。它用于在單個(gè)語句中進(jìn)行創(chuàng)建和初始化。它通常用于初始化集合。它減少了代碼并使其更具可讀性。

13.Java中的構(gòu)造函數(shù)鏈?zhǔn)鞘裁?

在 Java 中,構(gòu)造函數(shù)鏈接是相對(duì)于當(dāng)前對(duì)象從另一個(gè)構(gòu)造函數(shù)調(diào)用的過程。只有通過子類構(gòu)造函數(shù)首先負(fù)責(zé)調(diào)用超類的構(gòu)造函數(shù)的遺留系統(tǒng)才能實(shí)現(xiàn)構(gòu)造函數(shù)鏈接。構(gòu)造函數(shù)鏈中可以有任意數(shù)量的類。構(gòu)造函數(shù)鏈可以通過兩種方式實(shí)現(xiàn):

在同一個(gè)類中使用 this()

從使用 super() 的基類

14.為什么 Java 字符串本質(zhì)上是不可變的?

在 Java 中,字符串對(duì)象本質(zhì)上是不可變的,這意味著一旦創(chuàng)建了字符串對(duì)象,它的狀態(tài)就不能被修改。每當(dāng)您嘗試更新該對(duì)象的值而不是更新該特定對(duì)象的值時(shí),Java 都會(huì)創(chuàng)建一個(gè)新的字符串對(duì)象。Java String 對(duì)象是不可變的,因?yàn)?String 對(duì)象通常緩存在 String 池中。由于字符串文字通常在多個(gè)客戶端之間共享,因此來自一個(gè)客戶端的操作可能會(huì)影響其余客戶端。它增強(qiáng)了應(yīng)用程序的安全性、緩存、同步和性能。

15.什么是運(yùn)行時(shí)多態(tài)性或動(dòng)態(tài)方法分派?

在 Java 中,運(yùn)行時(shí)多態(tài)性或動(dòng)態(tài)方法分派是在運(yùn)行時(shí)而不是在編譯時(shí)解決對(duì)覆蓋方法的調(diào)用的過程。在這個(gè)過程中,通過超類的引用變量調(diào)用被覆蓋的方法。讓我們看一下下面的示例以更好地理解它。

class Car {
void run()
{
System.out.println(“car is running”); 
}
}
class Audi extends Car {
void run()
{
System.out.prinltn(“Audi is running safely with 100km”);
}
public static void main(String args[])
{
Car b= new Audi();    //upcasting
b.run();
}
}

16.Java中的封裝是什么?

封裝是一種將數(shù)據(jù)(變量)和代碼(方法)作為一個(gè)單元綁定在一起的機(jī)制。在這里,數(shù)據(jù)對(duì)外界是隱藏的,只能通過當(dāng)前的類方法訪問。這有助于保護(hù)數(shù)據(jù)免受任何不必要的修改。我們可以通過以下方式在 Java 中實(shí)現(xiàn)封裝:

將類的變量聲明為私有的。

提供公共的 setter 和 getter 方法來修改和查看變量的值。

17.Java中的組合是什么?

組合再次是聚合的一種特殊形式,我們可以將其稱為“死亡”關(guān)系。它是一種強(qiáng)大的聚合類型。子對(duì)象沒有生命周期,如果父對(duì)象刪除,所有子對(duì)象也將被刪除。讓我們?cè)倥e一個(gè) House 和 room 之間關(guān)系的例子。房子可以包含多個(gè)房間,房間沒有獨(dú)立的生命,任何房間不能屬于兩個(gè)不同的房子,如果我們刪除房子房間會(huì)自動(dòng)刪除。

18.Java中的對(duì)象克隆是什么?

Java 中的對(duì)象克隆是創(chuàng)建對(duì)象的精確副本的過程。它基本上意味著能夠創(chuàng)建與原始對(duì)象具有相似狀態(tài)的對(duì)象。為了實(shí)現(xiàn)這一點(diǎn),Java 提供了一個(gè)方法clone () 來利用這個(gè)功能。此方法創(chuàng)建當(dāng)前對(duì)象的類的新實(shí)例,然后使用與相應(yīng)字段完全相同的內(nèi)容初始化其所有字段。要對(duì)象 clone(),必須實(shí)現(xiàn)標(biāo)記接口java.lang.Cloneable以避免任何運(yùn)行時(shí)異常。您必須注意的一件事是 Object clone() 是一種受保護(hù)的方法,因此您需要覆蓋它。

19.什么是 Java 中的復(fù)制構(gòu)造函數(shù)?

復(fù)制構(gòu)造函數(shù)是一個(gè)成員函數(shù),用于使用同一類的另一個(gè)對(duì)象初始化一個(gè)對(duì)象。盡管在 Java 中不需要復(fù)制構(gòu)造函數(shù),因?yàn)樗袑?duì)象都是通過引用傳遞的。此外,Java 甚至不支持自動(dòng)按值傳遞。

20.cookie 在 Servlet 中是如何工作的?

Cookie 是服務(wù)器發(fā)送給客戶端的文本數(shù)據(jù),并保存在客戶端本地計(jì)算機(jī)上。

Servlet API 通過實(shí)現(xiàn) Serializable 和 Cloneable 接口的 javax.servlet.http.Cookie 類提供 cookie 支持。

提供了 HttpServletRequest getCookies() 方法來從請(qǐng)求中獲取 Cookies 數(shù)組,由于沒有向請(qǐng)求添加 Cookie 的意義,因此沒有設(shè)置或向請(qǐng)求添加 cookie 的方法。

類似地,提供了 HttpServletResponse addCookie(Cookie c) 方法來在響應(yīng)頭中附加 cookie,cookie 沒有 getter 方法。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日韩短视频| 日本无吗中文字幕免费婷婷 | 日日夜夜摸 | 日韩美女中文字幕 | 欧美日韩高清一区二区三区 | 久久精品国产亚洲婷婷 | 农村女人十八毛片a级毛片 农村三级孕妇视频在线 | 香蕉视频成人 | 看一级特黄a大片日本片 | 欧美一区二区三区免费视频 | 国产玖玖在线观看 | 国产精品一区二区三区免费 | 欧美性生交xxxxx久久久 | 十大黄色免费网站 | 欧美一级毛片日韩一级 | 手机看片福利盒子久久青 | 亚洲第一区视频在线观看 | 在线观看免费情网站大全 | 国产成人麻豆精品 | 人人精品久久 | 免费看在线爱爱小视频 | 天天躁狠狠躁夜夜躁 | 免费观看a级完整视频 | 九九精品视频一区在线 | 国产在线观看一区二区三区四区 | 手机在线看片国产 | 亚洲精品福利一区二区 | 99久国产| 欧美日日干 | 久青草视频在线播放 | 午夜dy888理论不卡达达兔 | 国产一区 在线视频 | 日本伊人色综合网 | 亚洲国产成人久久综合一区 | 国产91福利在线精品剧情尤物 | 中文字幕不卡在线观看 | 久久影院朴妮唛 | 99国产精品久久久久久久日本 | 99久久精品国产免看国产一区 | 国产一区二区三区高清 | 2345成人高清毛片 |