fbpx

Java 多執行緒( Multithreading),併發( Concurrency )和效能最佳化

Contents

成為 Java 多執行緒( Multithreading ),併發( Concurrency )和平行( Parallel )在高效能方面的程式設計專家

從這 4 小時的課程,你會學到

  • 充滿信心地用 Java 構建設計良好、正確的多執行緒應用程式
  • 掌握最新軟體架構的專家級實用知識和使用執行緒進行低階程式設計
  • 建立高效能和高響應的應用程式,客戶將使用和喜愛
  • 學習使用 Java 的併發和平行程式設計來利用電腦效能

要求

  • 一台 Windows、 Mac 或 Linux 電腦
  • Java 8或以上版本的 JDK
  • 基本的 Java 程式設計知識 ( 請參考 Java 程式設計學習地圖 )

課程說明

描述

如果你有自己的噴射飛機,你會開著它去雜貨店,還是開著它環遊世界?

今天,每台電腦和手機都擁有強大的運算能力和多核心處理器,可以實現完全的平行處理。 在本課程中,你將踏上學習成為一位有自信而成功的多執行緒應用程式開發人員所需的所有基本工具的旅程。 使用多執行緒和併發,我們將學習如何最大限度地利用我們的電腦,使其真正飛行!

教學哲學

這門課的目的是教你“如何釣魚”。 我們將學習多執行緒程式設計的基礎知識,從完整的基礎開始,一直到多執行緒的高階主題,而不是去記憶類別、程式庫或者 Java APIs。

所有講座都包括正確的理論,並附有相關領域的範例,如:

  • 使用者介面應用程式
  • 影像處理
  • Web 應用程式
  • 運算程式
  • 還有其他的

這是一門實用的課程,目的是為了節省你的時間。 我根據自己的實際經驗,選擇了最重要的主題,而不是花幾個小時來填充材料。

本課程的目標學生

  • 具有一定 Java 程式設計經驗和基本知識的學生。
  • 希望在短時間內掌握多執行緒、平行程式設計和併發技能的學生。
  • 對最化效能感興趣並在上述主題中有良好基礎的學生。
  • 希望將自己的職涯提升到一個新高度的學生
    • 剛剛畢業,你正在尋找一份理想的工作。
    • 一個想成為一個更好的程式設計師並提高你技能的專業工程師。
    • 想開發自己的專案,並希望學習如何編寫高效能的多執行緒程式碼的自由工作者。
    • 那麼這門課就是為你而設的!

簡短的自我介紹

我對多執行緒和併發的熱情始於大學時期,當時我參與了一個由 IBM 贊助的高度可擴展、分散式的 B+ Tree 研究專案。

後來,我在英特爾公司擔任計算機架構工程師,在其他公司擔任軟體工程師,在那裡,我開發了許多應用程式和功能,涉及高效和最佳化的多執行緒程式碼,以提供即時影片、音訊和資料的教育、醫療、擴增實境和廣告技術。

今天我是首席軟體工程師和軟體架構師。 培訓和指導各級工程師既是我的工作,也是我的熱情所在。

我們將會學習

  • 多執行緒和併發的作業系統基本原理和動機。
  • 多執行緒的基礎——如何在 Java 中建立執行緒以及在 Java 中執行緒之間的通訊。
  • 多執行緒和平行應用程式的效能考慮和設計模式。 針對延遲或吞吐量( throughput )進行最佳化。
  • Java 中執行緒之間的資料共享。 所有的陷阱和挑戰以及解決方案和最佳實踐。
  • 高階無鎖( lock-free )演算法和資料結構,提高了響應能力和效能。

課程結束時

你能做到的

  • 用 Java 編寫正確的、響應迅速的、高效能的多執行緒應用程式,用於任何用途和規模。
  • 將最佳實踐應用於架構多執行緒應用程式、演算法和程式庫。
  • 瞭解併發和平行程式設計,這將幫助你在工作面試,在你的日常工作作為一個工程師,以及在你的個人專案。

今天就成為 Java 多執行緒,併發性和效能優化的專家

FAQs

“這門課能幫助我回答面試中的問題嗎? ”

Yes ! 本課程的重點是幫助您通常熟練掌握多執行緒和併發性,特別是掌握 Java 中的多執行緒。 你將學習所有你需要的關於 Java 中執行緒的知識,以及面試中常見的問題,包括鎖定( Lock )、 Java 中的同步、Heap 和堆疊記憶體組織等等。 雖然這門課程不是專門針對面試問題,也沒有辦法預測你在面試問題中會被問到什麼,但是你所獲得的知識肯定會讓你與其他面試者有所不同。

– 「該課程是否涵蓋 Java 的所有執行緒類別和 APIs ? 」

“沒有。 有許多書籍和昂貴的學校課程,涵蓋了每一個單一的類別和 API,需要幾個月才能完成。 此外,Oracle 提供了優秀的 java 文件,它涵蓋並解釋了每一個 Java 多執行緒 API 和類別。 這門課不一樣! 根據多年在這個領域的經驗,我精心設計了一個簡短的課程,在很短的時間內教給你所有的基本知識。 沒有濫竽充數! 不要再浪費時間去學習那些你可以在5分鐘內讀完或者根本不需要的東西了! 本課程將幫助你成為多執行緒和併發性方面的專家奠定基礎。 在未來也能夠成功和容易地,擴展你自己的知識。

– “如果我在課堂上聽不懂某些東西,我有一個問題,我該怎麼辦? ”

沒問題! 我是來幫助你成功的! 多執行緒並不是一個簡單的主題,沒有人被期望可以馬上了解。 每堂課都有一個問答環節,學生可以在那裡提問關於課程的問題或者任何關於課程主題的後續問題。 我(老師)會及時回答所有的問題,並確保你擁有成功的所有工具。 –

“課程是否包括行程間通訊和分散式系統? ”

沒有。 雖然這些都是非常有趣和重要的主題,涉及到併發。 它們與 Java 多執行緒沒有直接關係,而 Java 多執行緒是本課程的主要主題。 我們在課程中確實提到了這些主題,但它們超出了範圍,應該有自己的課程。 這些概念、使用者案例和挑戰與我們在最佳化單個多執行緒 Java 應用程式、演算法或程式庫的效能時遇到的概念、使用案例和挑戰非常不同,所以我們在這裡不討論它們。

– “Why do I need a separate course for concurrent programming?”

– “為什麼我需要一個單獨的併發程式設計課程? ”

併發程式設計與過渡順序程式設計( transitional sequential programming )有著根本的不同。 在每一個工程決策中,總會有一個權衡。 並行和併發程式設計可以對應用程式的效能和響應能力產生巨大的積極影響,但要做到這一點則困難得多。 在本課程中,我們將學習所有的注意事項、技術和最佳實踐,以充分利用 Java 中的多執行緒應用程式。

目標受眾

  • 希望學習多執行緒程式設計和併發的學生
  • 希望生產最高品質和最高效能軟體的學生
  • 想把自己的職涯提升到一個新的水平,成為真正的專家的工程師
  • 希望脫穎而出,找到理想的工作的大學生和應屆畢業生

講師簡介

Michael Pogrebinsky 專業軟體工程師 | 軟體架構師 | 導師

Michael Pogrebinsky 是一位經驗豐富的軟體工程師和軟體架構師。

在他的職涯中,他開發了許多旗艦產品,並為 Google、英特爾(Intel)等公司開發了尖端解決方案和技術。

他主要對即時和高規模的軟體感興趣,並在許多領域的領先公司展示了他的技術領導能力。

他也是程式語言和技術的不可知論者( agnostic ),他的教學方法強調理解核心基礎知識,培養正確的思維方式和良好的實踐經驗。

他對技術的熱情使他成為其他工程師和學生的良師益友,他很高興能在 Udemy 分享他的知識和經驗。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

  • 點選這個優惠連結 課程特價 | Udemy 永久擁有課程 NT330 起( 在電腦瀏覽器登入,點選“優惠連結”後再回想要的課程介紹中點選“報名參加課程”即可取得 )
  • Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
  • 手機上點選優惠連結看到的價格比電腦上看到的貴
  • $代表當地貨幣, 如在台灣為 NT
  • 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


Lingoda

也許你會有興趣


不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: