Java’da paralel programlama
Kurs 1
- 19 saat
- 4,6 (1.205 derecelendirme)
Kurs detayları
ne öğreneceksin
Bu kurs, endüstri profesyonellerine ve öğrencilere Java 8 bağlamında paralel programlamanın temel kavramlarını öğretir. Paralel programlama, geliştiricilerin aynı anda birden fazla işlemci kullanarak uygulama performansını hızlandırmak için çok çekirdekli bilgisayarların avantajlarından yararlanmasına olanak tanır. Kursun sonunda, sunucular, masaüstü bilgisayarlar ve mobil cihazlar da dahil olmak üzere çok çeşitli çok çekirdekli platformlar için paralel programlar yazmak amacıyla Java’daki popüler paralel programlama çerçevelerini (ForkJoin, Stream ve Phaser gibi) nasıl kullanacağınızı öğreneceksiniz. Ayrıca Hesaplamalı grafikler, ideal paralellik, paralel hızlanma, Amadel yasası, bilgi yarışları ve determinizm dahil olmak üzere bunların teorik temellerini de öğreneceksiniz.
Neden bu kursu almalısınız?
- Tüm bilgisayarlar çok çekirdekli bilgisayarlardır, bu nedenle sıralı programlama bilginizi Java’ya nasıl genişleteceğinizi öğrenmeniz önemlidir.
- Java 7 ve Java 8, Java’nın ilk on yıllarından bu yana paralel programlama paradigmalarını önemli ölçüde değiştiren paralel programlama için yeni çerçeveler (ForkJoin, Stream) tanıttı.
- Kurstaki dört modülün her biri, kurs bittikten sonra öğrenilen kavramları uygulamanız için size yararlı pratik deneyimler sağlayacak minyatür bir naznachti projesine sahiptir.
- Kurs sırasında forumlardaki sorularınıza kişiselleştirilmiş yanıtlar almak için öğretim görevlisine ve danışmanlara çevrimiçi erişime ihtiyacınız olacak.
Kursun arzu edilen öğrenme çıktıları şunları içerir:
- Paralellik teorisi: hesaplamalı grafikler, iş, aralık, ideal paralellik, paralel hızlanma, Amadel yasası, bilgi yarışları ve determinizm
- Java’nın ForkJoin çerçevesiyle görev paralelliği
- Java’nın Future ve Stream çerçevelerini kullanan işlevsel eşzamanlılık
- Engeller ve yineleme gruplaması (parçalama) için uzantılarla döngü düzeyinde paralellik
- Phaser çerçevesini ve veriye dayalı görevleri kullanarak veri akışı paralelliği
Bu kavramlara hakim olmak, bunları çok çekirdekli Java programları bağlamında hemen uygulamanıza olanak tanıyacak ve aynı zamanda gelecekte yararlanacağınız diğer paralel programlama sistemlerine (C++11, OpenMP, .Net Görev Paralel Kitaplığı).
kazanacağınız beceriler
- Kategori: veri akışı
- Kategori: paralel programlama
- Kategori: Java metodolojisi
Java’da senkronize programlama
Kurs 2
Kurs detayları
ne öğreneceksin
Bu kurs endüstri profesyonellerine ve öğrencilere Java 8 bağlamında senkronize programlamanın temel kavramlarını öğretir. Senkronize programlama, geliştiricilerin paralel programlarda paylaşılan kaynakların kullanımını verimli ve doğru bir şekilde yönetmesine olanak tanır. Kursun sonunda Java’da süreçler (Threads), kilitler, kritik parçalar, atomik değişkenler, izolasyon, aktör modelleri, iyimser senkronizasyon ve senkronize koleksiyonlar gibi temel senkronizasyon yapılarının yanı sıra bunların teorik temellerini nasıl kullanacağınızı öğreneceksiniz. (ilerleme garantileri, Kilitlenme, Livelock, aç kalma ve doğrusallaştırılabilirlik gibi).
Neden bu kursu almalısınız?
- Yaygın fakat incelikli programlama hatalarından kaçınmak için senkronizasyonun teorik temellerinin farkında olmak önemlidir.
- Java 8, süreçlerin ve kilitlerin ilk günlerinden bu yana senkronizasyon yapılarının çoğunu güncelledi.
- Kurs sırasında forumlardaki sorularınıza kişiselleştirilmiş yanıtlar almak için öğretim görevlisine ve danışmanlara çevrimiçi erişime ihtiyacınız olacak.
- Kurstaki dört modülün her biri, kurs bittikten sonra öğrenilen kavramları uygulamanız için size yararlı pratik deneyimler sağlayacak minyatür bir naznachti projesine sahiptir.
Kursun arzu edilen öğrenme çıktıları şunları içerir:
- Senkronizasyon teorisi: ilerleme garantileri, kilitlenme, canlı kilit, açlık, doğrusallaştırılabilirlik
- Java’da işlemleri ve kilitleri sıralı/sırasız bir yapılandırmada kullanma
- Atomik değişkenler ve izolasyon
- Java’da iyimser senkronizasyon ve senkronize koleksiyonlar (senkronize kuyruklar, senkronize Hashmap’ler gibi)
- Java’da oyuncu modeli
Bu kavramlara hakim olmak, bunları senkronize Java programları bağlamında hemen uygulamanıza olanak tanıyacak ve gelecekte faydalanacağınız diğer senkronize programlama sistemlerinde (POSIX iş parçacıkları, .NET iş parçacıkları gibi) uzmanlaşmanıza yardımcı olacaktır.
kazanacağınız beceriler
- Kategori: Senkronizasyon (Bilgisayar Bilimi)
- Kategori: Oyuncu Modeli
- Kategori: İyimser Senkronizasyon Kontrolü
- Kategori: Senkronize programlama
Java’da dağıtılmış programlama
Kurs 3
- 17 saat
- 4,5 (489 değerlendirme)
Kurs detayları
ne öğreneceksin
Bu kurs endüstri profesyonellerine ve öğrencilere Java 8 bağlamında dağıtılmış programlamanın temel kavramlarını öğretir. Dağıtılmış programlama, geliştiricilerin verimi artırmak ve seçilen uygulamaların gecikmesini azaltmak için bir veri merkezinde birden fazla düğüm kullanmasına olanak tanır. Kursun sonunda Java programları için Hadoop, Spark, Sockets, Uzaktan Yöntem Çağırma (RMI), Çok Noktaya Yayın Soketleri, Kafka, Mesaj Aktarma Arayüzü (MPI) ve ayrıca çeşitli popüler dağıtılmış programlama çerçevelerinin nasıl kullanılacağını öğreneceksiniz. iş dağıtımı ve çoklu programlama süreçlerini birleştirmeye yönelik yaklaşımlar.
Neden bu kursu almalısınız?
- Veri merkezlerindeki tüm sunucular, dağıtılmış sunucu koleksiyonları halinde düzenlenmiştir ve bant genişliğini artırmak ve gecikmeyi azaltmak için birden fazla sunucunun nasıl kullanılacağını öğrenmek de önemlidir.
- Dağıtılmış programlamaya yönelik belirli çerçeveleri öğrenmenin yanı sıra, kurs size çok çekirdekli paralellik ile dağıtılmış programlamayı birleşik bir yaklaşımla nasıl birleştireceğinizi öğretecektir.
- Kurstaki dört modülün her biri, kurs bittikten sonra öğrenilen kavramları uygulamanız için size yararlı pratik deneyimler sağlayacak minyatür bir naznachti projesine sahiptir.
- Kurs sırasında forumlardaki sorularınıza kişiselleştirilmiş yanıtlar almak için öğretim görevlisine ve danışmanlara çevrimiçi erişime ihtiyacınız olacak.
Kursun arzu edilen öğrenme çıktıları şunları içerir:
- Hadoop ve Spark çerçevelerini kullanarak Java’da Dağıtılmış Harita Azaltma programlaması
- Java’nın Soket ve Uzaktan Yöntem Çağırma (RMI) arayüzlerini kullanarak istemci-sunucu programlama
- Java’daki Mesaj Aktarma Arayüzü (MPI) yardımıyla mesaj aktarımı için programlama
- Süreçler ve süreçler, dağıtılmış aktörler ve reaktif programlama dahil olmak üzere iş dağıtımını çok süreçli programlamayla birleştirmeye yönelik yaklaşımlar
Bu kavramlara hakim olmak, bunları dağıtılmış Java programları bağlamında hemen uygulamanıza olanak tanır ve ayrıca gelecekte karşılaşacağınız diğer dağıtılmış programlama sistemlerinde (Scala veya C++ gibi) uzmanlaşmak için temel sağlar.
kazanacağınız beceriler
- Kategori: Dağıtılmış programlama
- Kategori: Oyuncu Modeli
- Kategori: paralel programlama
- Kategori: reaktif programlama