新東方面試知識點記錄

3.spring mvc 怎么接受http ?post 方式提交過來的xml數據?servlet中怎么接受?

?@RequestMapping(value="/jsonPrase",?headers = {"content-type=application/json","content-type=application/xml"})?
?? ???? @ResponseBody?
?? ???? public Object addUser(@RequestBody MsgTip tip) {?

4.8個常用的http狀態嗎及其含義

?成功2××? ?? ?? ? 成功處理了請求的狀態碼。
200? ?? ?? ?? ?? ?? ? 服務器已成功處理了請求并提供了請求的網頁。
204? ?? ?? ?? ?? ?? ? 服務器成功處理了請求,但沒有返回任何內容。? ?? ?? ?? ?? ?? ?? ?? ??
重定向3××? ?? ? 每次請求中使用重定向不要超過 5 次。
301? ?? ?? ?? ?? ?? ? 請求的網頁已永久移動到新位置。當URLs發生變化時,使用301代碼。搜索引擎索引中保存新的URL。
302? ?? ?? ?? ?? ?? ? 請求的網頁臨時移動到新位置。搜索引擎索引中保存原來的URL。
304? ?? ?? ?? ?? ?? ? 如果網頁自請求者上次請求后沒有更新,則用304代碼告訴搜索引擎機器人,可節省帶寬和開銷。
客戶端錯誤4××??表示請求可能出錯,妨礙了服務器的處理。
400? ?? ?? ?? ?? ?? ???服務器不理解請求的語法。
403? ?? ?? ?? ?? ?? ???服務器拒絕請求。
404? ?? ?? ?? ?? ?? ???服務器找不到請求的網頁。服務器上不存在的網頁經常會返回此代碼。
410? ?? ?? ?? ?? ?? ???請求的資源永久刪除后,服務器返回此響應。該代碼與 404(未找到)代碼相似,但在資源以前存在而現在不存在的情況下,有時用來替代404 代碼。如果資源已永久刪除,應當使用 301 指定資源的新位置。
服務器錯誤5××? ?表示服務器在處理請求時發生內部錯誤。這些錯誤可能是服務器本身的錯誤,而不是請求出錯。
500? ?? ?? ?? ?? ?? ?? ?服務器遇到錯誤,無法完成請求。
503? ?? ?? ?? ?? ?? ?? ?服務器目前無法使用(由于超載或停機維護)。通常,這只是暫時狀態。

5.說說對java nio的理解

Java NIO 由以下幾個核心部分組成:

  • Channels
  • Buffers
  • Selectors

6.mysql 的jdbc driver 是怎么注冊到DriverManager中的

7.dubbo中異步調用怎么配置?怎么取消依賴服務的啟動時檢查?

<dubbo:reference?id="demoServicemy2"???interface="com.test.dubboser.ServiceDemo2"> ?

?????<dubbo:method?name="getPerson"?async="true"?/> ?

</dubbo:reference> ?

關閉某個服務的啟動時檢查:(沒有提供者時報錯)
<dubbo:reference interface="com.foo.BarService" check="false" />
關閉所有服務的啟動時檢查:(沒有提供者時報錯)
<dubbo:consumer check="false" />
關閉注冊中心啟動時檢查:(注冊訂閱失敗時報錯)
<dubbo:registry check="false" />

?

8.怎么通過zookerper 實現leader選擇?請寫出步驟

具體步驟

1、客戶端連接時,在指定的目錄(這里假定為"/leader")創建一個EPHEMERAL_SEQUENTIAL的節點,把內網的IP數據存入創建節點。
2、獲取目錄的子點節,并取得序列號最小的節點,我們把這個節點設置為leader。當此節點被刪除時,證明leader斷線。
3、其它機器監聽leader節點,當leader節點的刪除時,再取目錄的最小子點節作為leader。

9.maven profile怎么配置?引用場景是什么?

? ?mvn clean package -Pdev即構建出生產環境需要的war包

10.MAVEN中怎么實現在發布時候編譯測試代碼?但不執行測試用例?

在編譯的時候,加上"-Dmaven.test.skip=true"參數就好了

如果是eclipse執行maven命令,可以配置該命令:Run as->Run Configurations->勾上Skip Tests

11.git中怎么修改最后一次提交點的說明信息

11.linux中怎么殺死占用80端口的進程

第一步,輸入命令:netstat -tlnp
列出系統里面監聽網絡的TCP連接和相應的進程PID。
參數說明:
-t:表示列出TCP連接
-l:表示列出正在網絡監聽的服務
-n:表示以端口號來顯示
-p:表示列出進程PID
kill -9 某個PID

12.kill 1234 ?kill -0 1234 kill -3 1234 kill -9 1234 區別

kill 殺死進程

命令格式 kill -3 pid

kill -3 pid)用來打印Java進程trace,并不會影響程序運行,不用擔心他把程序殺死了;

kill -10 pid可觸發進程進行一次強制GC。

kill?-0 pid 不發送任何信號,但是系統會進行錯誤檢查。
所以經常用來檢查一個進程是否存在,存在返回0;不存在返回1 ?

kill -9強行殺死進程

13 。前序 中序 然后答后序 ? 前序是:根左右 中序: 左根右 后序:左右根

14.redis注意事項redis擊穿和redis高并發處理

緩存使用.png

緩存擊穿:
  查詢一個數據庫中不存在的數據,比如商品詳情,查詢一個不存在的ID,每次都會訪問DB,如果有人惡意破壞,很可能直接對DB造成過大地壓力。

緩存擊穿的解決方案:
  當通過某一個key去查詢數據的時候,如果對應在數據庫中的數據都不存在,我們將此key對應的value設置為一個默認的值,比如“NULL”,并設置一個緩存的失效時間,這時在緩存失效之前,所有通過此key的訪問都被緩存擋住了。后面如果此key對應的數據在DB中存在時,緩存失效之后,通過此key再去訪問數據,就能拿到新的value了。

緩存失效:
  在高并發的環境下,如果此時key對應的緩存失效,此時有多個進程就會去同時去查詢DB,然后再去同時設置緩存。這個時候如果這個key是系統中的熱點key或者同時失效的數量比較多時,DB訪問量會瞬間增大,造成過大的壓力。

緩存失效的解決方案:

  • 將系統中key的緩存失效時間均勻地錯開,防止統一時間點有大量的key對應的緩存失效;
  • 重新設計緩存的使用方式,當我們通過key去查詢數據時,首先查詢緩存,如果此時緩存中查詢不到,就通過分布式鎖進行加鎖,取得鎖的進程查DB并設置緩存,然后解鎖;其他進程如果發現有鎖就等待,然后等解鎖后返回緩存數據或者再次查詢DB。

熱點key:
  緩存中的某些Key(可能對應用與某個促銷商品)對應的value存儲在集群中一臺機器,使得所有流量涌向同一機器,成為系統的瓶頸,該問題的挑戰在于它無法通過增加機器容量來解決。

熱點key的解決方案:

    • 客戶端熱點key緩存:將熱點key對應value并緩存在客戶端本地,并且設置一個失效時間。對于每次讀請求,將首先檢查key是否存在于本地緩存中,如果存在則直接返回,如果不存在再去訪問分布式緩存的機器。
    • 將熱點key分散為多個子key,然后存儲到緩存集群的不同機器上,這些子key對應的value都和熱點key是一樣的。當通過熱點key去查詢數據時,通過某種hash算法隨機選擇一個子key,然后再去訪問緩存機器,將熱點分散到了多個子key上。

15.JVM oom內存溢出怎么處理

? ?

三,常見內存溢出錯誤解決辦法

1,???OutOfMemoryError異常

除了程序計數器外,虛擬機內存的其他幾個運行時區域都有發生OutOfMemoryError(OOM)異常的可能,

Java Heap 溢出

一般的異常信息:java.lang.OutOfMemoryError:Java heap spacess

java堆用于存儲對象實例,我們只要不斷的創建對象,并且保證GC Roots到對象之間有可達路徑來避免垃圾回收機制清除這些對象,就會在對象數量達到最大堆容量限制后產生內存溢出異常。

出現這種異常,一般手段是先通過內存映像分析工具(如Eclipse Memory Analyzer)對dump出來的堆轉存快照進行分析,重點是確認內存中的對象是否是必要的,先分清是因為內存泄漏(Memory Leak)還是內存溢出(Memory Overflow)。

如果是內存泄漏,可進一步通過工具查看泄漏對象到GC Roots的引用鏈。于是就能找到泄漏對象時通過怎樣的路徑與GC Roots相關聯并導致垃圾收集器無法自動回收。

如果不存在泄漏,那就應該檢查虛擬機的參數(-Xmx與-Xms)的設置是否適當。

2,???虛擬機棧和本地方法棧溢出

如果線程請求的棧深度大于虛擬機所允許的最大深度,將拋出StackOverflowError異常。

如果虛擬機在擴展棧時無法申請到足夠的內存空間,則拋出OutOfMemoryError異常

這里需要注意當棧的大小越大可分配的線程數就越少。

3,???運行時常量池溢出

異常信息:java.lang.OutOfMemoryError:PermGen space

如果要向運行時常量池中添加內容,最簡單的做法就是使用String.intern()這個Native方法。該方法的作用是:如果池中已經包含一個等于此String的字符串,則返回代表池中這個字符串的String對象;否則,將此String對象包含的字符串添加到常量池中,并且返回此String對象的引用。由于常量池分配在方法區內,我們可以通過-XX:PermSize和-XX:MaxPermSize限制方法區的大小,從而間接限制其中常量池的容量。

4,???方法區溢出

方法區用于存放Class的相關信息,如類名、訪問修飾符、常量池、字段描述、方法描述等。

異常信息:java.lang.OutOfMemoryError:PermGen space

方法區溢出也是一種常見的內存溢出異常,一個類如果要被垃圾收集器回收,判定條件是很苛刻的。在經常動態生成大量Class的應用中,要特別注意這點。

?

16.cdn怎么加速和怎么緩存

動態內容分發與復制技術
? ? ??大家都知道,網站訪問響應速度取決于許多因素,如網絡的帶寬是否有瓶頸、傳輸途中的路由是否有阻塞和延遲、網站服務器的處理能力及訪問距離等。多數情況下,網站響應速度和訪問者與網站服務器之間的距離有密切的關系。如果訪問者和網站之間的距離過遠的話,它們之間的通信一樣需要經過重重的路由轉發和處理,網絡延誤不可避免。一個有效的方法就是利用內容分發與復制技術,將占網站主體的大部分靜態網頁、圖像和流媒體數據分發復制到各地的加速節點上。所以動態內容分發與復制技術也是CDN所需的一個主要技術。

緩存技術
? ? ? ?緩存技術已經不是一種新鮮技術。Web緩存服務通過幾種方式來改善用戶的響應時間,如代理緩存服務、透明代理緩存服務、使用重定向服務的透明代理緩存服務等。通過Web緩存服務,用戶訪問網頁時可以將廣域網的流量降至最低。對于公司內聯網用戶來說,這意味著將內容在本地緩存,而無須通過專用的廣域網來檢索網頁。對于Internet用戶來說,這意味著將內容存儲在他們的ISP的緩存器中,而無須通過Internet來檢索網頁。這樣無疑會提高用戶的訪問速度。CDN的核心作用正是提高網絡的訪問速度,所以,緩存技術將是CDN所采用的又一個主要技術。

17.分布式鎖

?

轉載于:https://www.cnblogs.com/lvgg/p/6835999.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392874.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392874.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392874.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

win10用計算機名訪問文件夾,win10系統提示你當前無權訪問該文件夾的解決方法【圖文教程】...

Win10系統下&#xff0c;我們在訪問或更改某些系統文件夾時&#xff0c;有時會遇到系統提示“你當前無權訪問該文件夾”的情況。那么&#xff0c;遇到這種情況的話&#xff0c;我們該怎么辦呢&#xff1f;接下來&#xff0c;小編就向大家分享win10系統提示“你當前無權訪問該文…

.Net Micro Framework研究—實現SideShow窗體界面

基于MF系統的Windows SideShow界面是非常炫的&#xff08;如下圖&#xff09;。既然微軟能用.Net Micro Framework實現這么棒的界面效果&#xff0c;我想我們也能做到。 &#xff08;SideShow模擬器界面和游戲程序中的右鍵菜單—注意菜單彈出后&#xff0c;其它的界面變暗了&am…

leetcode 344. 反轉字符串

編寫一個函數&#xff0c;其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 char[] 的形式給出。 不要給另外的數組分配額外的空間&#xff0c;你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題。 你可以假設數組中的所有字符都是 ASCII 碼表中的可打印字符。…

事件捕獲(capture)和冒泡事件(Bubble)

PS&#xff1a;這里是我從別人的博客中學習事件捕獲和冒泡是的總結&#xff0c;如果你也感興趣的話&#xff0c;建議你點擊鏈接查看原博客的內容&#xff0c;他們寫的都是很經典&#xff01; 對“捕獲”和“冒泡”這兩個概念&#xff0c;我想我們對冒泡更熟悉一些&…

gulp編譯css_如何用gulp縮小CSS

gulp編譯cssby Vinicius Gularte由Vinicius Gularte 如何用gulp縮小CSS (How to minify your CSS with gulp) In this article, Im going to show a simple way to automatically minify your CSS files using gulp. ?在本文中&#xff0c;我將展示一種使用gulp自動縮小CSS文…

線段樹(區間更改,區間查最值)模板

線段樹(區間更改,區間查最值)模板 主要重在理解線段樹,理解了怎么改都可以,還有以后不要直接抄模板,要寫出自己想的一份代碼 &代碼&#xff1a; #include <cstdio> #include <bitset> #include <iostream> #include <set> #include <cmath>…

Unity3D項目開發一點經驗

我們主要使用3dsmax2010進行制作&#xff0c;輸出FBX的類型導入Unity3D中。默認情況下&#xff0c;3dsmax8可以和U3D軟件直接融合&#xff0c;自動轉換為FBX物體。 注意事項如下&#xff1a; 1.面數控制 在MAX軟件中制作單一GameObject物體的面數不能超過65000個三角形&#xf…

leetcode 142. 環形鏈表 II(set/快慢指針)

給定一個鏈表&#xff0c;返回鏈表開始入環的第一個節點。 如果鏈表無環&#xff0c;則返回 null。 為了表示給定鏈表中的環&#xff0c;我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置&#xff08;索引從 0 開始&#xff09;。 如果 pos 是 -1&#xff0c;則在該鏈表中沒有…

html5 支持表格嗎,html5 – 在HTML 5中使用表格很好嗎?

簡單規則 – 使用表格表格數據&#xff0c;使用其他元素進行演示(使用CSS設計布局)&#xff0c;如div&#xff0c;section&#xff0c;aside&#xff0c;nav等。這為他們所持有的內容提供了意義&#xff0c;而不是為所有內容使用表事實是&#xff0c;開發人員在90年代使用了表格…

css網格_我如何記住CSS網格屬性

css網格The syntax for CSS Grid is foreign and hard to remember. But if you can’t remember CSS Grid’s syntax, you won’t be confident when you use CSS Grid.CSS Grid的語法是外來的&#xff0c;很難記住。 但是&#xff0c;如果您不記得CSS Grid的語法&#xff0c;…

2017年讀書計劃(一)

前言 這篇博文就暫時不記錄技術了&#xff0c;記錄下生活。對自己今年2017年做個讀書計劃安排。 最近在看一部網絡劇 - 《花間提壺方大廚》&#xff0c;也許你們會感覺我很無聊&#xff0c;我也是被頭條帶壞了&#xff0c;每天上班一個小時的地下交通-地鐵&#xff0c;就借助上…

.net10個必備工具

1.NUnit 編寫單元測試的工具2.NDoc 自動生成代碼文檔的工具3.NAnt 編譯解決方案的工具4.CodeSmith 自動生成代碼的工具5.FxCop 檢查你的代碼是否按照規范編寫的工具6.Snippet Compiler 編譯少量代碼的工具7.ASP.NET Version Switcher Visual Studio .NET Project Conve…

音標

音標 oror ds念子音&#xff0c;ts念s音

leetcode 530. 二叉搜索樹的最小絕對差(中序遍歷)

給你一棵所有節點為非負值的二叉搜索樹&#xff0c;請你計算樹中任意兩節點的差的絕對值的最小值。示例&#xff1a;輸入&#xff1a;1\3/2輸出&#xff1a; 1解釋&#xff1a; 最小絕對差為 1&#xff0c;其中 2 和 1 的差的絕對值為 1&#xff08;或者 2 和 3&#xff09;。代…

計算機排線知識,一種計算機排線梳理裝置制造方法及圖紙

【技術實現步驟摘要】一種計算機排線梳理裝置本技術涉及計算機排線梳理&#xff0c;具體涉及一種計算機排線梳理裝置。技術介紹計算機俗稱電腦&#xff0c;是現代一種用于高速計算的電子計算機器&#xff0c;可以進行數值計算&#xff0c;又可以進行邏輯計算&#xff0c;還具有…

github和pypi_如何將GitHub用作PyPi服務器

github和pypiI was looking for a hosted private PyPi Python Package server, that used credentials that the team already has (such as GitHub).我正在尋找一個托管的私有PyPi Python Package服務器&#xff0c;該服務器使用了團隊已經擁有的憑據(例如GitHub)。 I didn’…

數據結構與算法---查找算法(Search Algorithm)

查找算法介紹 在java中&#xff0c;我們常用的查找有四種: 順序(線性)查找 二分查找/折半查找 插值查找斐波那契查找1)線性查找算法 示例&#xff1a; 有一個數列&#xff1a; {1,8, 10, 89, 1000, 1234} &#xff0c;判斷數列中是否包含此名稱【順序查找】 要求: 如果找到了&a…

Exchange Server 2007郵箱存儲服務器的集群和高可用性技術(上)

高可用性矩陣-->見下圖:郵箱服務器高可用性目標: 數據可用性-->保護郵箱數據免于失敗和損壞服務可用性-->提高群集實效轉移操作 簡化群集管理 支持地理分散的群集 支持低成本大郵箱(GB)使用戶可以基于業務需要更好的選擇容錯方案提高解決方案的可用性使用解決方案可…

【C/C++開發】C++實現字符串替換的兩種方法

替換字符串replace() erase()//C 第一種替換字符串的方法用replace()|C 第二種替換字符串的方法用erase()和insert()【 Cstring|C replace()|C erase()|C insert()|C自定義替換字符串函數】#include<string> #include<iostream> using namespace std;//第一種替換字…

html設置按鈕樣式變為橢圓,css border-radius圓形變為橢圓形,位置:絕對

我正在圍繞字體真棒圖標創建一個圓圈。我的問題是&#xff0c;當我添加position: absolute圓成為一個橢圓。css border-radius圓形變為橢圓形&#xff0c;位置&#xff1a;絕對同樣的情況&#xff0c;如果我是設置display: block這里是什么&#xff0c;我想實現的圖像 -CONRADU…