原创 IDEA創建SpringMVC工程的jsp文件中EL表達式取不到值,直接${}原樣打印出來
一、問題描述 IDEA創建SpringMVC工程,在jsp文件中EL表達式取不到值,直接將EL表達式打印了出來。 二、 原因 Intellij Idea 在創建Maven工程時選擇的webapp框架時自
原创 java.lang.NoClassDefFoundError: org/springframework/orm/hibernate3/support/HibernateDaoSupport
一、 問題 Hibernate查詢數據庫編譯通過,但運行時報錯 嚴重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Fai
原创 泛型<T>和 <?> 的區別
技術交流羣裏有小白問這個問題,並轉發了一些blog給我看。 感覺寫的不夠通透,而且有錯誤的地方,特地寫一下。 1. Class<T> 表示一個定義了一個泛型 這個類型不確定, 但是不能同時變成兩個類型
原创 手寫簡易RPC框架
分佈式技術的本質可以簡單地概括爲兩部分—— 任務拆分 + RPC 1. 將一個任務流程拆分成幾個部分,需要扛壓的部分做成集羣 2. RPC調用 (特別是通信) 再概括點說分佈式的本質就是RPC,也不算過分。
原创 IDEA 報 cannot access class xxx
IDEA順手寫一個小Demo。 先寫一個interface MyInterface, 然後寫實現類 MyInterfaceImpl,結果在 MyInterfaceImpl 中始終報錯誤 cannot access class MyI
原创 架構是進化出來的
一個網站的架構是進化出來的,不是設計出來的。 架構是爲了業務服務,在業務沒有達到足夠大的量級之前,沒有必要爲了架構而架構。只有隨着業務的規模變大,才逐漸有了架構的進化。 以一個在線電商平臺爲例,講一下架構的進化過程
原创 lua.c:82:31: fatal error: readline/readline.h: No such file or directory
目錄 坑(一)添加libreadline-dev 包 坑(2)顯示缺少 libreadline6-dev, 於是又用命令 坑(3) 解決辦法: 在ubuntu16.0.4上安裝lua 5.3.5,運行命令 make linux
原创 畫圖趣解CLH鎖的實現原理
面試題上看到CLH鎖的實現原理,想找視頻看看沒找到,各種博客寫的也很抽象,缺乏形象感不易理解。於是就自己寫一個,爭取做到通俗易懂。 CLH鎖是自旋鎖的一種實現方式 (java自旋鎖的4種實現方式),實現了自旋鎖的公平性,即
原创 HashMap原理解析——爲啥線程不安全?
目錄 一、 HashMap的數據結構 二、HashMap的功能實現源碼解析 1. hash方法 2. 由鏈表改爲紅黑樹 3.擴容 4. 擴容後的新位置 5. 搬家 三、 怎樣將HashMap升級爲線程安全的 1. HashMap爲啥線程不
原创 Java可見性、原子性、有序性的本質——CPU緩存模型
我們來看一下併發編程中的原子性、可見性、有序性是怎麼來的。 早期CPU的頻率比內存的頻率要高很多,如果CPU每次都從內存取數據的話,就會造成快車等慢車的狀態,嚴重影響CPU的性能。爲了解決這個問題,CPU中引入了緩存。緩存
原创 Dubbo的一種負載均衡算法(rtt排序)
一、 題目要求: 題目來自阿里雲中間件性能挑戰賽,找一種性能最佳的Dubbo負載均衡算法。 provider的性能要求 二、分析 其實一個比較能代表當前provider性能的指標就是rtt(round-trip
原创 圖解設計模式(13) 中介者模式
一、應用場景 每一個類都有不同的職能,如果這些職能要相互調用所有其他功能的類,會使得它們的關係變得複雜化( )。這時就可以在它們中間加入一個"Boss",負責協調調度各種關係,使關係變得簡單。 例如,在一個公司裏有研發、
原创 圖解設計模式(11) 策略模式
一、 應用場景 商場對於不同的客戶採用不同的打折策略; 施工對於不同的地形地貌採用不同的施工方法;數據處理針對不同批量的數據選取不同的算法等。 對於常用的 if() { }else if(){
原创 圖解設計模式(12) 模板模式
一、應用場景 用於一些具體流程固定,但是其中的某一個/一些步驟內容有變動的情形。 如:去銀行辦理業務 分3個步驟: 模板方法定義了一個操作中的流程骨架,將某些步驟延遲到子類中實現。這樣,子類可以在不改變算法結構
原创 圖解設計模式(5) 適配器模式
一、適用場景 如生活中鍵盤有USB接口的和ps/2接口的。我們手上有一個ps/2接口的鍵盤但筆記本電腦只有USB接口,我們只要找一個接口轉換器就能讓鍵盤在筆記本電腦上使用了。 適配器模式是將一