原创 @xmlAttribute等註解它的用處?

 用的是jdk自帶的javax.xml.bind.JAXBContext將對象和xml字符串進行相互轉換。        如果對要生成的 xml 格式有點些許的限制,就會對生成xml的對象就需要進行些許控制,控制對象的一個最可行的辦法就是

原创 Springmvc restful風格

Restful風格的API是一種軟件架構風格,設計風格而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和服務器交互類的軟件。基於這個風格設計的軟件可以更簡潔,更有層次,更易於實現緩存等機制。 在Restful風格中,用戶

原创 關於@transactional註解的用處與意義

概述 事務管理對於企業應用來說是至關重要的,即使出現異常情況,它也可以保證數據的一致性。 Spring Framework對事務管理提供了一致的抽象,其特點如下: 爲不同的事務API提供一致的編程模型,比如JTA(Java Trans

原创 數據庫關於varchar和nvarchar的區別

Unicode字符集就是爲了解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示 如果還爲了這個糾結,就直接看看後面的解說,做決定吧。 一般如果用到中文或者其它特殊字符,我就會使用n開頭的類型,

原创 shrio學習第一章

1.1  簡介 Apache Shiro是Java的一個安全框架。目前,使用Apache Shiro的人越來越多,因爲它相當簡單,對比Spring Security,可能沒有Spring Security做的功能強大,但是在實際工作時可能

原创 shrio學習第二章

身份驗證,即在應用中誰能證明他就是他本人。一般提供如他們的身份ID一些標識信息來表明他就是他本人,如提供身份證,用戶名/密碼來證明。 在shiro中,用戶需要提供principals (身份)和credentials(證明)給shiro,

原创 shiro學習第三章

授權,也叫訪問控制,即在應用中控制誰能訪問哪些資源(如訪問頁面/編輯數據/頁面操作等)。在授權中需瞭解的幾個關鍵對象:主體(Subject)、資源(Resource)、權限(Permission)、角色(Role)。 主體 主體,即訪問應

原创 路漫漫其修遠兮

我們瞭解學習一個新的知識或者技術的時候都會遵循三個步驟 :理解 、鞏固  、運用 所謂理解是建立在認識的基礎上,通過自己聯想、類比等方法快速的瞭解這個新的事物。 所謂鞏固就是通過不斷的練習來加固自己對該知識或者技術的掌握。 所謂運用是在遇

原创 myeclipse斷點調試常用工具

 作爲開發者,掌握開發環境下的調試技巧十分有必要。去年就想把關於Eclipse斷點調試總結下了。因爲對時間的掌控程度仍需極大提高,結果拖到今年才寫了此篇博文。關於java調試技術還有非常多。如Java Debug Interface等

原创 Spring學習之Spring的整體架構

    剛剛畢業找了一份不算安逸不算忙碌的工作,忙的時候很忙,有的時候從早上一直忙到深夜12點,與其說是忙,不如說是被安排的任務沒有及時完成,斷斷續續1個月終於完成了項目模塊的任務。說實話,工作前後心裏的落差有點大,工作之前,以爲能夠學到

原创 從0到1構建分佈式秒殺系統,脫離案例講架構都是耍流氓

嗯嗯,好長時間不更新博客了,感覺整個人都頹廢了哈哈,不過呢我還是蠻懷戀這種指尖在鍵盤上敲打的感覺的。最近閒來無事,就在碼雲上看看有沒有什麼比較小的開源項目來學習學習(內容太多看不下去= =看了半天看到這麼一個項目) 瞬間被吸引了,感覺挺

原创 從0到1構建分佈式秒殺系統(1)從秒殺看ThreadPoolExecutor和CountDownLatch

CountDownLatch代碼 @ApiOperation(value="秒殺一(最low實現)",nickname="科幫網") @PostMapping("/start") public Result start(long s

原创 定時器的使用場景分析

先來看一段面試中的場景 面試官: 我看你已經有一定工作年限了,那請問有沒有研究得比較深的一些技術棧呢? 你: 目前沒有太深的研究,暫時還主要是處於會使用的階段,我用過xxx,能幹活肯定是沒問題的! 面試官: 那定時器在項目中有用

原创 關於調用第三方接口時傳遞參數是File類型的解決方式

最近在做一個項目,需要頻繁的調用第三方的接口,本以爲都是基本的數據類型,沒想到需要傳一個文件類型的參數,我想着調用接口的時候直接用文件流把文件寫到connection不就行了,這就是我一開始寫的調用工具類 public stat

原创 key up事件延遲加載

1 var keyDom = document.getElementById('keyDom'); 2 //全局的一個變量,可被每次觸發的事件函數重新修改賦值 3 var lastTimeStamp = 0; 4 keyDom