- PVSM.RU - https://www.pvsm.ru -
Добрый день.
Меня зовут Головач Иван, я буду уже второй раз [1] вести спецкурс-вебинар «Multicore programming in Java». В этой статье предлагаю на рассмотрение программу курса и наиболее полезные ссылки по вопросам многопоточности в Java.
Кратко о курсе: стартует 1 сентября, ведется в режиме вебинаров дважды в неделю (понедельник + четверг) в 19.00-22.00 (по московскому времени), состоит из 16 лекций по 2.5 часа (=40 лекционных часов), рассчитан на Java Middle.
1. Модуль #1: Между hardware и New JMM [2]
1.1 Программа модуля [3]
1.2 Литература к модулю [4]
2. Модуль #2: java.util.concurrent [5]
2.1 Программа модуля [6]
2.2 Литература к модулю [7]
3. Модуль #3: Fork/Join Framework + Parallel Streams [8]
3.1 Программа модуля [9]
3.2 Литература к модулю [10]
4. Модуль #4: “Неклассические архитектуры” [11]
4.1 Программа модуля [12]
4.2 Литература к модулю [13]
В предыдущих раздела я рассматривал ссылки по конкретным темам конкретных модулей, однако, есть три очень хороших книги, которые стоит буквально читать целиком. Не хотелось «раздергивать их на главы», вот они
Стоимость курса
— при оплате до 9 августа — 375$
— при оплате до 16 августа — 400$
— при оплате до 23 августа — 425$
— при оплате до 30 августа — 450$
Я занимаюсь онлайн обучением Java (вот курсы программирования [67]) и публикую часть учебных материалов в рамках переработки курса Java Core [68]. Видеозаписи лекций в аудитории Вы можете увидеть на youtube-канале [69], возможно, видео канала лучше систематизировано в этой статье [70].
На все вопросы с удовольствием отвечу по следующим контактам (или в комментариях)
skype: GolovachCourses
email: GolovachCourses@gmail.com
Автор: IvanGolovach
Источник [71]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/66427
Ссылки в тексте:
[1] уже второй раз: http://habrahabr.ru/company/golovachcourses/blog/217051/
[2] 1. Модуль #1: Между hardware и New JMM: #1
[3] 1.1 Программа модуля: #1_1
[4] 1.2 Литература к модулю: #1_2
[5] 2. Модуль #2: java.util.concurrent: #2
[6] 2.1 Программа модуля: #2_1
[7] 2.2 Литература к модулю: #2_2
[8] 3. Модуль #3: Fork/Join Framework + Parallel Streams: #3
[9] 3.1 Программа модуля: #3_1
[10] 3.2 Литература к модулю: #3_2
[11] 4. Модуль #4: “Неклассические архитектуры”: #4
[12] 4.1 Программа модуля: #4_1
[13] 4.2 Литература к модулю: #4_2
[14] Martin Thompson, «Mechanical Sympathy»: http://mechanical-sympathy.blogspot.com/
[15] Руслан Черемин, «Рабочие заметки»: http://cheremin.blogspot.com/
[16] «A Primer on Memory Consistency and Cache Coherence»: https://class.stanford.edu/c4x/Engineering/CS316/asset/A_Primer_on_Memory_Consistency_and_Coherence.pdf
[17] «What Every Programmer Should Know About Memory»: http://diyhpl.us/~bryan/papers2/distributed/distributed-systems/what-every-programmer-should-know-about-memory.2007.pdf
[18] «The Architecture of the Nehalem Processor and Nehalem-EP SMP Platforms»: http://sc.tamu.edu/systems/eos/nehalem.pdf
[19] JSR 133 (Java Memory Model) FAQ: http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html
[20] перевод: http://habrahabr.ru/company/golovachcourses/blog/221133/
[21] Doug Lea's JSR-133 cookbook: http://gee.cs.oswego.edu/dl/jmm/cookbook.html
[22] Brian Goetz, «Double-checked locking: Clever, but broken»: http://www.javaworld.com/article/2074979/java-concurrency/double-checked-locking--clever--but-broken.html
[23] The «Double-Checked Locking is Broken» Declaration: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
[24] The Java Memory Model: https://dl.dropboxusercontent.com/u/1011627/journal.pdf
[25] The Java Tutorial: Concurrency: http://docs.oracle.com/javase/tutorial/essential/concurrency/
[26] Package java.util.concurrent Description: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/package-summary.html#package.description
[27] javadoc: java.util.concurrent.locks.Lock: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html
[28] javadoc: java.util.concurrent.locks.Condition: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html
[29] javadoc: java.util.concurrent.Executor: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html
[30] java.util.concurrent.ExecutorService: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html
[31] javadoc: java.util.concurrent.CountDownLatch: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CountDownLatch.html
[32] java.util.concurrent.CyclicBarrier: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CyclicBarrier.html
[33] java.util.concurrent.Exchanger: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Exchanger.html
[34] java.util.concurrent.Phaser: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Phaser.html
[35] java.util.concurrent.Semaphore: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html
[36] “Java Concurrency in Practice”: http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/
[37] Doug Lea, «The java.util.concurrent Synchronizer Framework»: http://gee.cs.oswego.edu/dl/papers/aqs.pdf
[38] javadoc: java.util.concurrent.locks.LockSupport: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/LockSupport.html
[39] javadoc: java.util.concurrent.locks.AbstractQueuedSynchronizer: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/AbstractQueuedSynchronizer.html
[40] Fork/Join Framework в Java 7: http://habrahabr.ru/post/128985/
[41] Doug Lea, «A Java Fork/Join Framework»: http://gee.cs.oswego.edu/dl/papers/fj.pdf
[42] java.util.concurrent.CountedCompleter: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CountedCompleter.html
[43] javadoc: java.util.stream.Stream: http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html
[44] Package: java.util.stream: http://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html
[45] java.util.Spliterator: http://docs.oracle.com/javase/8/docs/api/java/util/Spliterator.html
[46] State of the Lambda: http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-final.html
[47] State of the Lambda: Libraries Edition: http://cr.openjdk.java.net/~briangoetz/lambda/lambda-libraries-final.html
[48] Java 8 Lambdas: Pragmatic Functional Programming: http://www.amazon.com/Java-Lambdas-Pragmatic-Functional-Programming/dp/1449370772
[49] Package java.util.concurrent.atomic: http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/package-summary.html#package.description
[50] wiki: Non-blocking algorithm: http://en.wikipedia.org/wiki/Non-blocking_algorithm
[51] wiki: ABA problem: http://en.wikipedia.org/wiki/ABA_problem
[52] wiki: Compare-and-swap: http://en.wikipedia.org/wiki/Compare-and-swap
[53] Maurice Herlihy, «Wait-Free Synchronization»: http://cs.brown.edu/~mph/Herlihy91/p124-herlihy.pdf
[54] wiki: Actor model: http://en.wikipedia.org/wiki/Actor_model
[55] Akka: Terminology, Concepts: http://doc.akka.io/docs/akka/2.3.4/general/terminology.html
[56] Akka: Actor Systems: http://doc.akka.io/docs/akka/2.3.4/general/actor-systems.html
[57] Akka: What is an Actor?: http://doc.akka.io/docs/akka/2.3.4/general/actors.html
[58] Akka: Supervision and Monitoring: http://doc.akka.io/docs/akka/2.3.4/general/supervision.html
[59] Akka: Actor References, Paths and Addresses: http://doc.akka.io/docs/akka/2.3.4/general/index.html
[60] Akka: Akka and the Java Memory Model: http://doc.akka.io/docs/akka/2.3.4/general/jmm.html
[61] Jamie Allen, «Effective Akka»: http://www.amazon.com/Effective-Akka-Jamie-Allen/dp/1449360076/
[62] wiki: Persistent data structure: http://en.wikipedia.org/wiki/Persistent_data_structure
[63] pcollections.org: http://pcollections.org/
[64] Chris Okasaki, «Purely Functional Data Structures»: http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504
[65] “Concurrent Programming in Java: Design Principles and Pattern”: http://www.amazon.com/Concurrent-Programming-Java-Principles-Pattern/dp/0201310090/
[66] “The Art of Multiprocessor Programming”: http://www.amazon.com/The-Multiprocessor-Programming-Revised-Reprint/dp/0123973376/
[67] курсы программирования: http://golovachcourses.com
[68] курса Java Core: http://habrahabr.ru/company/golovachcourses/blog/218841/
[69] youtube-канале: http://www.youtube.com/user/KharkovITCourses
[70] этой статье: http://habrahabr.ru/company/golovachcourses/blog/215275/
[71] Источник: http://habrahabr.ru/post/231755/
Нажмите здесь для печати.