超時空大決戰

1.spring springboot springcloud的區別css

spring框架爲開發java應用程序提供基礎架構支持,如:springJDBC,springMVC,springAOPhtml

springboot:消除了設置spring應用程序所需的xml配置,快速開發框架,經過maven依賴的繼承方式,內置http服務器java

springcloud:是微服務框架的有序集合,springcloud依賴springboot框架實現微服務開發,rpc遠程調用技術,springboot的web組件默認集成了springmvc,能夠實現http+json的輕量級傳輸mysql

 

2.springboot實現了什麼減小配置linux

3.springboot中有幾種事務程序員

4.索引的類型,非主鍵索引細分web

主鍵索引:數據庫主鍵列使用的就是主鍵索引,一張表只有一個主鍵,且主鍵不能爲null,部重複,在innodb表中,當沒有顯示指定表的主鍵時,innodb會自動檢測表中是否有惟一索引的字段,有則設置默認主鍵,不然會自動建立自增主鍵ajax

二級索引(輔助索引),二級索引有惟一索引,普通索引,前綴索引算法

惟一索引:容許數據爲null,一張表容許多個惟一索引spring

普通索引:容許數據重複和null

前綴索引:適用於字符串的索引

全文索引:檢索大文本數據中的關鍵字信息

彙集索引與非彙集索引

彙集索引即索引結構與數據存放一塊兒的索引,主鍵索引屬於彙集索引,優勢:查詢速度快,缺點:依賴有序數據,更新代價大

非彙集索引:索引結構和數據分開存放的索引,二級索引 優勢:更新代價比彙集索引要小,缺點:依賴有序數據,可能會二次查詢(回表)

覆蓋索引,若須要查詢的字段正好是索引的字段,就直接根據索引查到數據,無需回表查詢

5.索引的數據結構

6.運行時數據區分爲那幾塊

程序計數器,虛擬機棧,本地方法棧,堆,方法區

 

7.方法私有變量存在哪

8.年輕代垃圾回收算法

9.對java中數據流的理解,做用分類,適用場合

10.web開發基礎,servlet,jsp

servlet的生命週期:web容器加載servlet,聲明週期開始,調用servlet的init()方法進行servlet的初始化,經過調用service方法()實現根據請求的不一樣調用do方法,結束服務,web調用servlet的destory()方法

11.web發送請求後,請求和整個響應流程

域名解析-與服務器創建鏈接(3次握手)-發起http請求-服務器響應http請求,瀏覽器得到html代碼-瀏覽器解析html代碼,並請求html代碼中的資源(js,css,圖片)-瀏覽器對頁面進行渲染

12.經常使用請求方式,get和post區別

get、post是http協議發送請求的兩種方法,都是tcp鏈接,但因爲http協議的規定和瀏覽器的限定,在應用中產生區別,

get產生一個數據包,post產生兩個tcp數據包,

get請求只能進行url編碼,而post支持多種編碼

get請求參數會完整保留在瀏覽器歷史記錄裏,而post中參數不會保留

get在url傳輸的參數是由長度限制,而post沒有

get只接受ascii字符,post沒有限制

get將參數暴露在url中,更不安全

get經過url傳遞,post放在request body中

get回退是瀏覽器會從以前緩存拿結果,post每次調用建立新的資源

13.請求那幾部分組成,響應由那幾部分組成

http請求報文由請求行,請求頭,空行,請求數據組成

請求行:請求方法(get,post,head,put),url,http協議版本

請求頭:產生請求的瀏覽器類型,客戶端可識別的內容類型列表,主機地址

空行:發送回車符和換行符,通知服務器下再也不有請求頭

請求數據:用戶提交的查詢信息,在post方法中數據以keyvalue形式發送請求

http響應由響應消息行,響應消息頭,響應正文

響應消息行:包含協議、版本,響應狀態碼,對響應狀態碼的描述

響應消息頭:服務器與客戶端通訊的暗碼,告訴客戶端執行某些操做

響應消息正文

14.maven的理解

maven是java的自動化構建工具,1.約定的目錄結構,2.pom,構建過程一切設置都在這個文件中進行配置,3,座標(groupid,artfactid,version)肯定一個maven工程4.倉庫:本地倉庫,遠程倉庫,5依賴,maven解析依賴信息從本地倉庫查找被依賴的jar包,6.聲明週期:清理,編譯,測試,打包,安裝,部署,生成項目報告,發佈站點,7.繼承,聚合

 

15.cookie和session

存儲位置,cookie數據信息存放在客戶端瀏覽器上,session存放在服務器上

存儲容量,單個cookie保存<=4kb,站點最多保存20個cookie,session沒有上限,但保證服務器端性能,設置session刪除機制

存儲方法:cookie只保存ascii字符串,經過編碼方式存儲unicode字符或二進制數據,session能存儲任何類型數據

隱私:cookie對服務端可見,能夠進行cookie欺騙,不安全,session在服務器上

有效期:cookie設置屬性,達到長期有效,session不能長期有效

服務器壓力,每一個用戶都會產生一個session,若併發訪問十分多,會耗費大量內存

跨域支持,cookie支持跨域名訪問,session不支持

16.轉發和重定向

17.json數據格式和數據傳遞

json有兩種格式:①對象格式:{"key1":obj,"key2":obj,"key3":obj...}、②數組/集合格式:[obj,obj,obj...]。

 

 

 在服務器端對象的轉換過程可使用官方提供的API,JSONObject和JSONArray分別爲對象和數組的轉換類型

當JSON經傳輸到達客戶端時,須要完成JSON到JavaScript對象的轉換,

若是使用JS原生的方法進行轉換的話,可使用eval()方法,但須要在JSON的先後鏈接上左右圓括號

 

 

 

 

18.程序的同步和異步

同步:
  主機A發送數據的時候,主機B必須等待接收,處於阻塞狀態。

異步:
  主機A發送數據的時候,主機B無須等待接收,主機B要得到數據就從緩存裏取,就比如別人給你發郵件同樣。

19.ajax

20.動態代理

21.紅黑樹爲何查找快

22.object有哪些方法

23.數據庫處理字符串的方法

concat(str1,str2)鏈接字符串函數

convert(str,signed)將str轉化爲數字類型

convert(datatype,getdate(),1)將數據類型datetime轉爲字符串

substring_index(str,分隔符,n)n表明第幾個分隔符,n爲正截取左邊,n爲負,截取右

substring(str,起始下標,長度)截取字符串

 

24.linux經常使用的命令

25.mapper文件怎麼對應到dao層

26.mybatis標籤類型,怎麼使用,結果集怎麼用,$和#的用法

 

 

resulttype返回類型

1.返回通常數據類型,像string,hashmap

2.返回javabean類型

3.返回list類型 注意這裏的 resultType 返回值類型是集合內存儲數據的類型,不是 'list'

4.返回map類型,reslutype填map

Mybatis 的Mapper.xml語句中parameterType向SQL語句傳參有兩種方式:#{}和${}

咱們常用的是#{},通常解說是由於這種方式能夠防止SQL注入,簡單的說#{}這種方式SQL語句是通過預編譯的,

它是把#{}中間的參數轉義成字符串,舉個例子:

select * from student where student_name = #{name} 

預編譯後,會動態解析成一個參數標記符?:

select * from student where student_name = ?

而使用${}在動態解析時候,會傳入參數字符串

select * from student where student_name = 'lyrics'

總結:

#{} 這種取值是編譯好SQL語句再取值
${} 這種是取值之後再去編譯SQL語句

#{}方式可以很大程度防止sql注入。
$方式沒法防止Sql注入。
$方式通常用於傳入數據庫對象,例如傳入表名.
通常能用#的就別用$.

27.select from where groupby orderby執行順序

(7) SELECT (8) DISTINCT <select_list> (1) FROM <left_table> (3) <join_type> JOIN <right_table> (2) ON <join_condition> (4) WHERE <where_condition> (5) GROUP BY <group_by_list> (6) HAVING <having_condition> (9) ORDER BY <order_by_condition> (10) LIMIT <limit_number>
首先執行from,from對兩個表進行笛卡爾積,獲得虛擬表
執行on進行條件過濾
添加外部和,只有當outer join纔會發生,left outer join把左表做爲保留吧,左表數據所有查詢,若右表無對應數據,用null填充
執行where執行條件過濾
執行groupby對where的字句進行分組操做
執行having
執行select
執行distinct
執行orderby
執行limit分頁
https://blog.csdn.net/weixin_43907800/article/details/105374147

28.線程的interrupt方法

中斷線程,會設置該線程中斷狀態位,即設置爲true,線程會不時檢查這個中斷標誌位,以判斷線程是否應該被中斷

判斷線程釋放被中斷,使用thread.currentThread().isinterrupted()方法(不會馬上清除中斷標示位,不會中斷標設置爲false),而不要使用thread.interrupt(會將中斷標示位清除,從新設置false)

如何中斷線程

若線程處於阻塞狀態,則在線程組檢查中斷表示若是發現中斷表示爲true,則會在調用出拋出interruptedException異常,拋出異常後當即將線程中斷位標識清除,從新設置爲false,拋出異常是爲了線程從阻塞狀態醒過來,並在結束線程前讓程序員有足夠的時間來處理中斷請求

29.mysql中分頁怎麼作

a.limit關鍵字

select * from table  limit m,n

m表明記錄開始的index,從0開始,n指從m+1條開始,取n條

b.主鍵索引或惟一索引加limit實現

假設每頁10條,SELECT * FROM 表名稱 WHERE id_pk > (pageNum*10) LIMIT M

c.基於索引再排序

SELECT * FROM 表名稱 WHERE id_pk > (pageNum*10) ORDER BY id_pk ASC LIMIT M

30.aop和ioc

32.頭插法和尾插法

33.髒讀幻讀

34.try和catch中有return時,finally裏面的語句會被執行嗎

若是程序是從try代碼塊或者catch代碼塊中返回時,finally中的代碼總會執行。並且finally語句在return語句執行以後return返回以前執行的。當finally有返回值時,會直接返回。不會再去返回try或者catch中的返回值。

相關文章
相關標籤/搜索