Şimdi Ara

Java da cok tuhaf bir durum. (senkronizasyonla ilgili) (2. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
43
Cevap
0
Favori
878
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: önceki 123
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • seyfi84 S kullanıcısına yanıt
    merhaba hocam bilgilendirdiginiz icin tesekkur ederim.

    javayi daha ogrenme asamasindayim. yani ileri duzeye gecmedim daha. "Bunlar ileri konular" demissiniz. oysaki ben bu problemle karsi karsiya kaldigimda bunun ileri bir konu oldugunu bile bilmiyordum. suan calistigim kitabin 11. bolumu olan Multithreading adli konusundayim kitapta 16 bolum var geriye 5 bolum kaldi. ozaman simdilik ben bu durumu yani yaptigim deneyde anliyamadigim seyi not alayim ve sonra java da iyice ilerleyince tekrar donerim bu noktaya.

    bu arada @elektro_gadget synchronized deil dedi. ve java 9 documentasyaonunda da synchronized deil gozukuyor. fakat Eclipse ve Intellij de synchronized olarak gozukuyor tipki sizin dediginiz gibi.

    yukarida demistim muhtemelen bilmedigim cok spesifik bir durum soz konusu diye. anlasilan bunun gibi bir ileri konuyu ogrenmem icin java da daha fazla yol almam gerekcek.

    < Bu ileti DH mobil uygulamasından atıldı >
  • merhaba hocam bilgilendirdiginiz icin tesekkur ederim.

    javayi daha ogrenme asamasindayim. yani ileri duzeye gecmedim daha. "Bunlar ileri konular" demissiniz. oysaki ben bu problemle karsi karsiya kaldigimda bunun ileri bir konu oldugunu bile bilmiyordum. suan calistigim kitabin 11. bolumu olan Multithreading adli konusundayim kitapta 16 bolum var geriye 5 bolum kaldi. ozaman simdilik ben bu durumu yani yaptigim deneyde anliyamadigim seyi not alayim ve sonra java da iyice ilerleyince tekrar donerim bu noktaya.

    bu arada @elektro_gadget synchronized deil dedi. ve java 9 documentasyaonunda da synchronized deil gozukuyor. fakat Eclipse ve Intellij de synchronized olarak gozukuyor tipki sizin dediginiz gibi.

    yukarida demistim muhtemelen bilmedigim cok spesifik bir durum soz konusu diye. anlasilan bunun gibi bir ileri konuyu ogrenmem icin java da daha fazla yol almam gerekcek.

    Not: yaziklarimi forumda goremedim tekrar yolladim. 2 defa ayni seyi yazmis olabilirim.

    < Bu ileti DH mobil uygulamasından atıldı >




  • seyfi84 S kullanıcısına yanıt
    bu arada dediginiz kitabi ileride okumayi dusunuyorum.

    Edit:
    kitabi indirdim. yalnis bilmiyorsam bu kitap 2006 yilinda cikmis. eksi bir kitap ama gayet saglam bir kitaba benziyor.



    < Bu mesaj bu kişi tarafından değiştirildi psikolojikSorunlu.insan -- 6 Mart 2018; 3:45:44 >
    < Bu ileti DH mobil uygulamasından atıldı >
  • https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#join-long- sayfasina baktim, This implementation uses a loop of this.wait calls conditioned on this.isAlive kismini gorunce merak ettim, source code u acip baktim (standard java class larinin kodu mevcut, java kurulum klasorunde src.zip olmasi lazim, ac onu bak, eclipse/intellij de onu isliyor zaten sana assist yaparken), orada gordum synchronized oldugunu(dokumanda cikmamis)

    Java'da onemli (ve zor) konular generics, collections, exceptions, interface vs abstract, inheritence, patterns... Bunlari ogrendin mi? checked ile unchecked exception farkini biliyor musun? try with resources? inner class, nested class, anonymous class, local class? patterns zaten tumuyle baska bir alem. adapter, singleton, factory, builder, decorator...

    Thread olayi Swing'de var ama boyle join/wait/synchronized duzeyinde degil. Java thread leri spesifik bir konu, Java EE kullanirken bile thread leri dusunen yok, servlet, containers, application server bazinda olayi cozuyorsun.

    elektro_gitarin ne dedigi beni ilgilendirmez, cevaplari hep yanlis zaten, jazz yapiyor sadece

    < Bu ileti mini sürüm kullanılarak atıldı >




  • seyfi84 S kullanıcısına yanıt
    hocam saydiklarinizin bircogunu biliyorum. yani ukalalik yapmayayim illaki bilmedigim bazi seyler vardir biliyorum dediklerimde. ama saymak gerekirse bildiklerimin aklima gelenlerini sayayim: checked/unchecked exceptions, abstract class, interfaces (tam deil), inheritance, exceptions, multi catch, inner class, nested class, local class ve aklima gelmeyen birkac konu daha.

    bilmediklerimi soylesem zaten yaz yaz bitmez onlari da ogrenmeye calisiyorum.



    < Bu mesaj bu kişi tarafından değiştirildi psikolojikSorunlu.insan -- 6 Mart 2018; 13:18:33 >
    < Bu ileti DH mobil uygulamasından atıldı >
  • join metodu sync deil, join(long millis) metody synchronized.

    join(long millis) in implementasyonuna bakarsan, wait objesi state i degistirip lock'i birakmasina sebep oluyor.

    Debug edip, wait() satirina breakpoint koyup inceleyebilirsin. Wait yapana kadar diger threadler join metoduna giremezler sync oldugu icin.

    Aslinda senin bekledigin gibi calisiyor, wait yaparken diger thread de wait state ine dusuyor bu sebeple ayni anda beklemeye basliyorlar.

    wait metodunu kaldirip, yerine sleep(3000L) yazmis olsaydin tam senin bekledigin gibi davranacakti. Ama native wait metodu monitor state ini degistiriyor, sync olmasina ragmen join(long) metodu.

    Bu arada, thread i calistirmadan ( start ) join(long) cagirinca isAlive() false olacagindan wait metoduna dusmeyecek.



    < Bu mesaj bu kişi tarafından değiştirildi Mephalay -- 6 Mart 2018; 14:46:10 >
    < Bu ileti tablet sürüm kullanılarak atıldı >
  • seyfi84 S kullanıcısına yanıt
    hocam bu arada sormayi unuttum simdi aklima geldi ufak bir soru daha sormak istiyorum.

    https://docs.oracle.com/javase/9/docs/api/java/lang/Thread.html#join-long- bu linkteki metod imzasi bilerekmi yapilmis yoksa yalnislikla mi cunki bu metod gercekte synchronized ama bu linkte deil olarak gosteriyor.

    < Bu ileti DH mobil uygulamasından atıldı >
  • Mephalay M kullanıcısına yanıt
    hocam yazdiklarinizi not aldim cok tesekkurler.

    Edit:
    bu arada join metodu derken join(long millis) metodunu kastediyordum her defasinda yazmasi uzun oldugu icin join dedim sadece. yani join() metodunun synchronized olmadigini biliyorum.



    < Bu mesaj bu kişi tarafından değiştirildi psikolojikSorunlu.insan -- 6 Mart 2018; 14:50:6 >
    < Bu ileti DH mobil uygulamasından atıldı >
  • psikolojikSorunlu.insan P kullanıcısına yanıt
    Anladim. Bu arada oracle documentasyonunda sync detayi yazmiyor. Ornegin Vector class inda synchronized olan metodlar da documentasyonda belirtilmemis. Vector copyInto() metodu ornegin synchronzeddir ama doclarda bu belirtilmiyor. jdk9 u incelemedim ama degisecegini sanmiyorum, Vectorun olayi zaten o.

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: psikolojikSorunlu.insan

    anlamadıgınız kısım nedır soyleyın ona gore edıtleyeyım.

    Genel olarak kodlama ilgimi çekiyor hocam. Bir iki başlangıç kitabım da var ama üşengeçlik

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Forum1th kullanıcısına yanıt
    ingilizceniz varsa ve seviyorsaniz ve tabi bazi spesifik durumlar soz konusu deilse baslayin derim.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • psikolojikSorunlu.insan P kullanıcısına yanıt
    O dokumanlari javadoc ile source code lardan otomatik olarak generate ediyorlar. Javadoc araci synchronized ve native modifier lari gostermiyor, bak surada yazmishttps://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html#sthref83

    The javadoc command can include the modifiers public, protected, private, abstract, final, static, transient, and volatile, but not synchronized or native. The synchronized and native modifiers are considered implementation detail and not part of the API specification

    < Bu ileti mini sürüm kullanılarak atıldı >
  • seyfi84 S kullanıcısına yanıt
    tesekkurler tekrardan.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: psikolojikSorunlu.insan

    ingilizceniz varsa ve seviyorsaniz ve tabi bazi spesifik durumlar soz konusu deilse baslayin derim.

    Hocam ingilizce çok yok, idare eder. Bilgisayarla ilgili terimleri öğrenirim zaten gerekirse. Araştırmayı severim. Ama üşengeçlik

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: psikolojikSorunlu.insan

    hocam saydiklarinizin bircogunu biliyorum. yani ukalalik yapmayayim illaki bilmedigim bazi seyler vardir biliyorum dediklerimde. ama saymak gerekirse bildiklerimin aklima gelenlerini sayayim: checked/unchecked exceptions, abstract class, interfaces (tam deil), inheritance, exceptions, multi catch, inner class, nested class, local class ve aklima gelmeyen birkac konu daha.

    bilmediklerimi soylesem zaten yaz yaz bitmez onlari da ogrenmeye calisiyorum.

    eğer ezberlemiyorsan, anlayarak ilerliyorsan, reasoning yapabiliyorsan, gayet iyi. bundan sonra framework'lere yönelebilirsin, iyi yazılmış open source java projelerini inceleyebilirsin.

    bu başlık altında sorduğun iyi bir soruydu, 3-5 ay önceki soruların çok kötüydü gibi hatırlıyorum, ilerleme kaydetmişsin, devam et.

    < Bu ileti mini sürüm kullanılarak atıldı >




  • seyfi84 S kullanıcısına yanıt
    tesekkur ederim. biraz agir ilerliyorum java da, planlamaya gore suan cok daha ileride olmam gerekiyordu yani bazi seyleri anlamak insanin cok zamanini aliyor. daha oncede dedigim gibi 11. konudayim 5 konu daha var. sonra onemli kutuphaneleri ogrenip Android alanina dogru yol almayi dusunuyorum.

    bu arada open source yazilimlardan olan jdownloader adli bir yazlimin kodlarini incelemistim interface'leri anlamak icin baya faydasi oldu. fakat yazilimin boyutu asiri buyuk yani sayisiztane kod yazilmis cok devasa bi yazilim. baska bir open source yazilim bulamadigim icin onu inceledim. bildiginiz buyuk olmayan ufak, orta derecede open source birkac yazilim soylerseniz benim icin cok iyi olur. cunki onlarin kodlarini incelemenin bana bayagi faydasi olacagini dusunuyorum.

    son olarak jdownloader yazilimi hakkinda cok ilginc birsey soyleyeyim. yazlimin kodlarin da inceledigim interface'lerin %70'i nden fazlasi sadece set ve get metodlarini iceriyordu.

    tekrardan tesekkurler.

    < Bu ileti DH mobil uygulamasından atıldı >




  • psikolojikSorunlu.insan P kullanıcısına yanıt
    jdownloader bence fazla. o devasa kod içinde navigate etmek de zor. ben daha çok Apache projelerini ima etmiştim, mesela Apache Commons içnideki class'lar. veya standard Java sdk içinde ImageIO paketi var, ilginç bir class hierarchy tasarlamışlarhttps://docs.oracle.com/javase/8/docs/api/javax/imageio/package-summary.html ve bununla ilgili bir de technote var https://docs.oracle.com/javase/8/docs/technotes/guides/imageio/spec/imageio_guideTOC.fm.html

    < Bu ileti mini sürüm kullanılarak atıldı >




  • seyfi84 S kullanıcısına yanıt
    verdiginiz linkleri inceleyecegim tesekkurler.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • psikolojikSorunlu.insan P kullanıcısına yanıt
    Ben de teşekkür ederim. Google'da basit bir arama ile sonucu bulunmayan ilginç bir konu açtın, teknik dilin dışına çıkmadın, kısa öz kod koydun, bulgu-test-gözlem-sonuç, hepimiz faydalandık (anlayana). Bu forumda yılda bir kez falan oluyor böyle konu (2018 kotasını doldurduk yani )

    ŞAhsi görüşüm iyi Java bilmek Android programlamanın %50si, gerisi material design ve app architecture. Bence şimdiden activity life cycle nedir, resource'lar nedir nasıl yüklenir, gibi şeyleri okumaya başla.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • seyfi84 S kullanıcısına yanıt
    umarim bircok kisi yararlanmistir. bu konuyu acmak ve tartismak guzeldi.
  • 
Sayfa: önceki 123
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.