原创 Java volatile關鍵字詳解

1.關於volatile volatile是Java語言中的關鍵字,用來修飾會被多線程訪問的共享變量,是JVM提供的輕量級的同步機制,相比同步代碼塊或者重入鎖有更好的性能。它主要有兩重語義,一是保證多個線程對共享變量訪問的可見性,二防止指

原创 Java線程的6種狀態及切換

Java中線程的狀態分爲6種。 1. 初始(NEW):新創建了一個線程對象,但還沒有調用start()方法。 2. 運行(RUNNABLE):Java線程中將就緒(ready)和運行中(running)兩種狀態籠統的稱爲“運行”。 線程

原创 入門到放棄的Java架構師面試題

文章轉自脈脈,原文鏈接:https://maimai.cn/article/detail?fid=967187382&efid=Ye_7_koboO4GWfayCCRUlA。 經常面試一些候選人,整理了下我面試使用的題目,陸陸續續整理出來

原创 Servlet的url-pattern匹配規則

轉自:https://www.cnblogs.com/canger/p/6084846.html。 首先需要明確幾個容易混淆的規則: servlet容器中的匹配規則既不是簡單的通配,也不是正則表達式,而是特定的規則。所以不要用通配符或者正

原创 Spring Resource和ResourceLoader源碼解析

Spring用Resource接口抽象所有的底層資源,包括File、ClassPath、URL等。ResourceLoader接口是Resource的加載器,根據資源的路徑/路徑模式獲取Resource實例。 Resource 接口定義

原创 Spring Boot快速上手

Spring Boot簡介 Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。有了它,你可以更加敏捷地開發Spring應用程序,專注於應用程序的功能,而不用在Spri

原创 Java開發人員常用網站收錄

1. Java API Doc 說明:Java API官方文檔。 2. Spring 說明:Spring官網,當前微服務架構下常用的Spring項目有:Spring Framework、Spring Boot、Spring Cloud。

原创 Java CAS無鎖技術深度解析

在看AQS代碼的時候,看到它很多地方調用了unsafe.compareAndSwapInt這類方法,百度了一下得知這叫CAS無鎖技術。 CAS原理深度分析 轉自:https://blog.csdn.net/Hsuxu/article/de

原创 Java併發編程之ReentrantLock和ReentrantReadWriteLock

在Java多線程編程中,除了可以使用synchronized關鍵字實現線程同步外,從JDK1.5開始,新增了ReentrantLock、ReentrantReadWriteLock等類,同樣能實現同步效果,而且在使用上更加方便。 Reen

原创 Spring按類型自動裝配注入數組、集合、Map

Spring按類型自動裝配注入數組、集合、Map時,是把應用上下文中對應類型的bean裝配進集合,而不是直接查找一個對應類型的集合然後注入。以下面這段代碼爲例: import org.springframework.beans.fact

原创 @PostConstruct、@PreDestroy註解介紹及Spring中@PostConstruct、constructor、@Autowired的順序

@PostConstruct和@PreDestroy @PostConstruct和@PreDestroy註解是Common Annotations中的註解,Common Annotations原本是Java EE 5.0(JSR 244

原创 Java各版本特性簡介

一個比較流行的問題是,“Java下一個版本會有什麼特性呢?” 。這是否是個好問題卻有待商榷。在下面的內容裏,我總結了至今爲止的Java主要發行版中各自引入的新特性,這樣做的目的是爲了突出各個新特性是在哪個發行版中引入的。除了列出的特性外,

原创 Spring概覽

Spring可以做很多事情,它爲企業級開發提供了豐富的功能,這些功能的底層實現都依賴於它的兩個核心特性--依賴注入(Dependency Injection, DI)和麪向切面編程(Aspect-Oriented Programming,

原创 POJO和JavaBean的異同

什麼是POJO?按照Martin Fowler的解釋是“Plain Old Java Object”, 從字面上翻譯爲“純潔老式的java對象”,但大家都使用“簡單java對象”來稱呼它。POJO的內在含義是指那些沒有從任何類繼承,也沒有

原创 Spring Playground

《Spring in Action》實戰演練,地址:https://github.com/niluzhang/spring-playground。 感興趣的同學可以fork並follow我~。