北京思特奇2023年校招筆試(Java)
1、運算式 (short)10/10.2*2 運算后結果是什么型別?
答案:double,浮點數默認是double,自動型別向上轉換為浮點數型別
2、 serialVersionUID 欄位必須是什么型別?
想了解這個欄位的型別,首先要了解序列化和反序列化是什么?
序列化:指將物件轉換為位元組序列的程序,也就是將物件的資訊轉換成檔案保存, ’
反序列化:將位元組序列轉換成目標物件的程序,也就是讀取檔案,并轉換為物件,
serialVersionUID 是用作Serializable類中的版本控制元件,
JVM將根據您的Serializable類,在類進行序列化的時候自動生成一個serialVersionUID,在序列化完畢后,如果我們對反序列化之前對類的方法或者屬性進行了修改的話,在反序列化的時候就會報錯,
但是如果我們確定了==private static final long serialVersionUID = 1L; ==那么即使我們改變了類,曾經序列化的物件在反序列化的時候也不會出錯,
所以答案為:static final long
3、以下對JDBC事務描述錯誤的是
JDBC事務屬于JAVA事務的一種【正確】
JDBC事務屬于容器事務型別【錯誤】
JDBC 事務是用 Connection 物件控制的,JDBC Connection 介面( java.sql.Connection )提供了兩種事務模式:自動提交和手工提交,
JTA(Java Transaction API)事務,是一種高層的,與實作無關的,與協議無關的API,應用程式和應用服務器可以使用JTA來訪問事務,JTA允許應用程式執行分布式事務處理——在兩個或多個網路計算機資源上訪問并且更新資料,這些資料可以分布在多個資料庫上,JDBC驅動程式的JTA支持極大地增強了資料訪問能力,
容器事務主要是J2EE應用服務器提供的,容器事務大多是基于JTA完成,這是一個基于JNDI的,相當復雜的API實作,
小結:
1、JDBC事務控制的局限性在一個資料庫連接內,但是其使用簡單,
2、JTA事務的功能強大,事務可以跨越多個資料庫或多個DAO,使用也比較復雜,
3、容器事務,主要指的是J2EE應用服務器提供的事務管理,局限于EJB應用使用,部分內容來自CSDN(侵聯刪)
4、下面哪個基于Unicode字符的輸出流?
Reader
Writer【正確】
InputStream
OutputStream
類名以stream結尾的都是位元組流;類名以reader或者writer結尾的都是字符流,
輸入輸出是相對于計算機記憶體為主體的,所以寫是輸出,讀是輸入,
5、執行緒池的狀態有哪些?
RUNNING:運行狀態,執行緒池創建好之后就會進入此狀態,如果不手動呼叫關閉方法,那么執行緒池在整個程式運行期間都是此狀態,
SHUTDOWN:關閉狀態,不再接受新任務提交,但是會將已保存在任務佇列中的任務處理完,
STOP:停止狀態,不再接受新任務提交,并且會中斷當前正在執行的任務、放棄任務佇列中已有的任務,
TIDYING:整理狀態,所有的任務都執行完畢后(也包括任務佇列中的任務執行完),當前執行緒池中的活動執行緒數降為 0 時的狀態,到此狀態之后,會呼叫執行緒池的 terminated() 方法,
TERMINATED:銷毀狀態,當執行完執行緒池的 terminated() 方法之后就會變為此狀態,
鏈接:https://juejin.cn/post/7078126482316328990
來源:稀土掘金

6、對于以下說法,哪些是正確的?
如果package陳述句存在,則必須出現在源檔案的非空白首行【正確】
如果import陳述句存在,則必須出現在源檔案的非空白首行【import是寫在package下】
如果main()方法存在,則必須出現在源檔案的非空白首行【放在任意類的任意一個地方】
如果在原檔案中宣告了一個public介面,則其名稱必須和源檔案名一致【正確】
7、關于synchronized和 java.util.concurrent.locks.Lock說法正確的是
Lock能完成synchronized所實作的所有功能【正確】
Lock有比synchronized更精確的執行緒語意和更好的性能【正確】
synchronized會自動釋放鎖,而Lock一定要求程式員手工釋放finally【正確】
synchronized和Lock釋放鎖必須在finally從句中釋放【僅Lock】
8、javax.Servlet的包中,屬于類的是?
Servlet【介面】
GenericServlet【GenericServlet是Servlet介面的實作類,但它是一個抽象類,唯一的抽象方法是service()方法】
ServletException【類】
ServletContext【ServletContext介面是一個Servlet的環境物件,Servlet引擎通過該物件向Servlet提供環境資訊,】
9、執行緒阻塞方式?
融合join【讓一個執行緒等待另一個執行緒完成才繼續執行,如A執行緒執行體中呼叫B執行緒的join()方法,則A執行緒被阻塞,直到B執行緒執行完為止,A才能繼續執行】
睡眠sleep【讓當前的正在執行的執行緒暫停指定的時間,并進入阻塞狀態,】
讓步yield【從運行狀態轉換到就緒狀態,CPU從就緒狀態執行緒佇列中只會選擇與該執行緒優先級相同或更高的執行緒執行,】
等待wait【wait用于Object物件,發出wait后,可以通過notify和notifyAll來喚醒執行緒,但是只能用于synchronized同步塊中】
sleep不出讓系統資源,wait是進入執行緒等待池等待,讓出系統資源,其他執行緒可以占用CPU,一般wait不會加時間限制,
好看請贊,養成習慣:) 本文來自博客園,作者:靠譜楊, 轉載請注明原文鏈接:https://www.cnblogs.com/rainbow-1/p/16732634.html
關于筆者: 我的主頁
文章同步51CTO,可以幫忙踩一踩 ~ 我的51CTO博客
更多日常分享盡在我的VX公眾號:小楊的挨踢IT生活
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509624.html
標籤:其他
上一篇:良品鋪子Java面試總結
