Project Coin

Project Coin kapsamında JDK çekirdek sınıflarında ilk güncelleme yapıldı. Bu güncelleme ile JDK çekirdek sınıfları Diamond operatörünü kullanır hale geldiler.

--- a/src/share/classes/java/lang/String.java   Wed Jun 30 16:11:32 2010 -0700
+++ b/src/share/classes/java/lang/String.java   Mon Dec 20 13:47:04 2010 -0800
@@ -2330,7 +2330,7 @@ public final class String
int off = 0;
int next = 0;
boolean limited = limit > 0;
-            ArrayList<String> list = new ArrayList<String>();
+            ArrayList<String> list = new ArrayList<>();
while ((next = indexOf(ch, off)) != -1) {
if (!limited || list.size() < limit - 1) {
list.add(substring(off, next));

Cloud hosting nedir?

Geleneksel hosting işinde hosting firması müşterisine bir sunucu kiralar. Bu sunucuda koşacak olan işletim sistemi, uygulama sunucusu ve veritabanı sunucusu müşteri tarafından kurulur. Bütün güvenlik prosedürlerinin uygulanması müşterinin sorumluluğundadır. Ziyaretçi sayısı arttığında clustering yapmak müşterinin sorumluluğundadır. İşletim sistemini, uygulama sunucusunu ve veritabanı sunucusunu güncellemek müşterinin sorumluluğundadır.

Cloud hosting işinde ise müşterinin tek sorumluluğu kendi uygulamasını kodlamaktır. Bunun dışında müşteriye başka bir sorumluluk bırakılmaz. Uygulamasının hangi sunucu üzerinde çalışacağını, hangi SQL veritabanını kullanacağını, işletim sisteminin ne olacağını müşteri bilmez. Müşteri hosting firmasına yalnızca war (ROOT.war) dosyasını emanet eder. Güncelleme ve cluster işlemleri tamamen otomatize edilmiştir.

Cloud servislerinde varsayılan Java kütüphaneleri değiştirilmiş ve bazı özelliklere erişim kısıtlanmıştır. Örneğin dosya sistemi ve socket işlemlerine izin verilmez veya kısıtlı erişim sağlanır (yalnızca kendi uygulamasının bulunduğu dizine erişim gibi). Yazılımcı klasik Java Logging API‘sini kullanır fakat arka planda loglar dosya sistemi yerine merkezi log sunucularına iletilir. Müşterinin kendi loglarına web üzerinden erişimi sağlanır. Cron benzeri job queue API’si sağlanır. Resim ve video gibi SQL veritabanına yazmanın uygun olmayacağı veriler (blob) için özel servisler sağlanır. SQL veritabanına alternatif olarak NoSQL ve key/value store servisleri sağlanır.

Ben Java web uygulamaları için özelleştirilmiş cloud servisinin resmini çıkardım. Bu cloud servislerinin Java’ya veya web uygulamalarına has olduğu anlamına gelmez. C ile geliştirilmiş uygulama çalıştırmak için özelleştirilmiş cloud servisi de olabilir. Nasıl olacağını okuyucunun hayal gücüne bırakıyorum.

Notlar

Her zaman bazı istisnai durumlar olabilir. Örneğin aşırı titiz bir müşteri için dedike servis sağlanabilir. Böyle bir müşteriye uygulamasının diğer müşterilerden ayrı bir ortamda çalışacağı garanti edilirken, diğer müşterilerin kullanamadığı servisler sağlanmaz.

Cloud hosting sağlayıcıları

http://en.wikipedia.org/wiki/Category:Cloud_platforms

Java Day 2009’dan haber veren yok mu?

Bugün bunu yaptım ama şunu yapmayı unuttum tarzı yazılarla dolu olan blogküre gerçekten blog yazarlığından habersiz görünüyor.

Sun Microsystems 25 Haziran günü İstanbul’da Java Day 2009 organizasyonunu düzenledi. Blog yazarlarımız bu etkinliği günler öncesinden haber verdiler fakat kendileri etkinliğe katılmayı unuttular. Yukarıda alıntıladığım, Bildirgeç’te yayımlanan şu yazının giriş cümlesinin ne kadar doğru olduğunu bir kere daha anımsadım.

Blogküre‘de Java Day aramasında çıkan sonuçlardan sadece ikisi etkinlik sonrasında yazılmış. Onlar da blog değil portal tarzı sitelerden geliyor. Bir tanesi kaliteli içeriğe sahip. 3 tane röportaj yayımlamışlar; [1], [2], [3].

Bir tane de FriendFeed canlı yayını bulabildim.