大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

第一部分 Java基礎(chǔ)
第二部分 Java進(jìn)階

Java mybatis面試題及答案

MyBatis專題

● 談一談你對(duì)ORM的理解?

對(duì)象關(guān)系映射(Object Relational Mapping,簡(jiǎn)稱ORM)是一種為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù)。 簡(jiǎn)單的說,ORM是通過使用描述對(duì)象和數(shù)據(jù)庫之間映射的元數(shù)據(jù),將java程序中的對(duì)象自動(dòng)持久化到關(guān)系數(shù)據(jù)庫中。當(dāng)然反過來也是可以的,例如將數(shù)據(jù)庫表當(dāng)中的記錄查詢出來,然后映射為Java程序中的Java對(duì)象。

● 在MyBatis中$和#的區(qū)別?

$進(jìn)行sql語句的拼接,#是專門給sql語句傳值的。$就是JDBC當(dāng)中的Statement,#就是JDBC當(dāng)中的PreparedStatement。$的這種方式使用時(shí)需要特別注意sql注入問題。

● 你對(duì)MyBatis的一級(jí)緩存和二級(jí)緩存有了解嗎,說一下?

Mybatis對(duì)緩存提供支持,但是在沒有配置的默認(rèn)情況下,它只開啟一級(jí)緩存,一級(jí)緩存只是相對(duì)于同一個(gè)SqlSession而言。所以在參數(shù)SQL完全一樣的情況下,我們使用同一個(gè)SqlSession對(duì)象調(diào)用一個(gè)Mapper方法,往往只執(zhí)行一次SQL,因?yàn)槭褂肧qlSession第一次查詢后,MyBatis會(huì)將其放在緩存中,以后再查詢的時(shí)候,如果沒有聲明需要刷新,并且緩存沒有超時(shí)的情況下,SqlSession都會(huì)取出當(dāng)前緩存的數(shù)據(jù),而不會(huì)再次發(fā)送SQL到數(shù)據(jù)庫。

MyBatis的二級(jí)緩存是Application級(jí)別的緩存,它可以提高對(duì)數(shù)據(jù)庫查詢的效率,以提高應(yīng)用的性能。SqlSessionFactory層面上的二級(jí)緩存默認(rèn)是不開啟的,二級(jí)緩存的開啟需要進(jìn)行配置,實(shí)現(xiàn)二級(jí)緩存的時(shí)候,MyBatis要求返回的POJO必須是可序列化的。 也就是要求實(shí)現(xiàn)Serializable接口,配置方法很簡(jiǎn)單,只需要在映射XML文件配置就可以開啟緩存了。

由于我們?cè)趯?shí)際的開發(fā)中目前都會(huì)使用第三方的緩存技術(shù),例如Redis,所以MyBatis這塊的二級(jí)緩存沒有太多的了解。

● MyBatis一對(duì)多你是怎么實(shí)現(xiàn)的?

有聯(lián)合查詢和嵌套查詢。聯(lián)合查詢是幾個(gè)表聯(lián)合查詢,只查詢一次,通過在resultMap里面配 置collection節(jié)點(diǎn)配置一對(duì)多的類就可以完成; 嵌套查詢是先查一個(gè)表,根據(jù)這個(gè)表里面的結(jié)果的外鍵id再去另外一個(gè)表里面查詢數(shù)據(jù),也是通過配置collection,但另外一個(gè)表的查詢通過select節(jié)點(diǎn)配置。

● MyBatis的parameterType怎么理解的?

parameterType屬性用來指定參數(shù)類型,parameterType屬性是專門用來給sql語句占位符#{}傳值的,底層原理使用了反射機(jī)制,#{}的大括號(hào)當(dāng)中需要提供實(shí)體類的屬性名,底層使用屬性名拼接get方法來獲取屬性值,將屬性值傳遞給sql語句。

● MyBatis的resultType是怎么理解的?

resultType用來指定結(jié)果集封裝的數(shù)據(jù)類型,當(dāng)一個(gè)select語句查詢之后得到結(jié)果集,結(jié)果集的列名需要和java實(shí)體類的屬性名一致,不一致的可以使用as關(guān)鍵字給列起別名,拿著列名拼接set方法,通過反射機(jī)制調(diào)用set方法給結(jié)果集對(duì)象的屬性賦值。

● MyBatis中resultMap用過嗎,它是干什么的?

在MyBatis當(dāng)中,查詢結(jié)果集被封裝為Java對(duì)象,可以通過resultType,也可以通過resultMap,在resultMap當(dāng)中描述了數(shù)據(jù)庫表的列與Java對(duì)象的屬性之間的對(duì)應(yīng)關(guān)系。在映射關(guān)系中,還可以通過resultMap的typeHandler設(shè)置實(shí)現(xiàn)查詢結(jié)果值的類型轉(zhuǎn)換。另外,最重要的是通過resultMap的子標(biāo)簽比如、等,可以實(shí)現(xiàn)一對(duì)一、一對(duì)多等的映射。

● MyBatis底層實(shí)現(xiàn)原理?

MyBatis是一個(gè)持久層框架,實(shí)現(xiàn)了ORM思想,可以將查詢的結(jié)果集自動(dòng)轉(zhuǎn)換成Java對(duì)象,也可以將Java對(duì)象轉(zhuǎn)換成一條數(shù)據(jù)插入到數(shù)據(jù)庫表當(dāng)中。

那么,查詢結(jié)果集是如何自動(dòng)轉(zhuǎn)換成Java對(duì)象的呢?實(shí)際上這里使用了反射機(jī)制,在配置文件中假設(shè)編寫了一條select語句,查詢之后,列名與屬性名要一一對(duì)應(yīng)(不對(duì)應(yīng)的可以采用給列起別名),然后每個(gè)列名前添加“set”,通過反射機(jī)制獲取set方法,然后再通過反射機(jī)制的method.invoke()來調(diào)用這個(gè)set方法,給Java對(duì)象的屬性賦值。這樣就完成了對(duì)象的封裝。

另外,Java對(duì)象是如何轉(zhuǎn)換成一條記錄插入到數(shù)據(jù)庫的呢?假設(shè)在配置文件中編寫了一條insert語句,那么這條語句需要的值從哪里來呢,在mybatis的mapper配置中有parameterType屬性,該屬性是專門給sql語句占位符傳值的,其實(shí)這里也是使用了反射機(jī)制,其中sql語句的占位符采用#{},其中大括號(hào)當(dāng)中需要提供java對(duì)象的屬性名,該屬性名和get進(jìn)行拼接得到get方法名,然后通過反射機(jī)制獲取該get方法,再通過method.invoke()來調(diào)用這個(gè)get方法,這樣就可以獲取到對(duì)應(yīng)的屬性值,然后傳入了。

其實(shí)MyBatis設(shè)計(jì)最牛的地方當(dāng)然是采用JDK動(dòng)態(tài)代理的方式生成DAO接口的實(shí)現(xiàn)類了。其中DAO接口中的每一個(gè)方法名對(duì)應(yīng)sql語句的id。DAO接口中的方法不允許重載,因?yàn)閕d是不允許重復(fù)的。以上大概就是我了解的MyBatis實(shí)現(xiàn)原理。

● 談?wù)凪yBatis和Hibernate的區(qū)別?

Hibernate屬于全自動(dòng)ORM映射框架,使用Hibernate查詢關(guān)聯(lián)對(duì)象或者關(guān)聯(lián)集合對(duì)象時(shí),可以根據(jù)對(duì)象關(guān)系模型直接獲取,所以它是全自動(dòng)的。而Mybatis在查詢關(guān)聯(lián)對(duì)象或關(guān)聯(lián)集合對(duì)象時(shí),需要手動(dòng)編寫sql來完成,所以,稱之為半自動(dòng)ORM映射工具。

也正因?yàn)镸yBatis的sql語句由程序員自己編寫,所以sql更容易優(yōu)化,這也是目前互聯(lián)網(wǎng)公司使用MyBatis較多的重要原因。

● MyBatis中除了之外你還用過哪些標(biāo)簽?

還有很多其他的標(biāo)簽,、、、、,加上動(dòng)態(tài)sql的9個(gè)標(biāo)簽,trim|where|set|foreach|if|choose|when|otherwise|bind等,其中為sql片段標(biāo)簽,通過標(biāo)簽引入sql片段,為不支持自增的主鍵生成策略標(biāo)簽。

● 在MyBatis當(dāng)中,通常一個(gè)Mapper映射文件,都會(huì)寫一個(gè)Dao接口與之對(duì)應(yīng),請(qǐng)問,這個(gè)Dao接口的工作原理是什么?

Dao接口的工作原理是JDK動(dòng)態(tài)代理,Mybatis運(yùn)行時(shí)會(huì)使用JDK動(dòng)態(tài)代理為Dao接口生成代理proxy對(duì)象,代理對(duì)象proxy會(huì)攔截接口方法,轉(zhuǎn)而執(zhí)行MappedStatement所代表的sql,然后將sql執(zhí)行結(jié)果返回。

● MyBatis注解用過嗎,都有哪些?

到目前為止,我們?cè)陧?xiàng)目中還沒有使用過MyBatis的注解,因?yàn)镸yBatis最主要是編寫sql語句,sql語句涉及到后期優(yōu)化,可能會(huì)頻繁修改,所以我們一直都在使用配置文件的形式。

● Mybatis動(dòng)態(tài)sql是做什么的?都有哪些動(dòng)態(tài)sql?能簡(jiǎn)述一下動(dòng)態(tài)sql的執(zhí)行原理嗎?

Mybatis動(dòng)態(tài)sql可以讓我們?cè)赬ml映射文件內(nèi)以標(biāo)簽的形式編寫動(dòng)態(tài)sql,完成邏輯判斷和動(dòng)態(tài)拼接sql的功能,Mybatis提供了9種動(dòng)態(tài)sql標(biāo)簽trim|where|set|foreach|if|choose|when|otherwise|bind。其執(zhí)行原理為,使用OGNL從sql參數(shù)對(duì)象中計(jì)算表達(dá)式的值,根據(jù)表達(dá)式的值動(dòng)態(tài)拼接sql,以此來完成動(dòng)態(tài)sql的功能。

● Mybatis是如何將sql執(zhí)行結(jié)果封裝為目標(biāo)對(duì)象并返回的?

第一種是使用resultMap,逐一定義列名和對(duì)象屬性名之間的映射關(guān)系。 第二種是使用resultType,使用sql列的別名功能,將列別名書寫為對(duì)象屬性名,比如T_NAME AS NAME,對(duì)象屬性名一般是name,小寫,但是列名不區(qū)分大小寫,Mybatis會(huì)忽略列名大小寫,智能找到與之對(duì)應(yīng)對(duì)象屬性名,你甚至可以寫成T_NAME AS NaMe,Mybatis一樣可以正常工作。 有了列名與屬性名的映射關(guān)系后,Mybatis通過反射創(chuàng)建對(duì)象,同時(shí)使用反射給對(duì)象的屬性逐一賦值并返回,那些找不到映射關(guān)系的屬性,是無法完成賦值的。

● MyBatis接口Mapper中的方法能夠重載嗎?

不能。MyBatis使用package+Mapper+method全限名作為key,去xml內(nèi)尋找唯一sql來執(zhí)行的。類似:key=x.y.UserMapper.getUserById,那么,重載方法時(shí)將導(dǎo)致矛盾。對(duì)于Mapper接口,Mybatis禁止方法重載(overload)。

● 在MyBatis當(dāng)中,給sql語句傳值,你知道哪幾種方式?

通過POJO(Javabean)可以傳值,但要求#{}的大括號(hào)當(dāng)中提供POJO的屬性名。如果沒有合適的POJO,可以使用Map集合進(jìn)行傳值,但要求#{}的大括號(hào)當(dāng)中提供Map集合的key。如果DAO接口的方法參數(shù)有多個(gè),并且數(shù)量不多,而且每個(gè)都是簡(jiǎn)單類型,也可以通過#{arg0}、#{arg1}的方式傳參。    

Spring專題

● 談?wù)勀銓?duì)Spring框架的理解?

● Spring IoC的理解以及實(shí)現(xiàn)原理?

● Spring AOP的理解以及實(shí)現(xiàn)原理?

● Spring是如何進(jìn)行事務(wù)管理的?

事務(wù)就是對(duì)一系列的數(shù)據(jù)庫操作(比如插入多條數(shù)據(jù))進(jìn)行統(tǒng)一的提交或回滾操作,如果插入成功,那么一起成功,如果中間有一條出現(xiàn)異常,那么回滾之前的所有操作。這樣可以防止出現(xiàn)臟數(shù)據(jù),防止數(shù)據(jù)庫數(shù)據(jù)出現(xiàn)問題。開發(fā)中為了避免這種情況一般都會(huì)進(jìn)行事務(wù)管理。 Spring的聲明式事務(wù)通常是指在配置文件中對(duì)事務(wù)進(jìn)行配置聲明,其中包括了很多聲明屬性,它是通過Spring Proxy幫你做代理,自己不用額外的寫代碼,只要在Spring配置文件中聲明即可;通常用在數(shù)據(jù)庫的操作里面; 編程式事務(wù)就是指通過硬編碼的方式做事務(wù)處理,這種處理方式需要寫代碼,事務(wù)中的邏輯可以自己定制;可以是數(shù)據(jù)庫的東東,也可以是其他的操作。 Spring中也有自己的事務(wù)管理機(jī)制,一般是使用TransactionMananger進(jìn)行管理,可以通過Spring的注入來使用此功能。

● Spring事務(wù)的傳播特性有了解嗎?

● Spring常用注解說幾個(gè)?

● @Autowired 與@Resource的區(qū)別?

● IoC和DI的關(guān)系?

● 解釋Spring支持的幾種bean的作用域,怎么配置?

● 依賴注入的實(shí)現(xiàn)方式包括哪些?

● 說一下Spring Bean的生命周期?

● 什么是Spring的自動(dòng)裝配機(jī)制,包括哪些?

● 在Spring中怎么啟用注解? 使用 配置。

● Spring支持的事務(wù)管理類型有哪些?

● Spring AOP中什么是切面?

● Spring AOP中什么是關(guān)注點(diǎn)?

 ●Spring AOP中什么是通知,包括哪些?

● Spring AOP中什么是切入點(diǎn)?

● Spring AOP中什么是連接點(diǎn)?

● Spring AOP中什么是目標(biāo)對(duì)象?

● Spring AOP中什么是代理對(duì)象?

● Spring AOP中什么是織入?

● 你在實(shí)際開發(fā)中使用Spring AOP干什么了?

● Spring框架中的單例bean是否是線程安全的?

● Spring框架中BeanFactory和ApplicationContext有什么區(qū)別?  

SpringMVC專題

● 說一下SpringMVC的執(zhí)行流程?

(1)用戶發(fā)送請(qǐng)求至前端控制器DispatcherServlet;

(2) DispatcherServlet收到請(qǐng)求后,調(diào)用HandlerMapping處理器映射器,請(qǐng)求獲取Handle;

(3)處理器映射器根據(jù)請(qǐng)求url找到具體的處理器,生成處理器對(duì)象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet;

(4)DispatcherServlet 調(diào)用 HandlerAdapter處理器適配器;

(5)HandlerAdapter 經(jīng)過適配調(diào)用 具體處理器(Handler,也叫后端控制器);

(6)Handler執(zhí)行完成返回ModelAndView;

(7)HandlerAdapter將Handler執(zhí)行結(jié)果ModelAndView返回給DispatcherServlet;

(8)DispatcherServlet將ModelAndView傳給ViewResolver視圖解析器進(jìn)行解析;

(9)ViewResolver解析后返回具體View;

(10)DispatcherServlet對(duì)View進(jìn)行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)

(11)DispatcherServlet響應(yīng)用戶。  

● 說一下SpringMVC框架的理解?

Spring MVC是一個(gè)基于Java實(shí)現(xiàn)了MVC架構(gòu)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架,通過把Model,View,Controller分離,將web層職能分工(解耦合),把復(fù)雜的web應(yīng)用分成邏輯清晰的幾部分,簡(jiǎn)化開發(fā),減少出錯(cuò),方便組內(nèi)開發(fā)人員之間的配合。

● SpringMVC常用注解?

@RequestMapping:用于處理請(qǐng)求地址映射,可以作用于類和方法上。

@RequestParam:用于獲取傳入?yún)?shù)的值 @RequestBody:將客戶端請(qǐng)求過來的json轉(zhuǎn)成java對(duì)象 @RestController:@Controller+ @ResponseBody @GetMapping@DeleteMapping@PostMapping@PutMapping

@PathViriable:用于定義路徑參數(shù)值 @ResponseBody:作用于方法上,可以將整個(gè)返回結(jié)果以某種格式返回,如json或xml格式。

@ModelAttribute:用于把參數(shù)保存到model中,可以注解方法或參數(shù),注解在方法上的時(shí)候,該方法將在處理器方法執(zhí)行之前執(zhí)行,然后把返回的對(duì)象存放在 session(前提時(shí)要有@SessionAttributes注解) 或模型屬性中,@ModelAttribute(“attributeName”) 在標(biāo)記方法的時(shí)候指定,若未指定,則使用返回類型的類名稱(首字母小寫)作為屬性名稱。

● SpringMVC的控制器是不是單例,如果是,有什么問題,怎么解決?

是單例,所以在多線程訪問的時(shí)候有線程安全問題,不要用同步,會(huì)影響性能的,解決方案是在控制器里面不能寫字段。

● 談?wù)勀銓?duì)RESTful的理解?

一種軟件架構(gòu)風(fēng)格、設(shè)計(jì)風(fēng)格,而不是標(biāo)準(zhǔn),只是提供了一組設(shè)計(jì)原則和約束條件。它主要用于客戶端和服務(wù)器交互類的軟件。基于這個(gè)風(fēng)格設(shè)計(jì)的軟件可以更簡(jiǎn)潔,更有層次,更易于實(shí)現(xiàn)緩存等機(jī)制。 REST 指的是一組架構(gòu)約束條件和原則。滿足這些約束條件和原則的應(yīng)用程序或設(shè)計(jì)就是 RESTful。 REST被翻譯為“表現(xiàn)層狀態(tài)轉(zhuǎn)換”,具體來說,就是HTTP協(xié)議里面,四個(gè)表示操作方式的動(dòng)詞:GET、POST、PUT、DELETE。它們分別對(duì)應(yīng)四種基本操作:GET用來獲取資源,POST用來新建資源(也可以用于更新資源),PUT用來更新資源,DELETE用來刪除資源。使用REST編程風(fēng)格要求URL中不允許出現(xiàn)動(dòng)詞。

● 如何解決POST請(qǐng)求中文亂碼問題,GET的又如何處理呢?

POST亂碼:web.xml文件中添加以下配置 CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 CharacterEncodingFilter /* GET亂碼,修改Tomcat服務(wù)器server.xml文件:  

并發(fā)編程專題

● 你進(jìn)行過壓測(cè)嗎,怎么進(jìn)行的?  

Redis專題

●Redis你在項(xiàng)目中哪里使用了,用來解決什么問題?

●Redis支持哪些數(shù)據(jù)類型?

● 什么是Redis持久化?Redis有哪幾種持久化方式??jī)?yōu)缺點(diǎn)是什么?

● 什么是緩存穿透,如何避免?什么是緩存雪崩,如何避免?

● 數(shù)據(jù)庫和Redis緩存數(shù)據(jù)一致性問題,你是怎么解決的?

● Redis有哪幾種數(shù)據(jù)淘汰策略?

● Redis有哪些適合的場(chǎng)景?

(1)會(huì)話緩存(Session Cache)最常用的一種使用Redis的情景是會(huì)話緩存(session cache)。 用Redis緩存會(huì)話比其他存儲(chǔ)(如Memcached)的優(yōu)勢(shì)在于:Redis提供持久化。當(dāng)維護(hù)一個(gè)不是嚴(yán)格要求一致性的緩存時(shí),如果用戶的購物車信息全部丟失,大部分人都會(huì)不高興的,現(xiàn)在,他們還會(huì)這樣嗎?幸運(yùn)的是,隨著 Redis 這些年的改進(jìn),很容易找到怎么恰當(dāng)?shù)氖褂肦edis來緩存會(huì)話的文檔。甚至廣為人知的商業(yè)平臺(tái)Magento也提供Redis的插件。

(2)全頁緩存(FPC)除基本的會(huì)話token之外,Redis還提供很簡(jiǎn)便的FPC平臺(tái)。 回到一致性問題,即使重啟了Redis實(shí)例,因?yàn)橛写疟P的持久化,用戶也不會(huì)看到頁面加載速度的下降,這是一個(gè)極大改進(jìn),類似PHP本地FPC。再次以Magento為例,Magento提供一個(gè)插件來使用Redis作為全頁緩存后端。此外,對(duì)WordPress的用戶來說,Pantheon有一個(gè)非常好的插件 wp-redis,這個(gè)插件能幫助你以最快速度加載你曾瀏覽過的頁面。

(3)隊(duì)列Reids在內(nèi)存存儲(chǔ)引擎領(lǐng)域的一大優(yōu)點(diǎn)是提供 list 和 set 操作,這使得Redis能作為一個(gè)很好的消息隊(duì)列平臺(tái)來使用。 Redis作為隊(duì)列使用的操作,就類似于本地程序語言(如Python)對(duì) list 的 push/pop 操作。如果你快速的在Google中搜索“Redis queues”,你馬上就能找到大量的開源項(xiàng)目,這些項(xiàng)目的目的就是利用Redis創(chuàng)建非常好的后端工具,以滿足各種隊(duì)列需求。例如,Celery有一個(gè)后臺(tái)就是使用Redis作為broker,你可以從這里去查看。

(4)排行榜/計(jì)數(shù)器Redis在內(nèi)存中對(duì)數(shù)字進(jìn)行遞增或遞減的操作實(shí)現(xiàn)的非常好。 集合(Set)和有序集合(Sorted Set)也使得我們?cè)趫?zhí)行這些操作的時(shí)候變的非常簡(jiǎn)單,Redis只是正好提供了這兩種數(shù)據(jù)結(jié)構(gòu)。所以,我們要從排序集合中獲取到排名最靠前的10個(gè)用戶–我們稱之為“user_scores”,我們只需要像下面一樣執(zhí)行即可:當(dāng)然,這是假定你是根據(jù)你用戶的分?jǐn)?shù)做遞增的排序。如果你想返回用戶及用戶的分?jǐn)?shù),你需要這樣執(zhí)行:ZRANGE user_scores 0 10 WITHSCORESAgora Games就是一個(gè)很好的例子,用Ruby實(shí)現(xiàn)的,它的排行榜就是使用Redis來存儲(chǔ)數(shù)據(jù)的,你可以在這里看到。

(5)發(fā)布/訂閱最后(但肯定不是最不重要的)是Redis的發(fā)布/訂閱功能。 發(fā)布/訂閱的使用場(chǎng)景確實(shí)非常多。我已看見人們?cè)谏缃痪W(wǎng)絡(luò)連接中使用,還可作為基于發(fā)布/訂閱的腳本觸發(fā)器,甚至用Redis的發(fā)布/訂閱功能來建立聊天系統(tǒng)!    

Dubbo專題

● 可以說一下你對(duì)Dubbo的理解嗎,什么是Dubbo?

Dubbo是阿里巴巴開源的基于 Java 的高性能 RPC 分布式服務(wù)框架,現(xiàn)已成為 Apache 基金會(huì)孵化項(xiàng)目。 因?yàn)槭前⒗镩_源項(xiàng)目,國內(nèi)很多互聯(lián)網(wǎng)公司都在用,已經(jīng)經(jīng)過很多線上考驗(yàn)。內(nèi)部使用了 Netty、Zookeeper,保證了高性能高可用性。 使用 Dubbo 可以將核心業(yè)務(wù)抽取出來,作為獨(dú)立的服務(wù),逐漸形成穩(wěn)定的服務(wù)中心,可用于提高業(yè)務(wù)復(fù)用靈活擴(kuò)展,使前端應(yīng)用能更快速的響應(yīng)多變的市場(chǎng)需求。 最重要的一點(diǎn)是,分布式架構(gòu)可以承受更大規(guī)模的并發(fā)流量。比如某個(gè)服務(wù)并發(fā)量很大的話,可以針對(duì)此服務(wù)部署多臺(tái)服務(wù)器提高性能。

● Dubbo的實(shí)現(xiàn)原理?

● 你對(duì)zookeeper是怎么理解的,為什么要用它?

● 據(jù)你了解,zookeeper都能干什么?

● Dubbo支持負(fù)載均衡嗎,有哪些策略?

● Dubbo超時(shí)重試之后導(dǎo)致的數(shù)據(jù)重復(fù)怎么解決?

對(duì)于核心的服務(wù)中心,去除dubbo超時(shí)重試機(jī)制,并重新評(píng)估設(shè)置超時(shí)時(shí)間。業(yè)務(wù)處理代碼必須放在服務(wù)端,客戶端只做參數(shù)驗(yàn)證和服務(wù)調(diào)用,不涉及業(yè)務(wù)流程處理。

● RPC是什么,你知道哪些RPC框架?

全部教程
主站蜘蛛池模板: 免费人成在线观看69式小视频 | 伊人色综合久久 | 四虎影视2022入口网址 | 亚色在线视频 | 久久精品一区二区三区不卡 | 国产精品999 | jiucao视频在线观看 | 亚洲精品一区二区久久 | 私人影院免费 | 亚洲热热久久九九精品 | 久久久免费观看视频 | 狠狠色丁香婷婷综合激情 | 国产精品久久久久久久久免费观看 | 国产精品400部自产在线观看 | 亚洲激情区 | 亚洲国产精久久小蝌蚪 | 小视频国产 | 国产精品免费一区二区区 | 99精品视频不卡在线观看免费 | 国产偷国产偷在线高清 | 亚洲欧美一区二区三区麻豆 | 日本一级大黄毛片免费基地 | 青青青手机视频 | 亚洲国产成a人v在线 | 国产精品视频免费 | 日本不卡三区 | 99精品视频免费 | 国产 色| 日本一级毛片 | 日韩一区二区三 | 欧美日本一级在线播放 | 日本不卡免费一区 | 特黄未满14周岁毛片 | 五月激情综合婷婷 | 青青青草视频在线观看 | 亚洲欧洲中文字幕 | 国产成人精品2021欧美日韩 | 狠狠躁天天躁夜夜躁婷婷 | 性欧美videos高清喷水 | 波多野结衣国产一区二区三区 | 国产亚洲精aa在线观看香蕉 |