Reference

  1. Java并發編程:Callable、Future和FutureTask

http://www.cnblogs.com/dolphin0520/p/3949310.html

JAVA回調機制(CallBack)詳解
http://www.importnew.com/19301.html

  1. 智力題:http://blog.csdn.net/zhangerqing/article/details/8138296

  2. 泛型: http://iteye.blog.163.com/blog/static/18630809620131472312201/

在成員方法中使用泛型,需在方法修飾符(public)后添加泛型的定義

  1. Java內存模型

Java 內存模型:
http://www.cnblogs.com/nexiyi/p/java_memory_model_and_thread.html

  • Java工作內存和主內存的交互
    • 從主內存讀數據:lock>read>load>use>unlock
    • 往主內存寫數據:lock>assign>store>write>unlock

深入Java內存模型:http://www.infoq.com/cn/articles/java-memory-model-1

  • 在并發編程中,我們需要關注兩個關鍵的問題:如何實現線程通信以及線程同步。在命令式編程中,線程通信的兩個方法主要是:共享內存和消息傳遞。
  • 在共享內存的并發模型中,線程之間通過共享程序的公共狀態,讀寫內存中的公共狀態進行隱式通信;在消息傳遞的并發模型中,線程之間必須通過明確地發送消息來進行通信。
  • 同步是控制不同線程之間操作相對順序的機制。在共享內存的并發模型中,同步是顯式進行的,程序員必須指定某個方法或某段代碼必須互斥執行;在消息傳遞并發模型中,由于消息的發送必須在消息接收之前,所以同步是隱式執行的。

Java的并發采用的是共享內存的并發模型,Java線程之間的通信是隱式進行的,對程序員透明。
Java中,所有實例域、靜態域和數組元素都存在堆中,堆內存在線程之間共享。局部變量、方法定義參數、異常處理器參數不會再線程之間共享。
在執行程序時,為了提高性能,編譯器和處理器常常對指令進行重排序
- 編譯器優化的重排序
- 指令級的重排序
- 內存級的重排序

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,284評論 25 708
  • Java8張圖 11、字符串不變性 12、equals()方法、hashCode()方法的區別 13、...
    Miley_MOJIE閱讀 3,731評論 0 11
  • 《如何閱讀一本書》是一本好書!看了這書的學習我才知道到了原來我的讀書層次是如此LOW逼,大多時候都在基礎閱讀的層次...
    龍年閱讀 633評論 1 1
  • 陸總晚上好!首先非常感謝您為我們提供一個這么優秀的平臺,讓我們不斷地學習成長,給自己鍛煉的機會,我也相信公司在您的...
    簡書米閱讀 703評論 0 0
  • 都說大四了,醒世了。但是除了曬得比較黑之外,其他還真挺膚淺的,說是白紙一張也無可厚非。 沒有混得什么學校部門之類的...
    gahow_chung閱讀 289評論 0 0