原创 Spring之消失的web.xml

我從網上找了一張web項目的目錄結構,如下: 是不是很熟悉的趕腳^-^  幾年之前這是當之無愧的主流,但是隨着技術的發展,servlet3.0、springboot的誕生,基於xml配置的web項目一去不復返了,取而代之的是spring

原创 多線程 並行與併發的區別

並行、併發在計算機編程中是非常重要的兩個概念,但是它們常常被混淆。下面我來用一句話來概括,然後用通俗易懂的語言解釋並舉例說明。 併發:兩個任務共享時間片段。在計算的場景中是指,只有一個CPU的情況下,有兩個任務要執行,那麼需要給任務隨機分

原创 yield、sleep、wait、notify、notifyAll調用後對鎖的影響

yield:讓出時間片,不會釋放鎖 sleep:線程進入睡眠狀態,不會釋放鎖 wait:必須拿到鎖才能執行,執行後釋放鎖,進入鎖的等待隊列,方法返回後重新拿到鎖 notify:必須拿到鎖才能執行,執行後不會立馬釋放鎖,而是通知等待隊列中的

原创 Spring總結(一) Spring簡介

Spring是什麼? 程序員口中常被提到的spring其實全稱爲 Spring Application Framwork,它是當下非常流行的web應用框架。 Spring有什麼特點? Spring的核心思想可以用一句話來描述——“依賴注入

原创 AQS原碼剖析

什麼是線程安全問題? 多個線程同時對共享資源進行操作,但並不能保證操作的原子性,可見性和有序性(在java中),由此會導致線程安全問題。 模擬一個搶票的場景,問題代碼示例: package lock; public class Rob

原创 使用idea遠程調試java應用

1、編輯配置項 2、配置“Remote”模板  遠程應用的ip地址以及debug端口 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006 本地的代碼目錄

原创 官網申請免費版xshell、xftp、Xmanager 等等工具

1、登錄網址 https://www.netsarang.com/en/all-downloads/ 2、選擇菜單 3、填寫信息 4、點擊郵箱中的鏈接進行下載

原创 TIME_WAIT狀態存在的意義

什麼時候會TIME_WAIT TCP在關閉的時候有個四次揮手的過程,主動關閉方在四次揮手的最後一個ACK發送之後會變成TIME_WAIT狀態。 主動關閉方 跟握手不同,揮手可以由客戶端發起,也可以是服務端發起。發起關閉的一端我們稱之爲主動

原创 dubbo中的註冊中心zookeeper如何感知服務下線

zookeeper提供了“心跳檢測”功能,它會定時向各個服務提供者發送一個請求(實際上建立的是一個 socket 長連接),如果長期沒有響應,服務中心就認爲該服務提供者已經“掛了”,並將其剔除。 服務消費方會監聽zookeeper相應的路

原创 一致性hash算法

轉自:https://blog.csdn.net/cb_lcl/article/details/81448570 一致性Hash算法在1997年由麻省理工學院提出的一種分佈式哈希(DHT)實現算法,設計目標是爲了解決因特網中的熱點(Hot

原创 Spring 中出現相同名稱的 bean 的處理機制

轉發自 molashaonian  小總結: 如果啓用組件掃描,bean名稱不同時,Spring將嘗試創建一個bean,即使該類的bean已經在spring-config.xml中定義了。 但是,如果在spring配置文件中定義的bean

原创 java編程如何保證多線程運行安全?

java編程是面向對象的,而對象的抽象是類,那麼如何做到類是線程安全的,即可保證程序的線程安全。 ps:什麼是線程安全問題?多個線程同時操作共享變量,並且這些操作不是原子操作 如何做到類的線程安全呢? 讓類無狀態 類中沒有成員變量(既沒有

原创 Spring常用註解大全

@Configuration 從spring3.0開始出現,相當於配置bean的xml文件,使用該註解可以實現基於java類的配置(其他兩種方式可以參考這篇文章:Spring總結(二) 如何配置元數據——將bean注入到Spring容器中

原创 一文徹底搞懂面試中常問的各種“鎖”

轉自 深夜裏的程序猿 https://blog.csdn.net/loveqishan/article/details/88944852 前言 鎖,顧名思義就是鎖住一些資源,當只有我們拿到鑰匙的時候,才能操作鎖住的資源。在我們的Java,

原创 HashMap實現原理

底層是一個數組+鏈表的結構,從jdk1.8開始,引入了紅黑樹,當鏈表的長度超過了閾值8,便會由鏈表轉換爲紅黑樹。 數組長度 數組的長度一定是,默認初始化長度爲16,如果傳入了初始化參數i,會將數組長度設置爲比i大的最小。 數組擴容 什麼時