實現(xiàn)一個拷貝文件的工具類要使用字節(jié)流還是字符流?
應該使用字節(jié)流,因為在文件中可能會包含圖片之類的字節(jié)
線程的實現(xiàn)方式?怎么樣啟動線程?怎么區(qū)分線程?
線程的實現(xiàn)方式有三種:第一種是繼承Thread類,第二種是實現(xiàn)Runnable接口,第三種是實現(xiàn)java.util.concurrent下的Callable接口。
線程的啟動:調(diào)用start()方法---可以使得線程處于可運行狀態(tài),但是不一定會執(zhí)行,如果實在main()方法中調(diào)用的話,run()會執(zhí)行
區(qū)分線程:給線程設置名字
線程并發(fā)庫和線程池的作用?
線程池的好處:
限定線程的個數(shù),不會導致由于線程過多導致系統(tǒng)運行緩慢或崩潰
線程池每次都不需要去創(chuàng)建和銷毀,節(jié)約了資源
線程池不需要每次都去創(chuàng)建,響應時間更快
設計模式和常用的設計模式?
一共有23中設計模式?常用的有單例模式、工廠模式、裝飾者模式、代理模式
單例模式:
工廠模式:
裝飾者模式:
代理模式:
HTTP、GET、POST請求的區(qū)別?
GET請求的數(shù)據(jù)會暴露在地址欄當中,而POST不會
對于GET,特定的瀏覽器和服務器對于URL有長度限制,傳輸數(shù)據(jù)時會受到限制
POST的安全性比GET高
說說你對Servlet的理解?
就是運行在WEB服務器上的一個Java小程序,用來接收和響應客戶端發(fā)送過來的請求,通常使用HTTP協(xié)議
使用方法:
編寫一個Java類,實現(xiàn)servlet接口
把開發(fā)好的Java類部署到web服務器當中
Servlet的生命周期?
當用戶第一次訪問Servlet的時候,服務器會創(chuàng)建一個Servlet的實例,那么Servlet中的init方法就會執(zhí)行。任何一次請求都會創(chuàng)建一個線程訪問Servlet中的service方法,根據(jù)請求的不同方式調(diào)用不同的doXXX()方法。當Servlet從服務器中移除或者關閉服務器,Servlet的實例就會被銷毀,那么destory()方法就會執(zhí)行。
Servlet中Forward和Redirect的區(qū)別
forward重定向:兩次request,重定向可以訪問自己的web應用以外的資源。重定向的過程,傳輸?shù)男畔粊G失。
redirect請求轉(zhuǎn)發(fā):服務器內(nèi)部把對一個request/response的處理權交給另外一個客戶端,傳輸?shù)男畔⒉粫G失。
JSP和Servlet的相同點和不同點?
1、聯(lián)系:
JSP是Servlet技術的擴展,本質(zhì)上是Servlet的簡易方式,更強調(diào)應用的外表表達。
JSP編譯后是”類servlet”。
2、不同點:
-Servlet的應用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。Servlet如果要實現(xiàn)html功能,必須使用Writer輸出對應的html.
-JSP的情況是Java和HTML可以組合成一個擴展名為.jsp的文件。做界面展示比較方便,而嵌入邏輯復雜.
-JSP側重于視圖,Servlet主要用于控制邏輯
JSP內(nèi)置對象和四大作用域
九大內(nèi)置對象:
request、response、config、application、session、exception、page、out、pagecontext
四大作用域:
page---只能在當前頁面使用
request---只能在同一次請求當中使用
session---只能在同一個會話(session對象)中使用
context---只能在同一個web應用中使用
20、session和cookie的區(qū)別和使用場景?
區(qū)別:
1.cookie的數(shù)據(jù)存儲在客戶端,session的數(shù)據(jù)存儲在服務器上
2.cookie不是很安全,別人可以通過分析存放在本地的cookie并進行cookie欺騙,考慮到安全應該使用session
3.session會在一定時間內(nèi)保存在服務器上,當訪問增多時,會影響服務器的性能.考慮到服務器性能,應當使用cookie.
4.單個cookie保存數(shù)據(jù)不能超過4k,很多瀏覽器顯示一個站點最多保存20個cookie
5.將重要信息保存在session中(登陸),將其他需要保留的信心存放在cookie中(購物車,cookie是可以在客戶端禁用的,這時候要使用cookie+數(shù)據(jù)庫的方式實現(xiàn)購物車,當cookie中不能取出數(shù)據(jù),就從數(shù)據(jù)庫中取)
以上就是長沙一度軟件培訓java培訓機構的小編針對“2020年Java開發(fā)面試題問題總結”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。
Java面試題