中級(jí)java軟件開發(fā)工程師筆試題

中級(jí)java軟件開發(fā)工程師筆試題

深圳達(dá)內(nèi)教育      2022-05-06 08:07:01     46

中級(jí)java軟件開發(fā)工程師筆試題,⒈ webservice是什么?webservice是一種跨編程語(yǔ)言和跨操作系統(tǒng)的遠(yuǎn)程調(diào)用技術(shù),遵循SOPA/WSDL規(guī)范。⒉ springCloud是什么?sprin

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

⒈ webservice是什么?

webservice是一種跨編程語(yǔ)言和跨操作系統(tǒng)的遠(yuǎn)程調(diào)用技術(shù),遵循SOPA/WSDL規(guī)范。

⒉ springCloud是什么?

springcloud是一個(gè)微服務(wù)框架,并提供全套分布式系統(tǒng)解決方案。支持配置管理,熔斷機(jī)制,leader選舉,服務(wù)治理,分布式session,微代理,控制總線,智能路由,一次性token。

⒊ Java中堆和棧有什么不同?

每個(gè)線程都有自己的棧內(nèi)存,用于存儲(chǔ)本地變量,方法參數(shù)和棧調(diào)用,一個(gè)線程中存儲(chǔ)的變量對(duì)其它線程是不可見的。而堆是所有線程共享的一片公用內(nèi)存區(qū)域。對(duì)象都在堆里創(chuàng)建,為了提升效率線程會(huì)從堆中弄一個(gè)緩存到自己的棧,如果多個(gè)線程使用該變量就可能引發(fā)問題,這時(shí)volatile變量就可以發(fā)揮作用了,它要求線程從主存中讀取變量的值。

堆:(對(duì)象)

引用類型的變量,其內(nèi)存分配在堆上或者常量池(字符串常量、基本數(shù)據(jù)類型常量),需要通過new等方式來(lái)創(chuàng)建。

堆內(nèi)存主要作用是存放運(yùn)行時(shí)創(chuàng)建(new)的對(duì)象。

(主要用于存放對(duì)象,存取速度慢,可以運(yùn)行時(shí)動(dòng)態(tài)分配內(nèi)存,生存期不需要提前確定)

棧:(基本數(shù)據(jù)類型變量、對(duì)象的引用變量)

基本數(shù)據(jù)類型的變量(int、short、long、byte、float、double、boolean、char等)以及對(duì)象的引用變量,其內(nèi)存分配在棧上,變量出了作用域就會(huì)自動(dòng)釋放。

⒋ Spring的Scope有以下幾種,通過 Scope注解來(lái)實(shí)現(xiàn):

(1)Singleton:一個(gè)Spring容器中只有一個(gè)Bean的實(shí)例,此為Spring的默認(rèn)配置,全容器共享一個(gè)實(shí)例。

(2)Prototype:每次調(diào)用新建一個(gè)Bean實(shí)例。

(3)Request:Web項(xiàng)目中,給每一個(gè)http request新建一個(gè)Bean實(shí)例。

(4)Session:Web項(xiàng)目中,給每一個(gè)http session新建一個(gè)Bean實(shí)例。

(5)GlobalSession:這個(gè)只在portal應(yīng)用中有用,給每一個(gè)global http session新建一個(gè)Bean實(shí)例。

⒌ Spring事務(wù)傳播行為

所謂事務(wù)的傳播行為是指,如果在開始當(dāng)前事務(wù)之前,一個(gè)事務(wù)上下文已經(jīng)存在,此時(shí)有若干選項(xiàng)可以指定一個(gè)事務(wù)性方法的執(zhí)行行為。在TransactionDefinition定義中包括了如下幾個(gè)表示傳播行為的常量:

TransactionDefinition.PROPAGATION_REQUIRED:如果當(dāng)前存在事務(wù),則加入該事務(wù);如果當(dāng)前沒有事務(wù),則創(chuàng)建一個(gè)新的事務(wù)。這是默認(rèn)值。

TransactionDefinition.PROPAGATION_REQUIRES_NEW:創(chuàng)建一個(gè)新的事務(wù),如果當(dāng)前存在事務(wù),則把當(dāng)前事務(wù)掛起。

TransactionDefinition.PROPAGATION_SUPPORTS:如果當(dāng)前存在事務(wù),則加入該事務(wù);如果當(dāng)前沒有事務(wù),則以非事務(wù)的方式繼續(xù)運(yùn)行。

TransactionDefinition.PROPAGATION_NOT_SUPPORTED:以非事務(wù)方式運(yùn)行,如果當(dāng)前存在事務(wù),則把當(dāng)前事務(wù)掛起。

TransactionDefinition.PROPAGATION_NEVER:以非事務(wù)方式運(yùn)行,如果當(dāng)前存在事務(wù),則拋出異常。

TransactionDefinition.PROPAGATION_MANDATORY:如果當(dāng)前存在事務(wù),則加入該事務(wù);如果當(dāng)前沒有事務(wù),則拋出異常。

TransactionDefinition.PROPAGATION_NESTED:如果當(dāng)前存在事務(wù),則創(chuàng)建一個(gè)事務(wù)作為當(dāng)前事務(wù)的嵌套事務(wù)來(lái)運(yùn)行;如果當(dāng)前沒有事務(wù),則該取值等價(jià)于TransactionDefinition.PROPAGATION_REQUIRED。

⒍ Spring的聲明式事務(wù)管理力度是什么級(jí)別?

Struts2是類級(jí)別的,Spring是方法級(jí)別的

spring事務(wù)可以分為編程式事務(wù)和聲明式事務(wù)

⒎ spring MVC與struts2的區(qū)別:

(1)Struts2是類級(jí)別的攔截,一個(gè)類對(duì)應(yīng)一個(gè)request上下文,SpringMVC是方法級(jí)別的攔截

(2)SpringMVC的方法之間基本上獨(dú)立的,獨(dú)享request response數(shù)據(jù)

(3)由于Struts2需要針對(duì)每個(gè)request進(jìn)行封裝,把request,session等servlet生命周期的變量封裝成一個(gè)一個(gè)Map,供給每個(gè)Action使用,并保證線程安全,所以在原則上,是比較耗費(fèi)內(nèi)存的

(4)攔截器實(shí)現(xiàn)機(jī)制上,Struts2有以自己的interceptor機(jī)制,SpringMVC用的是獨(dú)立的AOP方式

(5)SpringMVC的入口是servlet,而Struts2是filter

(6)SpringMVC集成了Ajax

(7)SpringMVC驗(yàn)證支持JSR303,處理起來(lái)相對(duì)更加靈活方便,而Struts2驗(yàn)證比較繁瑣,感覺太煩亂

(8)Spring MVC和Spring是無(wú)縫的。從這個(gè)項(xiàng)目的管理和安全上也比Struts2高

(9)Struts2更加符合OOP的編程思想,SpringMVC就比較謹(jǐn)慎,在servlet上擴(kuò)展

(10)SpringMVC開發(fā)效率和性能高于Struts2

⒏ Spring框架中的核心思想包括什么?

主要思想是IOC控制反轉(zhuǎn),DI依賴注入,AOP面向切面

⒐ ArrayList和linkedList的大致區(qū)別如下:

(1)ArrayList是實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),linkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu)。

(2)對(duì)于隨機(jī)訪問get和set,ArrayList覺得優(yōu)于linkedList,因?yàn)閘inkedList要移動(dòng)指針。

(3)對(duì)于新增和刪除操作add和remove,LinedList比較占優(yōu)勢(shì),因?yàn)锳rrayList要移動(dòng)數(shù)據(jù)。

⒑ ArrayList,Vector主要區(qū)別為以下幾點(diǎn):

(1):Vector是線程安全的,源碼中有很多的synchronized可以看出,而ArrayList不是。導(dǎo)致Vector效率無(wú)法和ArrayList相比;

(2):ArrayList和Vector都采用線性連續(xù)存儲(chǔ)空間,當(dāng)存儲(chǔ)空間不足的時(shí)候,ArrayList默認(rèn)增加為原來(lái)的50%,Vector默認(rèn)增加為原來(lái)的一倍;

以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“中級(jí)java軟件開發(fā)工程師筆試題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

Java筆試題

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。