今天公司的聖誕老人給咱們每個人發了一個精緻的蘋果禮盒,裏面有蘋果和德芙巧克力(惋惜我沒有幸運的小紙條),美滋滋。spring
###What did you do today數據庫
CSRF(Cross-site request forgery) 跨站請求僞造是一類常見的編程漏洞。對於存在CSPF漏洞的應用/網站,攻擊者能夠事先構造好URL,只要受害者用戶已訪問,後臺便在用戶不知情狀況下對數據庫中用戶參數進行相應的修改。編程
Thread.yield()會讓當前線程主動讓出時間片,並讓OS調度其餘處於Runnable狀態的線程使用時間皮娜。調用yield,只會把當前線程放入到就緒隊列,而不是阻塞隊列,若是沒有找到其餘就緒狀態的線程,則當前線程繼續運行,比Thread.sleep(0)速度要快,可讓低於當前優先級的線程得以運行。安全
以前我寫一個Filter,都是去實現Filter接口。今天發現這種方法不太好。繼承OncePerRequestFilter這個抽象類,是一個不錯的選擇,這種方式能夠兼容各類不一樣運行環境和版本。OncePerRequestFilter能確保在一次請求只經過一次Filter,而不須要重複執行。在Servlet-2.3中,Filter會過濾一切請求,包括forward和include的狀況。在Servlet-2.4中Filter默認下只攔截外部提交的請求,forward和include這些內部轉發都不會被過濾,可是有時候咱們須要forward的時候也會用到Filter。多線程
CAS有三個操做數:內存值V,舊的預期值A,要修改的值B,當且僅當預期值A和內存值V相同的時候,將內存值修改成B並返回true,不然什麼都不作並返回false。mvc
volatile解決多線程內存不可見的問題,對於一寫多讀,是能夠解決變量同步問題,若是是多寫多讀,那麼就沒法解決線程安全問題,若是是count++,能夠這樣去解決,AtomicInteger count = new AtomicInteger(); count.addAndGet(10)。app
返回類型爲基本數據類型,return是包裝數據類型,那麼在自動拆箱的時候可能會產生NPE。使用JDK8的Optional類來防止NPE的問題,咱們項目組就是採用這種策略。網站
數據庫的int類型字段映射到實體類中爲何要用Integer? 這在阿里巴巴Java開發規範手冊以及各大Java筆試題,還有各大公司的Java開發規範都有說起過。由於int類型的默認值爲0,Integer類型的默認值爲null,若是返回字符值爲null,int類型會報錯,而Integer類型則不會。(新手要注意)線程
很久都沒有碰SpringMVC項目的代碼,今天發現了好多錯誤。好比「404,找不到合適的Handler處理mapping「,這個錯誤是由於在spring-servlet.xml沒有配置 <mvc:annotation-driven />,具體的問題分析下一篇博客會講解到。rest
###What to do tomorrow
今天Filter、Listener、Interceptor代碼基本完成,可是今天4點下班,晚上要趕火車,就來不及記錄具體細節,星期一回廣州,再寫一篇博客。(delay一天了) 原本準備寫完這一篇博客再下班,沒辦法女友催着下班。
關於Spring Security的demo又要delay一天了(已經delay兩天了)
明天回武漢。
###Summary
不得不說,個人效率真的過低了。下個星期開始規劃一下時間表。