Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanGuliz Ekici Değiştirilmiş 9 yıl önce
1
Ayhan Alkan SUN PS İstanbul Akademik Java
2
Ajanda ● Java Platform Tanıtımı ● Bilimsel / Akademik Kullanım Örnekleri
3
Ajanda ● C/C++'dan Java'ya ● Java Platformu ● Nasıl Temin Edilir? Nereden Öğrenilir? ● Geliştirme Araçları ● Java Topluluğu, Standartlar ve Açık Kod Hareketi ● Diger Platformlarla Etkileşim / Eşgüdüm ● Performans Meselesi ● Web'den Ulaşılailir Kaynaklar ● Matematik, Fizik, Biyoloji, Biyoenformatik, Kimya ● Ekonomi, Finans, Sosyoloji ● Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web ● Mühendislik Uygulamaları PlatformÖrnekler
4
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
5
"Herşey olabildiğince basit olmalı, daha basit değl." Albert Einstein
6
Java Dili “The Java programming language is a general-purpose, concurrent, class- based, object-oriented language” “Java programlama dili, genel amaçlı, koşutzamanlı, sınıf temelli, nesne yönelimli bir dildir.” The Java Language Specification James Gosling, Bill Joy, Guy Steele, Gilad Bracha
7
C++'dan Farkları ● 'Pointer' yok ● Çoklu kalıtsallık (multiple inheritance) yok ● Nesne öğesi olmayan değişken tanımlanamaz
8
Diğer Özellikleri ● Tam nesne yönelimli (Object Oriented) ● Prosedürel ● Değişken tipine duyarlı ● Dahili bellek yöneticisi ● Çok yollu (multithread) programlama ● Hiyerarşik hata denetimi
9
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
10
Sürümler Bilimsel / Akademik çalışmalar için en uygun sürüm: J2SE
11
J2SE İçeriği – Mimari
12
Mikro Aygıtlara Java Yaklaşımı – J2ME J2ME Profili J2ME Kütüphaneleri Java Sanal Makinası J2ME Konfigürasyonu “Asgari müşterekler”i tanımlayan standartlar ve işletim ortamı Üst seviyede işlevsellik tanımları (grafik arayüz, kayıt işleme...)
13
J2ME Teknolojileri J2ME CDCJavaCard APIJ2ME CLDC CVM JavaCardVM KVM Open Platform Profile GSM Profile PDA Profile MIDP Personel Profile J 2 M EJavaCard 3630 377562
14
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
15
İlk Adres ● Resmi Java sitesi : http://java.sun.com Neler var : ● Linux, Solaris, Windows için JDK ve JVM sürümleri ● Eğitim materyalleri, program örnekleri ● Haberler ● Ek / opsiyonel paketler
16
“Developer Connection” ● Java programcılarının sitesi http://developer.java.sun.com ● Katılım ücretsiz ● Forumlar ● JavaOne konfreans sunumları ● Erken sürümler, test/beta sürümleri ● Java'yı geliştiren mühendislerle 'chat' ● Ücretsiz e-kitaplar
17
“Blueprints” ● Deneyimlerin paylaşıldığı site http://java.sun.com/blueprints ● Teknoloji tanıtımlalrı ● Rehber dökümanlar ● Tam uygulama örnekleri ● Tasarım örüntüleri (design patterns) ● SSS (FAQ)
18
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
19
Minimalist Programcı Bütün ihtiyacınız : JDK (J2SE) En sevdiğiniz metin editörü
20
Bedava IDE'ler ● Forte for Java Community Edition http://www.sun.com/forte/ffj ● Net Beans http://www.netbeans.org ● Eclipse http://www.eclipse.org ● Jedit http://www.jedit.org
21
Araç Kutunuzda Bulunsun ● Ant make benzeri, XML bazlı, platform bağımsız http://jakarta.apache.org/ant ● Junit Test sistemi - http://www.junit.org ● IzPack Kurulum Sihirmazı - http://www.izforge.com
22
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
23
Java Community Process (JCP) ● Java teknolojilerinin (Java platformunun kendisi dahil) tartışıldığı, şekillendirildiği, herkese açık bir standart komitesi ● Standart önerilerini Java Specification Request (JSR) adı altında yapar ● 200'e yakın JSR tanımlandı http://www.jcp.org/
24
JSR Örnekleri ● 13 - Decimal Arithmetic Enhancement ● 49 - Web Based Industrial Monitoring Framework ● 69 - Java OLAP Interface (JOLAP) ● 73 - Data Mining API ● 83 - Multiarray package ● 87 - Java Agent Services
25
JSR Örnekleri ● 94 - Java Rule Engine API ● 108 - Units Specification ● 138 – Performance Metric Instrumentation ● 189 - Java 3D API 1.4
26
Kullanılan Programlama Diline Göre sourceforge.net Projeleri
27
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
28
JVM İçin Yazılmış Diller http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html TCL LISP SCHEME Prolog WebL BASIC LOGO CLIPS COBOL Ada JudoScrpt BeanShell JavaScript Python Forth
29
Standart Protokoller ● SOAP / WebServices ● CORBA – IIOP ● XMLP ● ebXML ● HTTP
30
Java Native Interface (JNI) Java'dan C/C++'ya C/C++'dan Java'ya.dll veya.so'lar üzerinden iki yönlü erişim
31
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
32
Evet Bir Java programı iyi yazılmış bir C/C++ programından daha yavaş çalışır. Çünkü Java sanal makinası Bytecode'u yerel koda çevirmek için zaman harcar.
33
Performans Artırıcı Önlemler ● Yerel koda derleyen araçlar ● MİB yoğun işlemler için yerel kodda yazılmış kütüphanelere erişmek ● Programın çalışmasını analiz ederek tıkanıklık noktalarını bulmak ● Koşutzamanlı programlama ● Nesnelerin yeniden kullanımı ● Bellek yönetimini denetlemek
34
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
35
Dergiler ● JavaWorld http://www.javaworld.com ● Dot-Com Builder http://dcb.sun.com ● JavaPro http://www.fawcette.com/javapro ● Java Developer Journal http://www.sys-con.com/java
36
Geliştiricelere Özel ● Developerworks http://www.ibm.com/developer/java ● JGuru http://www.jguru.com ● OnJava http://www.onjava.com ● Developer Code Camps http://www.sun.com/developers/edu/camps/java
37
J2ME Kaynakları ● Resmi J2ME sitesi http://wireless.java.sun.com/ ● MicroJava Network http://microjava.com/ ● Kablosuz teknoloji haberleri http://wirelessnewsfactor.com/ ● anywhereyougo.com http://www.anywhereyougo.com/
38
Açık Kod, Shareware ● Jakarta http://jakarta.apache.org ● Source Forge http://sourceforge.net ● Alphaworks http://www.alphaworks.ibm.com ● JARS http://www.jars.com
39
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
40
COLT ● Hızlı veri yapıları ve algoritmalar ● Lineer cebir, çok boyutlu matrisler, fonksiyonlar (Bessel, Airy), istatistik, polinomlar, Chebyshev serileri ● 2B, 3B görselleştirme araçları Http://tilde-hoschek.home.cern.ch/~hoschek/colt
41
BioJava ● Gen dizileri (sequence) işleme ● Standart veri dosyaları çözümleme ● CORBA ● DAS desteği ● AceDB ● Dinamik programlama http://www.biojava.org
42
OmniGene ● Web Servisleri ile biyoinformatikte veri entegrasyonu çözümü ● Veri depolama : Ensembl, NCBI, Swissprot, Pubmed ● İletişim modeli : http://omnigene.sourceforge.net HTTP SOAP DAS Taşıyıcı Katman Veri katmanı Kodlama şeması
43
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
44
Foreks Mercury ● Gerçek zamanlı finansal veri akışından – evrensel veri tabanı eşleyici – bellekte hızlı erişilebilir veri yapıları – 'publish-subscribe' yöntemiyle istemcilere veri dağıtımı ● Web tasarımcıları için taglib ● Finansal grafikler http://www.foreks.com
45
JAM (Java Agents for Meta- learning) ● Finansal bilgi ağlarında sahtecilik ve sızma yakalama ● Yerel sınıflayıcı 'ajan'ların yada modellerin iki yada daha fazlasının 'meta-öğrenme' ajanı oluşturması http://www.cs.columbia.edu/~sal/JAM/PROJECT
46
Mars Simulation Project ● Gelecekteki Mars yerleşimleri simülasyonu ● Detaylı bir sanal dünyada 'multi- agent' toplum oluşumu ● XML konfigürasyon dosyalarıyla simülasyonun özelliklerini düzenleyebilme http://mars-sim.sourceforge.net/
47
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
48
"Real hackers can write assembly code in any language." Anonim
49
The Byte Code Engineering Library (BCEL) ● Java class dosyalarını analiz etmek, yaratmak, düzenlemek için araçlar ● Çalışma sırasında (run-time) class nesnelerini dinamik olarak üretebilir ● JVM (Java Sanal Makinesi) öğrenimi için çok yararlı http://jakarta.apache.org/bcel
50
POI ● Microsoft OLE 2 Compound Document formatlı dosyaları işleyebilir ● Örneğin MS Excel, MS Word dosyalarına Java uygulamalarından erişilebilir ● Web uygulamaları ve 'Full text search' özellikleri planlanıyor http://jakarta.apache.org/poi
51
Aspectj ● Java için Bakış Açısı Yönelimli Programlama (AOP) genişletmesi ● Mevcut uygulamalarla entegre edilebilir ● Derleyici, hata ayıklayıcı, döküman üretici ● IDE bileşenleri http://www.eclipse.org/aspectj
52
Weka ● Makina öğrenmesi algoritmaları : Sınıflama (C4.5, OneR, lineer regresyon...), kural araştırma, veri filtreleme ● Hazır kullanıcı arayüzü ile kolay veri madenciliği (data mining) uygulaması ● Görselleştirme araçları http://www.cs.waikato.ac.nz/~ml
53
Protégé 2000 ● Belli bir alana ait ontoloji tanımlama ● Alan uzmanlarına sunulacak arayüzü düzenleme ● Alan bilgisi girişi ve saklama ● Genişletilebilir mimari ● Bilgiye erişim ve görüntüleme için hazır kütüphaneler http://protege.semanticweb.org/
54
IsaViz: A Visual Authoring Tool for RDF http://www.w3.org/2001/11/IsaViz/ Jena Semantic Web Toolkit http://www.hpl.hp.com/semweb/jena.htm
55
C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler
56
ETB (Engineer's Toolbox) ● Web bazlı servis modeli ● Rijid cisimler mekanigi ● Aşınma ve kırılma mekaniği ● Dinamik ● Sayısal Analiz http://www.engineerstoolbox.com/modules.html
57
Ayhan Alkan ayhan.alkan@sun.com http://www.sun.com.tr http://www.ayhanalkan.com
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.