原创 Spring 中的 bean 的作用域有哪些?

singleton : 唯一 bean 實例,Spring 中的 bean 默認都是單例的。 prototype : 每次請求都會創建一個新的 bean 實例。 request : 每一次HTTP請求都會產生一個新的bean,該b

原创 String Builder 爲什麼線程不安全?

引言: 我們總是說StringBuilder和StringBuffer的區別在StringBuilder不是線程安全的,StringBuffer是線程安全的 那StringBuilder不安全的點在哪兒? 分析 在分析這個問題之前

原创 Java容器之List集合

現在這篇主要講List集合的三個子類: ArrayList 底層數據結構是數組。線程不安全 LinkedList 底層數據結構是鏈表。線程不安全 Vector 底層數據結構是數組。線程安全 看這篇文章之前最好是有點

原创 HTTP中的長連接和短連接

一. HTTP協議與TCP/IP協議的關係 HTTP的長連接和短連接本質上是TCP長連接和短連接。HTTP屬於應用層協議,在傳輸層使用TCP協議,在網絡層使用IP協議。 IP協議主要解決網絡路由和尋址問題,TCP協議主要解決如何在

原创 SpringMVC之Controller詳解

前言 本文主要是講解在Controller中的開發,主要的知識點有如下: 編碼過濾器 使用註解開發 註解@RequestMapping詳解 業務方法接收參數 字符串轉日期 重定向和轉發 返回JSON SpringMVC過濾編碼器

原创 Spring 框架中用到了哪些設計模式?

工廠設計模式 : Spring使用工廠模式通過 BeanFactory、ApplicationContext 創建 bean 對象。 代理設計模式 : Spring AOP 功能的實現。 單例設計模式 : Spring 中的 B

原创 Spring Boot整合Redis之CURD

1.在IDEA中創建MAVEN工程 2.在pom.xml中引入依賴 <parent> <groupId>org.springframework.boot</groupId> <artifactId>

原创 常用幾個註解

1.@RestController 用於標註控制層組件 @RestController = @Controller + @ResponseBody組成: @Controller 將當前修飾的類注入SpringBoot IOC容器

原创 Java基礎之反射(二)

Java反射機制是一個非常強大的功能,在很多大型項目比如Spring, Mybatis都可以看見反射的身影。通過反射機制我們可以在運行期間獲取對象的類型信息,利用這一特性我們可以實現工廠模式和代理模式等設計模式,同時也可以解決Ja

原创 MYSQL之SQL注入

如果通過網頁獲取用戶輸入的數據並將其插入一個MySQL數據庫,那麼就有可能發生SQL注入安全的問題。 所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令

原创 sleep() 和 wait() 有什麼區別?

(網上的答案:sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時後會自動恢復。調用sleep不會釋放對象鎖。 wait是Object類的方法,對此對象調用wait

原创 HTTP中的狀態碼彙總

HTTP狀態碼總的分爲五類: 1開頭:信息狀態碼 2開頭:成功狀態碼 3開頭:重定向狀態碼 4開頭:客戶端錯誤狀態碼 5開頭:服務端錯誤狀態碼 1XX:信息狀態碼 狀態碼 含義 描述 100 繼續 初始的請求已經接受

原创 使用final關鍵字修飾一個變量時,是引用不能變,還是引用的對象不能變?

使用final關鍵字修飾一個變量時,是指引用變量不能變,引用變量所指向的對象中的內容還是可以改變的。例如,對於如下語句: final StringBuffer a=new StringBuffer(“immutable”); 執行

原创 用最有效率的方法算出2乘以8等於幾?

2 << 3 因爲將一個數左移n位,就相當於乘以了2的n次方,那麼,一個數乘以8只要將其左移3位即可,而位運算cpu直接支持的,效率最高,所以,2乘以8等於幾的最效率的方法是2 << 3。

原创 Java集合之Map

原本我是打算繼續將Collection下的Set集合的,結果看了源碼發現:Set集合實際上就是HashMap來構建的! 所以,就先介紹Map集合、散列表和紅黑樹吧! 看這篇文章之前最好是有點數據結構的基礎: Java實現單向鏈表