Harun Reşit Zafer

bâki kalan bu kubbede bir hoş sadâ imiş

Etiket: java (sayfa 1 / 3)

Java OutOfMemoryError için Netbeans JVM Ayarları

Yaklaşık 650 MB’lık bir text dosyasını okumaya çalışınca aşağıdaki hatayı aldım:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Java sanal makinesi varsayılan olarak 256 MB maksimum bellek ayırıyor. Programınız ihtiyacı bunun üzerinde olunca yukarıdaki hatayı alıyorsunuz. Ancak JVM’ye aşağıdaki komutlarla ilk ve maksimum bellek miktarını belirtebiliyorsunuz.

java -Xmx2048m -Xms256m okumaya devam

Windows Netbeans Maven Türkçe Karakter Problemi

Windows’ta Netbeans ile yeni bir Maven projesi açtığınızda Türkçe karakterlerin doğru görüntülenmediğini farkettim. Yaklaşık 3 saat süren çabalardan sonra bulabildiğim tek çözüm:

System.out.println( "ÇİĞÇŞÜçığöşü--" );

kodunun çıktısı

Ç??Ç?Üç??ö?ü--

şeklinde görünüyor. Aynı şey dosyaya yazma yaparken de geçerli. Görebildiğim kadarıyla bu henüz çözülmemiş bir bug. Sorunun Netbeans’ten kaynaklandığını teyid etmek adına aynı kodu IntelliJIdea ile de çalıştırdım ve sorun olmadığını gördüm. Aynı şekilde linux ortamındaki Netbeans de sorunsuz çalışıyor. Lafı fazla uzatmadan işe yarayan tek çözümü açıklayayım: okumaya devam

Java ile Geçen Sürenin Ölçülmesi

Java’da, geçen zamanın hesaplanması için iki temel metot System.currentTimeMillis() ve  System.nanoTime()’dır. Her ikisinin de kullanımı benzer şekilde.  Bu yazıda her ihtiyacımız olduğunda kullanabileceğimiz bir Kronometre (Timer) sınıfını tanıtmak istiyorum. Öncelikle bu iki metotun doğrudan kullanımlarını görelim:

currentTimeMillis

long startTime = System.currentTimeMillis(); 
 // ... zaman alan bazı işlemler ... 
 long endTime = System.currentTimeMillis();
 long estimatedTime = endTime - startTime; // Geçen süreyi milisaniye cinsinden elde ediyoruz
 double seconds = (double)estimatedTime/1000; // saniyeye çevirmek için 1000'e bölüyoruz.

okumaya devam

Java ve SQLite: Örnek Veritabanı Uygulaması – 4

Bundan önceki üç makale MySql veritabanı kullanan küçük masaüstü uygulamalarıydı. Ancak MySql aslında masaüstü uygulamalarında kullanılmak için tasarlanmış bir veritabanı yönetim sistemi değil. Daha çok web ve dağıtık uygulamalar için kullanılan bir çözüm. Bu nedenle veritabanı bir sunucu üzerinden hizmet veriyor ve veritabanını kullanacak olan tüm uygulamalar veriye bu sunucu üzerinden ulaşıyor. Bir masaüstü uygulamasının ihtiyaç duyacağı yerel bilgileri MySql veritabanı kullanarak sakladığımızda, o uygulamayı kuracağımız her bilgisayara bir de mysql sunucu kurmamız, hatta veritabanını da sunucuda yeniden oluşturmamız gerekiyor. Sözün kısası uzun zamandır bu problemle ilgili sorular geliyordu ve çözüm olarak Sqlite’i öneriyordum. Bu yazıda bu önerimi örnek bir uygulama ile pekiştireceğim. Bu arada Sqlite veritabanını kullanan uygulama ve işletim sistemlerinden bazılarının Firefox, Opera, Chrome, Skype, Dropbox, Windows Phone 8, Apple iOS, Symbian Os, Google Android vs. olduğunu hatırlatalım. okumaya devam

Java ile Tüm Veri Tipleri için Permütasyon ve Kombinasyon

Uzun zaman önce her veri tipi üzerinde çalışacak (generic) ve bir listedeki elemanların permütasyon, kombinasyon ve k’lı permütasyonunu bulacak bir Java koduna ihtiyaç duydum. Konu genel olduğundan Java’da aradığım gibi bir kodu hemen bulurum diye düşünmüştüm. Ancak gariptir ki bulduğum kodlar yalnızca tamsayı ya da string’ler üzerinde çalşıyor ve kolay bir kullanım sunmuyorlardı. Sonuç olarak tamsayılar üzerinde çalışan ancak belirli bir algoritmaya dayanan ve yinelemeli olmayan (non-recursive) bir kod üzerinde gerekli eklemeleri yaparak ihtiyacım olan sıfıları yazmıştım. Kodların bulunduğu sayfada kullanılan algoritmaya referans da verilmişti. Özet olarak etkili ve güvenilir bir çözüm idi.

Lafı neden bu kadar uzattım? Çünkü bu sayfalara olan linkler ölmüş. Ve ben kaynak göstermek adına bu sayfaları hiç bir yerde bulamıyorum. Yine o zamanlar yazdığım kodları stackoverflow’da paylaşmıştım. Uzun bir aradan sonra burada aynı paylaşımı Türkçe olarak yapmaya karar verdim. Konuya geçelim: okumaya devam

Java Swing Pencerler Arası İletişim


Java’da swing ile birden fazla pencere kullanan herkesin aklına “bir pencereden diğerini nasıl kontrol edebilirim” sorusu gelmiştir her halde. Bu yazıda bunu örneklemeye çalışacağım. Birbiri ile bağlantılı 3 pencere olacak projemizde. Bunları ana pencere, çocuk pencere ve torun pencere olarak isimlendirelim. Tahmin edebileceğiniz gibi ana pencere’de bir butona basıldığında çocuk pencere, çocuk pencerede bir butona basıldığında torun pencere açılacak. okumaya devam

Eski yazılar

© 2017 Harun Reşit Zafer

Temayı tasarlayanAnders NorenYukarı ↑