原创 Longest Palindromic Substring-----LeetCode

兩種解法,動態規劃和KMP變種 動態規劃,類似於lcs的解法,數組flag[i][j]記錄s從i到j是不是迴文 首先初始化,i>=j時,flag[i][j]=true,這是因爲s[i][i]是單字符的迴文,當i>j時,爲true,

原创 JVM內存

大多數 JVM 將內存區域劃分爲 Method Area(Non-Heap)(方法區) ,Heap(堆) , Program Counter Register(程序計數器) , VM Stack(虛擬機棧,也有翻譯成JAVA

原创 網絡協議系列之一:HTTP(1)

HTTP協議是web開發必須掌握的協議之一,文章的內容並沒有按照教科書式對協議本身進行說明。這裏特意將一些web開發遇到的常見問題進行了總結。也方便以後自己開發進行迅速查閱。 1、Http的報文結構 http的報文分爲請求報文和響應報

原创 Java中的NIO,BIO,AIO定義

BIO 同步並阻塞,服務器實現模式爲一個連接一個線程,即客戶端有連接請求時服務器端就需要啓動一個線程進行處理,如果這個連接不做任何事情會造成不必要的線程開銷,當然可以通過線程池機制改善。 BIO方式適用於連接數目比較小且固定的架構,

原创 網絡協議系列之:TCP連接的建立與釋放

TCP連接的建立(三次握手) 1> 客戶端發送(主動)一個SYN給服務端(相當於告訴服務端,我要打開連接了,你注意一下)。客戶端的狀態變化:CLOSED–> SYN_SENT,服務端狀態變化:CLOSED–>LISTEN; 2> 服務

原创 Servlet學習

Servlet 生命週期 Servlet 生命週期可被定義爲從創建直到毀滅的整個過程。以下是 Servlet 遵循的過程: Servlet 通過調用 init () 方法進行初始化。 Servlet 調用 service() 方法來處

原创 Servlet 與 CGI 的比較

和CGI程序一樣,Servlet可以響應用戶的指令(提交一個FORM等等),也可以象CGI程序一樣,收集用戶表單的信息並給予動態反饋(簡單的註冊信息錄入和檢查錯誤)。 然而,Servlet的機制並不僅僅是這樣簡單的與用戶表單進行交互

原创 線程池

什麼是線程池?如果讓你設計一個動態大小的線程池,如何設計,應該有哪些方法? 什麼是線程池 線程池顧名思義就是事先創建若干個可執行的線程放入一個池(容器)中,需要的時候從池中獲取線程不用自行創建,使用完畢不需要銷燬線程而是放回池中,從

原创 SpringMVC工作原理

上面的是springMVC的工作原理圖: 1、客戶端發出一個http請求給web服務器,web服務器對http請求進行解析,如果匹配DispatcherServlet的請求映射路徑(在web.xml中指定),web容器將請求轉交給Di

原创 觸發Full GC執行的情況

除直接調用System.gc外,觸發Full GC執行的情況有如下四種。 1. 舊生代空間不足 舊生代空間只有在新生代對象轉入及創建爲大對象、大數組時纔會出現不足的現象,當執行Full GC後空間仍然不足,則拋出如下錯誤: java

原创 網絡協議系列之二:HTTP(2)

這篇文章繼續對HTTP協議進行說明。 一個http事務包括客戶向HTTP服務器發送請求以及服務器向客戶端發送響應兩個過程。根據事務的特點,這兩個過程具有原子性,任何一個過程失敗都會進行回滾(恢復事務之前的狀態)。從請求與響應的角度出發,h

原创 Java後臺-面試問題彙總:歷時20天,主流互聯網公司面試經歷

本人Java開發,3年經驗,7月初來到帝都,開啓面試經歷,前後20天左右,主面互聯網公司,一二線大公司或者是融資中的創業公司都面試過,拿了一些offer,最後綜合決定還是去360了。 不同面試官面試風格一定不同,我這裏就是總結這些天面試

原创 簡述spring 的事務傳播行爲和 隔離級別

spring 的事務傳播行爲: Spring在TransactionDefinition接口中規定了7種類型的事務傳播行爲,它們規定了事務方法和事務方法發生嵌套調用時事務如何進行傳播:   PROPAGATION_REQUIRED:如果

原创 Jsp與servlet的區別

JSP在本質上就是SERVLET,但是兩者的創建方式不一樣.Servlet完全是JAVA程序代碼構成擅長於流程控制和事務處理而通過Servlet來生成動態網頁; JSP由HTML代碼和JSP標籤構成,可以方便地編寫動態網頁 因此在實際應

原创 描述Cookie和Session的作用,區別和各自的應用範圍,Session工作原理

Session用於保存每個用戶的專用信息. 每個客戶端用戶訪問時,服務器都爲每個用戶分配一個唯一的會話ID(Session ID) . 她的生存期是用戶持續請求時間再加上一段時間(一般是20分鐘左右).Session中的信息保存在Web服