Java Uygulaması Performans Ayarı ve Bellek Yönetimi - Udemy - VPP - İngilizce

Java Uygulaması Performans Ayarı ve Bellek Yönetimi

Eğitime BURADAN ulaşabilirisiniz.

Kodlama seçenekleri, kıyaslama, performans ayarı ve bellek yönetiminin Java uygulamalarınızı nasıl optimize edebileceğini keşfedin



Gereksinimler

Java programlamanın temel çalışma bilgisi gereklidir, ancak Java uzmanı olmanıza gerek yoktur!

Tanım

Bu kursta, uygulamalarımızda performans sorunlarına nelerin neden olabileceğini ve bunların nasıl çözüleceğini anlayacağız. Bu, tasarım zamanında geliştiriciler olarak bize sunulan seçeneklerden bazılarının gözden geçirilmesini içerir - optimum performans için iyi kodlama seçimlerinin nasıl yapılacağı. Örneğin, bir LinkedList yerine ne zaman bir ArrayList seçmelisiniz? StringBuilder gerçekten ne kadar fark yaratır? Belirli işlemlerde Lambda sözdizimi daha fazla veya daha az verimli midir? Ayrıca, bir dizi çalışma zamanı bağımsız değişkeni ile çalışma zamanında daha iyi performans sağlamak için sanal makineyi yapılandırabileceğimiz çeşitli yollar hakkında bilgi edineceğiz. Ayrıca, sanal makinenin belleği nasıl yönettiğini ve çöp toplama sürecinin nasıl çalıştığını ve uygulama performansını nasıl etkilediğini derinlemesine inceleyeceğiz.






Yol boyunca Tam Zamanında derleyici, performans testi ve kıyaslama, bayt kodunu çözme, GraalVM'yi alternatif bir sanal makine olarak kullanma ve daha fazlasını öğreneceğiz.


Java Sürümleri Hakkında:  Bu, bu kursun ikinci tekrarıdır ve Java'nın uzun vadeli desteği olan tüm güncel sürümleri için tasarlanmıştır (Java 8 , Java 11 ve Java 17). Bu sürümlerden herhangi biriyle birlikte takip edebilirsiniz. Oracle veya OpenJDK JVM'leri de kullanabilirsiniz. Diğer JVM dillerini (Kotlin, Scala ve Groovy gibi) kullanan geliştiriciler için, bu kursun tüm JVM yapılandırma bölümleri hala geçerli olacaktır ve bazı kodlama seçeneklerinin de dikkate alınması faydalı olabilir. (Kotlin'in Java'dan daha iyi veya daha kötü performans sağlayıp sağlamadığına dair bir inceleme bile olduğunu unutmayın!)

Puan: 5 üzerinden 4,6

4.6

 (3.526 puan)

28.993 öğrenci tarafından satın alındı , 

Son güncelleme 2/2022

İngilizce

Türkçe [Otomatik]

ne öğreneceksin

Uygulamalarımızda performans sorunlarına nelerin yol açabileceği ve bunların nasıl çözüleceği.

Tasarım zamanında geliştiriciler olarak bize sunulan seçenekler - optimum performans için iyi kodlama seçimlerinin nasıl yapılacağı.

Çalışma zamanında daha iyi performans sağlamak için sanal makine nasıl yapılandırılır.

JVM'nin Tam Zamanında derleyicisi.

Sanal makine belleği nasıl yönetir?

Performans testi ve kıyaslama




Ön izleme

04:00

Bu kursla birlikte verilen örnek kod

01:01

Farklı JDK ve JVM satıcıları kullanma

01:37

Ön izleme

05:11

Bu kursu alırken nasıl destek alabilirsiniz?

01:51

Ön izleme

03:03

Ön izleme

05:51

İlk örnek projenin tanıtılması

03:35

Uygulamalarımızda hangi yöntemlerin derlendiğini bulma

05:23

C1 ve C2 Derleyicileri ve derleme etkinliğinin günlüğe kaydedilmesi

04:43

Kod önbelleği boyutunu ayarlama

06:18

JConsole ile kod önbelleğini uzaktan izleme

08:29

Ön izleme

04:32

Çalışma zamanında hangi derleyicinin kullanılacağını belirleme

06:34

Katmanlı derleme kapatılıyor

02:04

Sanal Makine içinde yerel derlemeyi ayarlama

09:58

Ön izleme

02:57

Yığın nasıl çalışır?

05:56

yığın nasıl çalışır

05:25

Yığın ve yığın birlikte - bir örnek

07:46

"Değerine göre geçmek" ne anlama geliyor?

04:54

"Referans yoluyla geçmek" ne anlama geliyor?

02:20

Nesneleri yöntemlere geçirmek

04:13

Son anahtar kelime ve neden bir sabitle aynı şey olmadığı

03:09

final anahtar sözcüğü neden bir nesnenin değerlerinin değiştirilmesini durdurmuyor?

05:42

Egzersiz için talimatlar

01:35

Çözümün gözden geçirilmesi

08:46

Giriş - kaçış referansı nedir?

05:33

Strateji 1 - bir yineleyici kullanmak

07:31

Strateji 2 - koleksiyonları çoğaltma

06:54

Strateji 3 - değişmez koleksiyonları kullanma

04:38

Strateji 4 - nesneleri çoğaltma

05:06

Strateji 5 - değişmez nesneler oluşturmak için arabirimleri kullanma

04:39

Strateji 6 - uygulamayı gizlemek için modülleri kullanma

09:49

Egzersiz için talimatlar

04:40

Çözümün gözden geçirilmesi

07:39

Metaspace'in rolü

05:09

PermGen

01:58

Nesneler her zaman öbek üzerinde mi oluşturulur?

04:14

Dize Havuzu

06:08

Dahili Dizeler

03:03

Dize havuzu nasıl uygulanır?

04:10

Dize havuzunun boyutunu ve yoğunluğunu anlama

11:36

Dize havuzunun boyutunu ayarlama

03:28

Yığın boyutunu ayarlama

07:44

Yığın ayarlama bayrakları için kısayol sözdizimi

03:06

Ön izleme

04:57

Java, Öbek'ten hangi nesnelerin kaldırılabileceğini nasıl bilir?

02:49

System.gc() yöntemi

04:28

Java 11'in çöp toplayıcısı, kullanılmayan belleği işletim sistemine geri verebilir

03:52

System.gc() yöntemini çalıştırmak neden iyi bir fikir değil?

02:05

finalize() yöntemi

05:17

finalize() kullanmanın tehlikesi

03:28

Yumuşak sızıntı nedir?

08:51

(J)VisualVM Tanıtımı

06:58

Yığın boyutunun zaman içinde izlenmesi

02:59

Sorunu çözme ve yığın boyutunu kontrol etme

04:15

Yığın dökümü oluşturma

03:13

Bir yığın dökümü görüntüleme

05:20

Çöp toplayıcı, çöpün ne olduğunu nasıl anlar?

03:53

Yığın neden nesillere ayrılmıştır?

04:06

Genç Neslin İçselleri

05:00

Nesilleri VisualVM'de görüntüleme

06:10

Yumuşak bir sızıntı olduğunda yığını görüntüleme

03:05

Çöp koleksiyonlarını izleme

06:27

Otomatik yığın tahsisi boyutlandırmayı kapatma

05:47

Ayarlama çöp toplama - yaşlı ve genç ayırma

04:55

Ayarlama çöp toplama - kurtulan alan tahsisi

02:24

Çöp toplamanın ayarlanması - nesillerin yaşlanması gerekiyor

02:06

Bir çöp toplayıcı seçmek

05:37

G1 çöp toplayıcı

04:10

G1 çöp toplayıcının ayarlanması

01:54

Dize tekilleştirme

02:52

Ön izleme

03:44

JMC ikili dosyalarını oluşturma

05:16

JMC'yi çalıştırma ve bir VM'ye bağlanma

03:30

Genel bakış sekmesini özelleştirme

03:41

MBean Tarayıcı sekmesi

01:40

Sistem, Bellek ve Teşhis Komutları sekmeleri

02:24

Sorunlu projemizi tanıtıyoruz

07:59

Uçuş kaydediciyi kullanma

09:02

Bir uçuş kaydını analiz etme

04:22

Uygulamamızı geliştirmek

04:39

Kıyaslama neden basit değil?

06:10

Kıyaslama için kodu ayarlama

05:51

Mikro kıyaslama için basit bir yaklaşım

01:53

Isınma periyodunda ekleme

04:37

İki kod alternatifini karşılaştırma

02:30

Makro karşılaştırmayı kullanma

05:10

JMH kıyaslama aracını yükleme

04:18

Kıyaslama oluşturma ve çalıştırma

05:56

Farklı kıyaslama modlarını kullanma

03:09

Alıştırma 1 için talimatlar (uçuş kaydı oluşturma)

01:40

Çözümün gözden geçirilmesi ve bir sonraki zorluk için hazırlık

05:12

Alıştırma 2 için talimatlar (projeyi makrobenchmarklamak için JMH kullanın)

01:54

Çözümün izlenecek yolu - 1. bölüm kodu ayarlama

05:17

Çözümün izlenecek yolu - 2. bölüm - JMH'ye entegre etme

07:09

Farklı List uygulamalarının nasıl çalıştığını anlamak neden önemlidir?

01:39

8 farklı liste uygulaması

01:39

CopyOnWriteArrayList

02:37

Dizi Listesi

06:02

Bir ArrayList'in başlangıç ​​boyutunu belirtme

05:32

vektör

02:55

Yığın

01:18

Bağlantılı Liste

03:07

En uygun liste türünü seçme

06:57

Listeleri sıralama

02:37

Hashmapler Nasıl Çalışır - PART 1

03:17

Hashcode'un rolü

01:19

Hashmap'ler Nasıl Çalışır - PART 2

03:46

Bir HashMap'in başlangıç ​​boyutunu ve faktörünü belirtme

04:30

HashMap Performansı

02:31

Hashcode kuralları

04:15

Hashcode yöntemini oluşturma ve optimize etme

06:29

Hashmap Performansını Optimize Etme

00:49

LinkedHashMap Nasıl Çalışır?

04:52

HashTable ve TreeMap

01:50

Kodlama seçeneklerini nasıl karşılaştıracağımıza giriş

01:41

İlkelleri nesnelerle karşılaştırma

02:54

BigDecimals ile Double'ları Karşılaştırma

03:46

StringBuilder'ı Kullanma

04:46

Döngüleri ve akışları karşılaştırma

06:41

Günlüğe kaydetme hakkında bir not

03:57

GraalVM nedir?

06:45

GraalVM'yi Yükleme

02:59

Graal Sanal Makineyi Kullanma

06:35

Graal Derleyicisini Kullanma

02:24

Graal ile yerel görüntü oluşturma

04:14

OpenJDK içinde Graal deneysel özelliklerini kullanma

03:34

Diğer JVM Dillerini kullanma ilkeleri

07:04

Javap ile bayt koduna bakmak

10:50

Bayt kodunu Java'ya geri ayırma

07:22

OpenJ9 Sanal Makinesi ve Java'nın gelecekteki sürümlerinde neler olacak?

03:01

Bonus ders


Please Select Embedded Mode To Show The Comment System.*

Daha yeni Daha eski

نموذج الاتصال