亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 Java Java面試題 javaweb面試題目(3)

javaweb面試題目(3)

Dec 13, 2019 pm 03:31 PM
java

javaweb面試題目(3)

AJAX有哪些有優(yōu)點(diǎn)和缺點(diǎn)?

優(yōu)點(diǎn):

1、最大的一點(diǎn)是頁面沒有刷新,使用者的體驗(yàn)非常好。? ? ? ? ? ? ? ? ? (建議學(xué)習(xí):java面試題目

2、使用非同步方式與伺服器通信,並具備更快速的回應(yīng)能力。

3、可以把以前一些伺服器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閒置的能力來處理,減輕伺服器和頻寬的負(fù)擔(dān),節(jié)省空間和寬頻租用成本。並且減輕伺服器的負(fù)擔(dān),ajax的原則是“按需取資料”,可以最大程度的減少冗餘請求,和回應(yīng)對伺服器造成的負(fù)擔(dān)。

4、基於標(biāo)準(zhǔn)化的並被廣泛支援的技術(shù),不需要下載外掛程式或小程式。

缺點(diǎn):

1、ajax不支援瀏覽器back按鈕。

2、安全性問題 AJAX揭露了與伺服器互動的細(xì)節(jié)。

3、對搜尋引擎的支援比較弱。

4、破壞了程式的異常機(jī)制。

5、不容易調(diào)試。

AJAX應(yīng)用程式和傳統(tǒng)Web應(yīng)用程式有什麼不同?

在傳統(tǒng)的Javascript程式設(shè)計(jì)中,如果想得到伺服器端資料庫或檔案上的信息,或是傳送客戶端資訊到伺服器,需要建立一個HTML form然後GET或POST資料到伺服器端。

使用者需要點(diǎn)擊”Submit」按鈕來傳送或接受資料訊息,然後等待伺服器回應(yīng)請求,頁面重新載入。

因?yàn)樗欧髅看味紩貍饕粋€新的頁面, 所以傳統(tǒng)的web應(yīng)用程式有可能很慢而且使用者互動不友善。

使用AJAX技術(shù), 就可以讓Javascript透過XMLHttpRequest物件直接與伺服器進(jìn)行互動。

透過HTTP Request, 一個web頁面可以發(fā)送一個請求到web伺服器並且接受web伺服器返回的資訊(不用重新載入頁面),展示給使用者的還是同一個頁面,使用者感覺頁面刷新,也看不到到Javascript後臺進(jìn)行的發(fā)送請求和接受回應(yīng),體驗(yàn)非常好。

Ajax的實(shí)作流程是怎麼樣的?

(1)建立XMLHttpRequest物件,也就是建立一個非同步呼叫物件.

(2)建立一個新的HTTP請求,並指定該HTTP請求的方法、URL及驗(yàn)證訊息.

(3)設(shè)定回應(yīng)HTTP請求狀態(tài)變化的函數(shù).

(4)發(fā)送HTTP請求.

(5)取得非同步呼叫傳回的資料.

(6)使用JavaScript和DOM實(shí)作局部刷新.

具體一點(diǎn):

1,建立XNLHttpRequest物件

(不考慮ie)XMLHttpRequest request = new XMLHttprequest();

2,建立新的Http請求

XMLHttprequest.open(method,url,flag,name,password);

3,設(shè)定回應(yīng)Http請求變化的函數(shù)

XMLHttprequest.onreadystatechange=getData;
function getData(){
    if(XMLHttprequest.readyState==4){
        //獲取數(shù)據(jù)
    }
}

4,發(fā)送http請求

XMLHttprequest.send(data);

5,取得非同步呼叫傳回的對象,

function(data){
//異步提交后,交互成功,返回的data便是異步調(diào)用返回的對象,該對象是一個string類型的
}

6,使用js、DOM實(shí)作局部刷新

myDiv.innerHTML=''這是刷新後的資料''

簡單說一下資料庫的三範(fàn)式?

第一範(fàn)式:資料庫表的每一個欄位都是不可分割的

第二範(fàn)式:資料庫表中的非主屬性只依賴主鍵

#第三範(fàn)式:不存在非主屬性對關(guān)鍵字的傳遞函數(shù)依賴關(guān)係

Java集合框架是什麼?說出一些集合框架的優(yōu)點(diǎn)?

每種程式語言都有集合,最初的Java版本包含幾個集合類別:Vector、Stack、HashTable和Array。

隨著集合的廣泛使用,Java1.2提出了囊括所有集合介面、實(shí)作和演算法的集合框架。在確保線程安全的情況下使用泛型和並發(fā)集合類,Java已經(jīng)經(jīng)歷了很長時間。它還包括在Java並發(fā)包中,阻塞介面以及它們的實(shí)作。

集合架構(gòu)的部分優(yōu)點(diǎn)如下:

(1)使用核心集合類別降低開發(fā)成本,而非實(shí)作我們自己的集合類別。

(2)隨著使用經(jīng)過嚴(yán)格測試的集合框架類,程式碼品質(zhì)會提高。

(3)透過使用JDK附帶的集合類,可以降低程式碼維護(hù)成本。

(4)復(fù)用性和可操作性。

Java集合框架的基礎(chǔ)介面有哪些?

Collection為集合層級的根介面。一個集合代表一組對象,這些對象就是它的元素。 Java平臺不提供這個介面任何直接的實(shí)作。

Set是一個不能包含重複元素的集合。這個介面對數(shù)學(xué)集合抽象進(jìn)行建模,被用來代表集合,就如一副牌。

List是一個有序集合,可以包含重複元素。你可以透過它的索引來存取任何元素。 List更像長度動態(tài)變換的陣列。

Map是一個將key對應(yīng)到value的物件.一個Map不能包含重複的key:每個key最多只能對應(yīng)一個value。

一些其它的介面有Queue、Dequeue、SortedSet、SortedMap和ListIterator。

集合框架中的泛型有什麼優(yōu)點(diǎn)?

Java1.5引進(jìn)了泛型,所有的集合介面和實(shí)作都大量使用它。泛型允許我們?yōu)榧咸峁┮粋€可以容納的物件類型。

因此,如果你添加其它類型的任何元素,它會在編譯時報(bào)錯。這避免了在運(yùn)行時出現(xiàn)ClassCastException,因?yàn)槟銓诰幾g時得到報(bào)錯資訊。

泛型也讓程式碼整潔,我們不需要使用明確轉(zhuǎn)換和instanceOf運(yùn)算元。它也為運(yùn)行時帶來好處,因?yàn)椴粫a(chǎn)生類型檢查的字節(jié)碼指令。

Enumeration和Iterator介面的差別?

Enumeration的速度是Iterator的兩倍,也使用更少的記憶體。 Enumeration是非?;A(chǔ)的,也滿足了基礎(chǔ)的需要。

但是,與Enumeration相比,Iterator更加安全,因?yàn)楫?dāng)一個集合正在被遍歷的時候,它會阻止其它線程去修改集合。

迭代器取代了Java集合框架中的Enumeration。迭代器允許呼叫者從集合中移除元素,而Enumeration不能做到。為了使它的功能更加清晰,迭代器方法名稱已經(jīng)經(jīng)過改善。

Iterater和ListIterator之間有什麼差別?

1,我們可以使用Iterator來遍歷Set和List集合,而ListIterator只能遍歷List。

2,Iterator只可以向前遍歷,而LIstIterator可以雙向遍歷。

3,ListIterator從Iterator介面繼承,然後增加了一些額外的功能,例如新增一個元素、取代一個元素、取得前面或後面元素的索引位置。

我們?nèi)绾螌σ唤M物件進(jìn)行排序?

如果我們需要對一個物件陣列進(jìn)行排序,我們可以使用Arrays.sort()方法。如果我們需要排序一個物件列表,我們可以使用Collection.sort()方法。

兩個類別都有用於自然排序(使用Comparable)或基於標(biāo)準(zhǔn)的排序(使用Comparator)的重載方法sort()。

Collections內(nèi)部使用陣列排序方法,所有它們兩者都有相同的效能,只是Collections需要花時間將清單轉(zhuǎn)換為陣列。

與Java集合架構(gòu)相關(guān)的有哪些最好的實(shí)踐?

1,根據(jù)需要選擇正確的集合類型。例如,如果指定了大小,我們會選用Array而非ArrayList。如果我們想要依照插入順序遍歷一個Map,我們需要使用TreeMap。如果我們不想重複,我們應(yīng)該使用Set。

2,有些集合類別允許指定初始容量,所以如果我們能夠估計(jì)到儲存元素的數(shù)量,我們可以使用它,就避免了重新哈?;虼笮≌{(diào)整。

3,基於介面編程,而非基於實(shí)作編程,它允許我們後來輕易地改變實(shí)作。

4,總是使用型別安全的泛型,避免在執(zhí)行時出現(xiàn)ClassCastException。

5,使用JDK提供的不可變類別作為Map的key,可以避免自己實(shí)作hashCode()和equals()。

6,盡可能使用Collections工具類,或取得唯讀、同步或空的集合,而不是寫自己的實(shí)作。它將提供程式碼重用性,它有著更好的穩(wěn)定性和可維護(hù)性。

什麼是事務(wù)?

交易是恢復(fù)和並發(fā)控制的基本單位

交易的四個基本特徵

原子性,一致性,隔離性,持久性

原子性和一致性差不多,意思是要嘛全部成功,要嘛就失敗

一致性是說,從一個一致性狀態(tài)到另一個一致性狀態(tài)

隔離性是說一個事務(wù)執(zhí)行的過程中不能被另一個事務(wù)幹?jǐn)_

持久性也就是事務(wù)一旦提交,他對資料庫中資料的改變就應(yīng)該是永久的,不能變的(這裡只是面試簡單的說一下理解,詳細(xì)理解問度娘)

以上是javaweb面試題目(3)的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
VSCODE設(shè)置。 JSON位置 VSCODE設(shè)置。 JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位於用戶級或工作區(qū)級路徑,用於自定義VSCode設(shè)置。 1.用戶級路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級路徑:項(xiàng)目根目錄下的.vscode/settings

如何使用JDBC處理Java的交易? 如何使用JDBC處理Java的交易? Aug 02, 2025 pm 12:29 PM

要正確處理JDBC事務(wù),必須先關(guān)閉自動提交模式,再執(zhí)行多個操作,最後根據(jù)結(jié)果提交或回滾;1.調(diào)用conn.setAutoCommit(false)以開始事務(wù);2.執(zhí)行多個SQL操作,如INSERT和UPDATE;3.若所有操作成功則調(diào)用conn.commit(),若發(fā)生異常則調(diào)用conn.rollback()確保數(shù)據(jù)一致性;同時應(yīng)使用try-with-resources管理資源,妥善處理異常並關(guān)閉連接,避免連接洩漏;此外建議使用連接池、設(shè)置保存點(diǎn)實(shí)現(xiàn)部分回滾,並保持事務(wù)盡可能短以提升性能。

在Java的掌握依賴注入春季和Guice 在Java的掌握依賴注入春季和Guice Aug 01, 2025 am 05:53 AM

依賴性(di)IsadesignpatternwhereObjectsReceivedenciesenciesExtern上,推廣looseSecouplingAndEaseerTestingThroughConstructor,setter,orfieldInjection.2.springfraMefringframeWorkSannotationsLikeLikeLike@component@component,@component,@service,@autowiredwithjava-service和@autowiredwithjava-ligatiredwithjava-lase-lightike

Python Itertools組合示例 Python Itertools組合示例 Jul 31, 2025 am 09:53 AM

itertools.combinations用於生成從可迭代對像中選取指定數(shù)量元素的所有不重複組合(順序無關(guān)),其用法包括:1.從列表中選2個元素組合,如('A','B')、('A','C')等,避免重複順序;2.對字符串取3個字符組合,如"abc"、"abd",適用於子序列生成;3.求兩數(shù)之和等於目標(biāo)值的組合,如1 5=6,簡化雙重循環(huán)邏輯;組合與排列的區(qū)別在於順序是否重要,combinations視AB與BA為相同,而permutations視為不同;

了解Java虛擬機(jī)(JVM)內(nèi)部 了解Java虛擬機(jī)(JVM)內(nèi)部 Aug 01, 2025 am 06:31 AM

TheJVMenablesJava’s"writeonce,runanywhere"capabilitybyexecutingbytecodethroughfourmaincomponents:1.TheClassLoaderSubsystemloads,links,andinitializes.classfilesusingbootstrap,extension,andapplicationclassloaders,ensuringsecureandlazyclassloa

如何使用Java的日曆? 如何使用Java的日曆? Aug 02, 2025 am 02:38 AM

使用java.time包中的類替代舊的Date和Calendar類;2.通過LocalDate、LocalDateTime和LocalTime獲取當(dāng)前日期時間;3.使用of()方法創(chuàng)建特定日期時間;4.利用plus/minus方法不可變地增減時間;5.使用ZonedDateTime和ZoneId處理時區(qū);6.通過DateTimeFormatter格式化和解析日期字符串;7.必要時通過Instant與舊日期類型兼容;現(xiàn)代Java中日期處理應(yīng)優(yōu)先使用java.timeAPI,它提供了清晰、不可變且線

Google Chrome無法打開本地文件 Google Chrome無法打開本地文件 Aug 01, 2025 am 05:24 AM

ChromecanopenlocalfileslikeHTMLandPDFsbyusing"Openfile"ordraggingthemintothebrowser;ensuretheaddressstartswithfile:///;2.SecurityrestrictionsblockAJAX,localStorage,andcross-folderaccessonfile://;usealocalserverlikepython-mhttp.server8000tor

如何使用Prometheus和Grafana監(jiān)視Java應(yīng)用程序 如何使用Prometheus和Grafana監(jiān)視Java應(yīng)用程序 Jul 31, 2025 am 09:42 AM

TomonitoraJavaapplicationwithPrometheusandGrafana,firstinstrumenttheappusingMicrometerbyaddingmicrometer-registry-prometheusandSpringBootActuatordependencies,thenexposethe/actuator/prometheusendpointviaconfigurationinapplication.yml.2.SetupPrometheus

See all articles