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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

准备面试二

發(fā)布時間:2025/6/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 准备面试二 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、線程中的run和start的區(qū)別?
?? ?run()相當于線程的任務(wù)處理邏輯入口方法,它由Java虛擬機在運行相應線程時直接調(diào)用
?? ?start()的作用是啟動相應的線程,該線程進入就緒狀態(tài),start()調(diào)用結(jié)束并不表示相應線程已經(jīng)開始運行,這個線程可能稍后運行,也可能永遠不運行。
2、可不可以不通過start()方法,直接調(diào)用run()方法呢?
?? ?可以,如果直接調(diào)用線程類的run()方法,它就會被當作一個普通的函數(shù)調(diào)用;
????? start()方法可以異步地調(diào)用run()方法,但是直接調(diào)用run()方法確實同步的,不能達到多線程的目的。
3、跨域的出現(xiàn)和解決
?? ?跨域是指a頁面想獲取b頁面資源,如果a。b頁面的協(xié)議,域名,端口不同或者是a頁面是ip地址,b頁面為域名地址,所進行的訪問行動都是跨域的,而瀏覽器為了安全問題一般都限制跨域訪問,也就是不允許跨域請求資源。
?? ?解決:Jsonp,把請求路徑轉(zhuǎn)成jsonp的格式,再進行請求
?? ?JSONP的實現(xiàn):創(chuàng)建一個回調(diào)函數(shù),然后在遠程服務(wù)器上調(diào)用這個函數(shù)并且將JSON數(shù)據(jù)格式作為參數(shù)傳遞,完成回調(diào),將JSON數(shù)據(jù)填充進回調(diào)函數(shù)。
?? ?SpringBoot跨域解決方案:在Controller上加@CrossOrigin(最好看下原理)
?? ?@CrossOrigin(origins = "*",maxAge = 3600)//origin="*"代表所有域名都可訪問
//maxAge飛行前響應的緩存持續(xù)時間的最大年齡,簡單來說就是Cookie的有效期 單位為秒
4、GC回收垃圾的時候System.gc()和finalize()的區(qū)別
?? ?收集并刪除未引用的對象??梢酝ㄟ^"System.gc()"來觸發(fā)垃圾回收,但并不保證會確實進行垃圾回收。
?? ?JVM的垃圾回收只收集那些由new關(guān)鍵字創(chuàng)建的對象,所以。如果不是用new創(chuàng)建的對象,你可以用finalize函數(shù)來執(zhí)行處理。
5、Java創(chuàng)建對象的幾種方式?
?? ?1.使用new關(guān)鍵字,比如:Student student = new Student();
?? ?2.使用Class類的newInstance方法,這個newInstance方法調(diào)用無參的構(gòu)造器創(chuàng)建對象:Student stu = Student.class.newInstance();
?? ?3.使用Constructor類的newInstance方法,java.lang.relect.Constructor類里也有一個newInstance方法可以創(chuàng)建對象。我們可以通過這個newInstance方法調(diào)用有參數(shù)的和私有的構(gòu)造函數(shù),事實上Class的newInstance方法內(nèi)部調(diào)用Constructor的newInstance方法:Student stu = constructor.newInstance();
?? ?4、使用Clone的方法:要使用clone方法,我們必須先實現(xiàn)Cloneable接口并實現(xiàn)其定義的clone方法。如:Student stu2 = <Student>stu.clone();
6、MQ消息的丟失和中途宕機解決?
?? ?1.服務(wù)端丟失:把內(nèi)存中的消息持久化,重啟mq時進行從序列化文件中獲取
?? ?2.客戶端丟失:用戶發(fā)出的消息還在緩存中,mq可以重新進行read
7、請求方式有幾種?
?? ?1.GET:請求指定的頁面信息,并返回實體主體
?? ?2.POST:請求服務(wù)器接受所指定的文檔作為對所標識的URI的新的從屬實體
?? ?2.HEAD:只請求頁面的首部
?? ?3.DELETE:請求服務(wù)器刪除指定的頁面
?? ?4.COPY:請求服務(wù)器將指定的頁面移至另一個網(wǎng)絡(luò)地址
?? ?5.LINK:請求服務(wù)器建立連接關(guān)系
?? ?6.UNLLINK:斷開連接關(guān)系
8、volatile輕量級,只能修飾變量。synchronized重量級,還可修飾方法
9、TCP的三次握手,在進行數(shù)據(jù)傳輸前,必須和對方建立可靠連接
?? ?1.客戶端發(fā)送請求通知后臺
?? ?2.后臺回應客戶端可以建立連接
?? ?3.客戶端檢查連接標志,正確則與服務(wù)器建立連接,后續(xù)開始傳輸數(shù)據(jù)
10、UDP用戶協(xié)議數(shù)據(jù),是一種無連接的傳輸層協(xié)議,無狀態(tài)傳輸協(xié)議;優(yōu)點是快,要求資源少,沒有握手連接,但是不穩(wěn)定,數(shù)據(jù)傳遞時容易丟包。
11、Redis底層協(xié)議是TCP
12、java如何實現(xiàn)秒殺商品
?? ?把商品數(shù)量放入到redis中,當某一個用戶購買成功后,同步緩存,數(shù)量為0,別的用戶就不能購買。
13、Redis緩存同步的方法
?? ?讀取數(shù)據(jù)的時候。先從redis里面查,若沒有,再去數(shù)據(jù)庫查,同時寫到redis里面,并且設(shè)置失效時間。
14、ajax傳遞對象,controller如何接收
?? ?使用@requestBody注解
?? ?通過@requestBody可以將請求體中的JSON字符串綁定到相應的bean上。
15、Java中的隊列
?? ?隊列是一種特殊的線性表,它只允許在表的前段(front)進行刪除操作,只允許在表的后端(rear)進行插入操作。進行插入操作的端稱未隊尾,進行刪除操作的端成為隊頭。對于一個隊列來說,每個元素總是從隊列的rear端進入隊列,然后等待該元素之前的所有元素出隊之后,當前元素才能出隊,遵循先進先出(FIFO)的原則,如果隊列中不包含任何元素,該隊列被稱為空隊列。
?? ?Java提供了一個Queue接口,并為該接口提供了眾多的實現(xiàn)類:ArrayBlockingQueue、LinkedBlockingQueue、ConcurrentLinkedQueue。
?? ?ArrayBlockingQueue、LinkedBlockingQueue和CurrentLinkedQueue,它們都是線程安全的隊列。LinkedBlockingQueue吞吐量較高,但是性能低。

轉(zhuǎn)載于:https://www.cnblogs.com/tk970803/p/11140674.html

總結(jié)

以上是生活随笔為你收集整理的准备面试二的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。