Bu Kategoriye İçerik Girin veya Soru Sorun

Kategori İçi Sözlük

Bu Sayfayı Paylaş:

/usr/bin/java: /lib/ld-linux.so.2: bad ELF in.. Binary Repository Manager Feature Matrix Bytecode CentOS İşletim Sisteminde JDK (Java Developme.. Classpath CLASSPATH Derleme Süreci Eclipse Memory Analyzer - MAT IBM HeapAnalyzer Java Classpath Ayarları Java VisualVM JDK (Java Development Kit) JDK ve NEtbeans Kurulumu JProfiler JRE (Java Runtime Environment) jvisualvm, jmxsh, jstat (potpuri*) Uygulama Çalıştırılması Sırasında JVM'nin Dil.. Windows'da Java Ortamı Kurup Derleme ve Çalış.. Windows'da Java ve JDK Kurulumu ve Versiyonu .. Windows JDK 8 Kurulumu Yorumlama Süreci

JDK (Java Development Kit)

Tanım: Java'da kod yazmak ve java programlarını çalıştırmak için gerekli araçları içeren geliştirme kiti.

JRE (Java Runtime Environment)

Tanım: Java'da yazılmış programları çalıştırmaya yarayan uygulama. Java'da yazılmış bir uygulamanın bir bilgisayarda çalışması için o bilgisayarda JRE yüklü olmalıdır.

Bytecode

Tanım: Java kodlarının derlendiğinde çevrildiği ve JVM (Java Virtual Machine) tarafından çalıştırılabilen kod

Classpath

Tanım: Java derleyicisi (JDK) ve çalıştırıcısının (JVM) gerekli olan sınıfları ve paketleri bulabilmesi için verilen path (işletim sisteminde dizin veya bir dosyanın konumu), zip veya jar dosyası bilgileri. Çalıştırma ve derlemede değerler "classpath" veya "cp" parametresiyle verilirler

CLASSPATH

Tanım: Java kurulu ortamda tanımlanan, varsayılan olan classpath değerlerinin tanımlandığı sistem değişkeni. Bir uygulamayı çalıştırırken ve derlerken CLASSPATH değişkeninde tanımlı olan sınıf ve paketler java tarafından kullanılacaktır

Java VisualVM

Tanım: JVM üzerinde çalışan Java uygulamaları ile ilgili bilgi alınmasını ve izlenmesini sağlayan bir grafik arayüzü aracı

Eclipse Memory Analyzer - MAT

Tanım: Java uygulamaları için bellek sızıntıları (memory leak) ve bellek tüketimini incelemeyi ve bulmayı sağlayan bir GUI aracı. Eclipse kurumuna aittir.

JProfiler

Tanım: Java uygulamaları için performans sorunları, bellek sızıntıları (memory leak), threadleri inceleme (kilitlenme vb..) izlemeyi sağlayan bir GUI aracı. ej-technologies şirketine ait bir üründür.

IBM HeapAnalyzer

Tanım: Java uygulamaları için heap (memory - hafıza) dump dosyalarını analiz etmek için kullanılan bir araç.

Derleme Süreci


Java'da derleme sürecinin nasıl olduğunu gösteren resim. http://www.godoro.com sitesi üzerinden gösterilmektedir

Yorumlama Süreci


Java'da çalışma anında yorumlama sürecini gösteren resim. www.godoro.com üzerinden gösterilmektedir

JDK ve NEtbeans Kurulumu

Bu videoda JDK ve Netbeans kurulumu anlatılmaktadır
bu video 4 DVD'lik Java Göstermeli Öğretim Kümesi görüntülü eğitim setindeki videoların demosudur

Java Classpath Ayarları

Java derleme ve çalıştırma (veya başka bir araç) sırasında , kullanıcının yarattığı veya üçüncü parti üreticilerin ürettiği sınıfları bulabilmesi için classpath değerini kullanılırEğer uygulama içinde kullanılmaya çalışılan bir sınıf classpath'te tanımlı değilse hata oluşur
Classpath iki türlü set edilebilir :
  • Sistem değişkeni olan CLASSPATH set edilir
  • Kullanım sırasında (derleme , çalıştırma vb.. sırasında) -cp veya -classpath parametresi ile set edilebilir
Classpath'e aşağıdaki tipler eklenir :
  • Klasör : Bir klasör tanımlanırsa içindeki sınıflar ve paketler classpath'e eklenmiş olur
  • .Jar veya .Zip olarak : Sınıflar veya paketlerin sıkıştırıldığı dosyalar classpath'e eklenebilir
Classpath'e kullanılan özel işaretler aşağıdaki gibi kullanılır :
  • . : Bulununan klasörü belirtir. Herhangi bir classpath set edilmesse varsayılan olarak kabul edilir
  • * : Bir klasörün içi (C:\Test\* gibi) tanımlanırsa o klasör içindeki tüm .jar uzantılı dosyalar classpath'e eklenirler. (Bir klasörü eklemek alt klasörlerin eklendiği anlamına gelmez. Alt klasörler ayrı olarak verilmelidir)
Classpath' birden fazla tanım aralarına ";" ile eklenmektedir :
-cp D:\Test;C:\Test2\a.jar;C:\Test3\* 
veya
set CLASSPATH=D:\Test;C:\Test2\a.jar;C:\Test3\*

CentOS İşletim Sisteminde JDK (Java Development Kit) Kurulumu

CentOS'ta JDK kurmak için Oracle'ın JDK download sitesinden -rpm.bin ile biten rpm dosyasını indirmeniz gerekmektedir.
Oracle login olmayı gerektirdiği için wget'i kullanamazsınız
-rpm.bin uzantılı dosyayı indirdikten sonra kurulum için gerekli haklar verilir. (Örneğin dosyamız jdk-6u29-linux-x64-rpm.bin olsun)
chmod +x jdk-6u29-linux-x64-rpm.bin
rpm dosyası (paketi) aşağıdaki gibi kurulur :
./jdk-6u29-linux-x64-rpm.bin
Yukarıdaki ./ çalıştır komutu ile kurulum gerçekleştirilecektir
Doğrudan rpm uzantısından kurmak için
rpm -ivh jdk-6u29-linux-x64.rpm
komutunu kullanabilirsiniz. Eğer daha önce kurulu olan bir java varsa aşağıdaki gibi upgrade yapabilirsiniz:
rpm -Uvh jdk-6u29-linux-x64.rpm

Uygulama Çalıştırılması Sırasında JVM'nin Dil ve Bölgesel Ayarının Değiştirilmesi

Uygulama çalıştırılması sırasında JVM'nin dil ve bölgesel ayarı -Duser.language, -Duser.region seçenekleri (option) kullanılarak değiştirilebilir :
-Duser.language=en -Duser.region=US


Yukarıda sistemin dili İngilizce ve bölge ABD olarak ayarlanmıştır.

Eğer bölgelerde alt bölge varsa -Duser.variant'da kullanılabilir.

Windows'da Java Ortamı Kurup Derleme ve Çalıştırma

Windows'da java ortamı kurup derleme ve çalıştırma işlemi aşağıdaki adımları kullanarak yapabilirsiniz :
Adım 1 : SDK Kurucu'yu İndirin
SDK'yı download etmek için
www.oracle.com/technetwork/java/javase/downloads/index.html
adresine gidin. 'Windows (all languages)' ve 'SDK' bölgesinde download seçeneğini tıklayın. Çıkan anlaşmaya 'Accept' deyin. Daha sonraki sayfada çıkan asıl download linkini tıklayın ve dosyayı
c:\jdownload
klasörüne (yoksa yaratıp) kaydedin.
Adım 2 : SDK'yı Kurun
Kurucu programı ('c:\jdownload\.exe') çalıştırın ve klasör olarak
c:\jsdk
(yoksa yaratıp) verin.
Adım 3 : Bir Çalışma Dizini Yaratın
Diskte
c:\jwork
adıyla bir dizin yaratın.
Adım 4 : Basit Bir Uygulama Yazın
Çalışma dizinine 'c:\jwork\MyClass.java' şeklinde bir dosya yaratın ve içine şunları aynen yazın
public class MyClass{
	public static void main(String[] args){
		System.out.println("OK!");
	}
}
Adım 5 : Source Kodu Derleyin
c:\jsdk\bin\javac MyClass.java 
Adım 6 : Programı Çalıştırın
c:\jsdk\java -cp c:\jwork MyClass

Eğer ekranın son satırında "OK!" görüyorsanız sistemize Java başarıyla kurulmuş demektir. Yazdığınız class'ları aynı şekilde derleyebilirsiniz.

/usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory Hatası

Linux'da java -version komutu verildiğinde aşağıdaki gibi bir hata verebilir :
-bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

bu 64 bit ortama 32 bit JDK kurulmaya çalışıldığı veya kurulduğu anlamına gelmektedir.

Windows'da Java ve JDK Kurulumu ve Versiyonu Hakkında Bilgi Elde Etmek

Windows'da JDK kurulumu varsa ve versiyonu nedir öğrenmek istediğinizde komut satırından


java -version



komutu girilir.



Eğer


D:\Users\zteker>java -version
'java' is not recognized as an internal or external command,
operable program or batch file.



şeklinde bir cevap alıyorsanız JDK kurulu değil demektir. Ancak emin olmak için C:\Program Files veya C:\Program Files (x86) altında Java klasörüne bakabilirsiniz. Bu klasörlerde jre dizini varsa sadece runtime vardır ve JDK yoktur.



Eğer JDK var ise şuna benzer bir şey görülmelidir :


java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) Client VM (build 25.31-b07, mixed mode, sharing)



Başlat (Start) menüsünden About Java'ya tıklarsanız :





çalışma ortamın versiyonunu öğrenebilirsiniz :





Görüldüğü gibi runtime ortamının 7 olduğu görülüyor.

Windows JDK 8 Kurulumu




Öncelikle kurulum dosyasını indirmeniz gerekir. Bunun için www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html kullanılabilir. Windows için ilgili (64 bit windows için jdk-8u251-windows-x64.exe) dosyası indirilir.



Oracle hesabınız yok ise yaratmanız gerekir var ise login olmanız gerekiyor. Ardından exe dosyası indirilmeye başlanır. Kurulum da next next diyerek kolay bir şekilde gerçekleşmektedir.





Kurulum tamamlanınca doğrumamak için komut satırından java -version komutu yazılır.


D:\Users\zteker>java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)




bu şekilde bilgi geldiğinde kurulum tamamlanmıştır.

jvisualvm, jmxsh, jstat (potpuri*)

Sahipleri : Yusuf Boyacıgil
Java Monitoring ile ilgili bazı araçlar
potpuri, potbori veya potburi: bileşim, harman, karışım. İngilizcesi potpourri
Bu yazıda bi potpuri patlatacağım. Her ne kadar kendisinin anlamlarından biri: Birbirinden epey farklı şeylerden oluşan karışım da olsa, başlıkta geçen şeylerin hepsi “Java Monitoring” ile alakası olması bakımından aynı şeyle ilgili. Konu aslında DEVEloper’lardan ziyade SUPport’çuları ilgilendiriyor olsa da bir javacının bunları bilmesi iyi bir şeydir netekim.

jvisualvm


jvisualvm ile “local” veya “remote” jvm’e bağlanmak için illaki -Dcom.sun.management.jmxremote* system property’lerini uygulamayı başlatan java komutuna geçmek gerekir mi gerekirse hangi durumlarda gerekir buna dair: Visual VM Java 6 (jdk 1.6.x) üzerinde çalışan bir uygulamanın JMX Agent’ını otomatik olarak bulur. (Visual VM çalışan java uygulamalarını jps tool’u ile bulur. jps $JAVA_HOME/bin altında) Daha eski Java versiyonları için yukarıda bahsi geçen system property’lerini girmek gerekir. Ama otomatik bulmanın da istisnaları var:
Eğer uygulamayı çalıştıran kullanıcı ile jvisualvm’i çalıştıran kullanıcılar farklı ise,
Eğer uygulama uzaktaki makinede çalışıyorsa, jstatd çalışmıyorsa veya çalışsa bile uygulama ile farklı bir kullanıcı ile başlatılmışsa,
yine bahsi geçen system property’leri gereklidir.

jmxsh


jmxsh Apache 2.0 lisansı ile dağıtılan, code google’da open source, JMX agent’a komut satırından bağlanmak için bir arabirim. JConsole, JVisualVM gibi grafik ortam gerektirmediği için uzaktaki makineye bağlanıp hemen kullanılabilecek bir araç. Ayrıca script desteği de var. Bu ne demek diyenler için: Bir (tcl) script yazarak, mesela herhangi managed bean’in attribute’ları okunabilir/değiştirilebilir veya operasyonları çalıştırılabilir. Operasyonel açıdan mesela belli attribute’lar kontrol edilerek çalışan java uygulamasını sanity kontrolünü yapmak için bir script belirli aralıkla çalıştırılabilir, vs.

jstat


Java SDK ile gelen tool’lardan biridir kendisi prstat gibi, çalışan jvm ile ilgili bir kısım istatistiki bilgileri belli aralıklarla almak için kullanılır. Kullanımı çok zariftir. Hatta basitçe şöyledir:
jstat -<option> <vmid> [<interval>][<count>]

option şunlardan biridir:
-class
-compiler
-gc
-gccapacity
-gccause
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-printcompilation

vmid process id yani pid’dir.
interval N sn veya mili sn mesela 1s ve 100ms gibi.
count da haliyle 0′dan büyük bir sayıdır.
Nasıl mı? Şöyle:
> jstat -gccause 16642 1s
S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC
42.78 0.00 50.07 15.08 30.53 44 4.605 0 0.000 4.605 unknown GCCause No GC
42.78 0.00 50.07 15.08 30.53 44 4.605 0 0.000 4.605 unknown GCCause No GC
42.78 0.00 50.07 15.08 30.53 44 4.605 0 0.000 4.605 unknown GCCause No GC

adı üstünde GC varsa nedeni ile birlikte basan bir komut. Survivor, Eden, Old space’lerin doluluk oranlarını, Young ve Old generation GC sayı ve zamanını basıyor. (pid: 16642 interval: 1s)
> jstat -gcnew 16642 1s
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
3840.0 3968.0 0.0 2048.0 1 15 3840.0 118912.0 3643.6 61 46.500
3840.0 3968.0 0.0 2048.0 1 15 3840.0 118912.0 3643.6 61 46.500
3840.0 3968.0 0.0 2048.0 1 15 3840.0 118912.0 3643.6 61 46.500

Young generation Survivor space’lerinin ve Eden space’in kapasitesi ve ne kadarının kullanıldığı, Young generation GC sayı ve zamanını ve tenuring threshold, max tenuring threshold değerlerini basıyor. (pid: 16642 interval: 1s)
Opsiyonların cümlesini burada yazmanın bir alemi yok. Zaten çoğu opsiyonun isminden anlaşılıyor. Bunları evde kendi başınıza deneyebilirsiniz.
Potborimi burada bitirirken, illaki bir sonuç olması gerekmemeli diye bitirmek istiyorum ama gördüğünüz gibi olmuyor. Neden küçülükten beyni türkçe/edebiyat hocaları yıkadığı için. Efenim neymiş muhakkak bir giriş, gelişme ve sonuç olmalıymış. O bakımdan alın size sonuç bu işte!
Alıntı Kaynağına Gitmek İçin Tıklayınız
/usr/bin/java: /lib/ld-linux.so.2: bad ELF in.. Binary Repository Manager Feature Matrix Bytecode CentOS İşletim Sisteminde JDK (Java Developme.. Classpath CLASSPATH Derleme Süreci Eclipse Memory Analyzer - MAT IBM HeapAnalyzer Java Classpath Ayarları Java VisualVM JDK (Java Development Kit) JDK ve NEtbeans Kurulumu JProfiler JRE (Java Runtime Environment) jvisualvm, jmxsh, jstat (potpuri*) Uygulama Çalıştırılması Sırasında JVM'nin Dil.. Windows'da Java Ortamı Kurup Derleme ve Çalış.. Windows'da Java ve JDK Kurulumu ve Versiyonu .. Windows JDK 8 Kurulumu Yorumlama Süreci



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir