原创 調查問卷數據庫設計

調查問卷 表設計 /* 1、模板表 template 2、問卷題目表 question(是否必填、單選多選問答日期地址等類型) 3、題目選項表(單選多選才有) question_item 4、

原创 Java多線程編程-9 J.U.C之線程池

1、什麼是線程池 程序的世界裏有各種池如:數據庫連接池、HTTP連接池以及我們現在要說的這個線程池。池的作用很明顯,就是用來存放一些比較重的資源,像獲取數據庫連接、http連接、開啓新的線程,這些資源的獲取及關閉都會耗費大量的內存

原创 Java多線程編程-10 J.U.C之CompletableFuture

重要的參考資料: 從CompletableFuture到異步編程設計 聊聊java高併發系統之異步非阻塞 商品詳情頁系統的Servlet3異步化實踐 下面一個簡單的例子說明CompletableFuture異步編排的使用: pub

原创 Java多線程編程-7 J.U.C之各種鎖

1、什麼是鎖 A lock is a tool for controlling access to a shared resource by multiple threads. Commonly, a lock provides

原创 Java多線程編程-4 設計模式之Future

1、什麼是future Future是爲了解決同步調用必須等待調用執行結束後返回而設計的,future中文含義是“未來”,即調用方可以在未來某個時刻通過future來獲取調用結果。 通俗來講,future相當於一個票據,你拿着這個

原创 Java多線程編程-6 J.U.C之原子包AtomicXxx

1、先聊聊CAS CAS即compare and swap,原子包中很多地方使用了該原子操作(本來這個cas包含多個操作,(1)取出要操作對象的值V (2)與線程中該操作對象的舊值作對比VOld (3)如果V = VOld則替換爲

原创 Java多線程編程-5 設計模式之生產者消費者

生產者消費者設計模式含義 生產者消費者模式解耦了消息生產和消費過程,生產者生產消息數據,消費者對其消費。生產者無需知道生產的消息被誰消費,消費者也無需知道誰生產了數據。 很明顯,生產者消費者設計模式採用了異步的消息通信,它們之間存

原创 Java多線程編程-3 Java內存模型(JMM)、sychronized關鍵字與JVM內存區域

JMM Java內存模型(Java Memory Model )是一種規範,規定了線程如何正確的從內存中讀取數據。 java內存模型是共享內存的併發模型,線程之間主要通過讀-寫共享變量來完成隱式通信。(通信是指線程之間以何種機