Yang Xiaofeng: Geliştiricilerin Java'ya gerçekten dikkat etmesine gerek yok

Sağ üst tarafa tıklayın, açık kaynak Çin OSC başlık numarasını takip edin, en son teknik bilgileri alın

Java 8'den sonraki ilk LTS sürümü olarak, Java 11'in piyasaya sürülmesi büyük ilgi gördü.Bir yandan, bu sürüm çok tartışılan ZGC, HTTP / 2 İstemcisi, Uçuş Kaydedici gibi bazı önemli yeni özellikleri getiriyor. , Bellek yönetimi ve JVM teşhisi / Profilleme konusunda güçlü bir atılımı vardır.

Öte yandan, Oracleın Javaya karşı yürüttüğü eylemler nedeniyle Sürüm yineleme döngüsünün değiştiğini duyurdu, ticari destek yöntemini revize etti, abonelik modelini başlattı ve iki farklı lisans altında JDK sürüm sürümünü sağladı ... Bu sürekli değişim herkesin kafasını karıştırıyor.Geliştiriciler Java'yı ücretsiz kullanıp kullanamayacaklarını ve bundan sonra ne ile karşılaşacaklarını bilmiyorlar.

Oracle'ın resmi bir açıklaması olmasına rağmen ve ayrıca Java'nın gerçekten özgür olup olmadığı, ancak yaygın dil ve ağ engelleri nedeniyle ayrıntılı olarak analiz etmek için bir makale yayınlayan 30'dan fazla Java topluluğu lideri ve uzmanı vardır ve ayrıca anlayışta sapmalar vardır. , Bazı öz-medyanın yarattığı aşırı kaygı ile birleştiğinde, doğası gereği karmaşık konuları anlamayı zorlaştırır.

Bir süre önce Açık Kaynak Çin'de düzenlenen "Yuanchuang Konferansı Yıl Sonu Töreni" teknik konferansında kıdemli Java uzmanları Yang Xiaofeng Katılımcılara Java 11'in en son yorumunu sunarak herkesin modern Java'yı yeniden anlamasını sağladı.

Yang Xiaofeng, bir OpenJDK Committer ve şu anda JD.com'da büyük bir veri merkezi mimarı olarak çalışıyor. Oracle Beijing Java Core Class Library ve diğer ekipleri yönetti, Java 8-11 çekirdek sınıf kitaplıkları gibi bazı yeni özelliklerle ilgili görevlere katıldı ve hatta sorumluluk aldı.

Onu herkese davet etmek için bu fırsatı değerlendiriyoruz Java ile ilgili sorunlu şeyi netleştirin Yukarı.

Yang Xiaofeng, en başından beri doğrudan şunları söyledi: Java hala ücretsiz . Böyle söyleniyor, ama aslında bu şüpheleri gidermek için yeterli değil.Açıklanması gereken daha özel konular da var Neler oluyor?

Ilgili kavramlar

İlk olarak, bazı kavramları açıklığa kavuşturmalıyız. Bir yandan, Oracle JDK'nın karşı karşıya olduğu kullanıcı türü:

  • Oracle müşterileri , Esas olarak Oracle Java SE ile ilgili servis desteğini satın almış olan kullanıcıları, örneğin yukarıda bahsedilen abonelik modeli yoluyla servis satın alan müşterileri ifade eder.
  • İş kullanıcıları , Java'yı ticari amaçlarla özgürce kullanan bir kuruluş.
  • kişisel kullanıcı , Kişisel bilgisayarlarda, Java SE'nin ücretsiz kullanımı ve ticari amaçlar için olmayan geliştiriciler.

Şu anda Oracle Java kullanan geliştiricilerin / şirketlerin çoğu ne tür kullanıcılar? İkinci tip ticari kullanıcılardır.

Bir göz atalım Oracle Java ". Bir yandan Oracle, OpenJDK topluluğuna hakimdir ve Oracle JDK Ürün, bu onun Şu anda en yaygın kullanılan JDK olan ticari ürün ; Öte yandan, Java SE 9'dan beri Oracle, Oracleın OpenJDK sürümünü de sağlamaktadır. Oracleın OpenJDK , Ve bu Oracle'ın OpenJDK'si tamamen açık kaynak kodlu ve ücretsizdir ve ticari amaçlarla kullanılabilir.

Yang Xiaofeng şöyle açıkladı:

OpenJDK, GPL v2 tabanlı açık kaynaklı bir projedir. Java 7'den başlayarak, Java SE'nin resmi referans uygulamasıdır. Dar anlamda OpenJDK, genellikle OpenJDK üzerine kurulu bir sürümü ifade eder.Çeşitli ana satıcıların JDK ürünleri temelde OpenJDK kaynak kodunu temel alır ve aşağı yukarı kendi özelleştirilmiş içeriğini ekler.

Oracle JDK, Oracle tarafından sağlanan ticari bir JDK uygulamasıdır ve şu anda en yaygın kullanılan JDK'dır. JDK 11'den önce, Oracle JDK ve Oracle'ın OpenJDK'sinin bazı güçlü ticari özelliklerinin yanı sıra CA kök sertifikaları gibi kolaylık içeriği ve nüansları vardı.

JDK 11'den başlayarak Oracle JDK orijinal ticari BCL Lisansını kullanırken, Oracleın OpenJDK'si bağımsız olarak GPL v2 + CPE Lisansına geçmiştir. İkisi aynı işlevleri sağlar ve esasen aynıdır, ancak farklı lisanslar farklı kullanıcılar içindir.

Java 8 güncellemeleri artık ücretsiz değil

Daha önce de belirtildiği gibi, Java kullanımıyla ilgili bir kafa karışıklığı dalgası var. Birincisi, Oracleın İşletme kullanıcıları için ücretsiz Java SE 8 güncellemeleri sağlayın hizmet. Ticari kullanıcılar, güncelleme desteğinden yararlanmaya devam etmek için Oracle Java SE abonelik modelini kullanabilir; bireysel kullanıcılar etkilenmez ve Aralık 2020'ye kadar ücretsiz güncellemelerin keyfini çıkarmaya devam edebilir.

Yang Xiaofeng şöyle açıkladı:

Bu aslında bir Normal yazılım yaşam döngüsünün sonu (EOL) Aşırı yorum yapmayın, Oracle, JDK 8'i 5 yıldır ücretsiz olarak desteklemektedir.

OpenJDK'nin alışılmış bir uygulaması vardır, yani yıllarca süren ücretsiz destekten sonra Oracle JDK sürümü, ömür sonu EOL olan Kullanım Ömrünün Sonuna girecek ve ardından topluluk devralacak ve sonraki güncellemeyi yönetecektir.

Şu anda yalnızca Java 8'in EOL'sinin paniğe neden olmasının nedeni esas olarak bu Java 8 çok başarılı Birçok kullanıcı henüz hazır değil ve JDK'yı yükseltmek için yeterince motive değil.Bu, hala Windows XP kullanan ve resmi güncellemeleri alamayan kullanıcılara benzer, ancak birçok kullanıcı hala üzerinde kalıyor.

Göz ardı edilemeyecek bir başka neden de Oracle'ın Sonraki JDK sürümleri için ücretsiz destek süresini kısalttı (Şu anda yarım yıl için önerilmektedir), topluluk uzun vadeli destek sürümünün (LTS, Uzun Süreli Destek) takip güncellemesini üstlenecektir.

Yani aslında, geliştiricilerin Java 8'in ücret alıp almadığı sorusuna gerçekten dikkat etmeleri gerekmiyor. Gerçekten ilgiye ihtiyacı olan kişiler, kurumsal BT karar vericileridir . Bir yandan, geliştiriciler Java 8'i kullanmakta hala özgürdür ve yine de güncelleme desteği alabilirler; Öte yandan, sözde ücretler aslında Ocak 2019'dan sonraki ücretleri ifade eder. Güncelleme Destek için ücret almak için Java 8'in kendisi hala ücretsizdir ve güncellemeleri almaya devam etmek için abonelik modelini kullanıp kullanmamak, dikkate alınması gereken bir BT karar vericisidir.

Sonra Kurumsal BT karar vericileri ne düşünebilir?

Yang Xiaofeng şunları tanıttı:

  • Ücretli seçenek için, Oracle'a ek olarak, diğer üreticiler de Azul, IBM, vb. Dahil ticari JDK sürümleri sağlar. Özel seçim, şirketin kendi kararına bağlıdır.
  • Oracle, ödeme yapmak istemeyen kullanıcılar için Java SE 9'dan beri Oracleın OpenJDK sürümünü de sağladı. GPL v2 anlaşmasına göre, genel ücretsiz güncelleme döngüsü nispeten kısadır ve AdoptOpenJDK daha uzun vadeli ücretsiz destek sağlayacaktır. Elbette uzun vadeli JDK 8 güncellemeleri sağlayacağını belirten bireysel üreticiler de var Amazon Corretto'ya başvurabilirsiniz.

Aynı zamanda, Java 8'in ücretsiz güncellemesinin sona erdiği gün olan Ocak 2019'da olduğu için, bazı şirketlerin aşağıdaki gibi yanıtlarının da açıklandığını da fark ettik:

Yang Xiaofeng, "Bu duyuru daha profesyonel ve daha ihtiyatlı. Bence 8u201 / 202 son ücretsiz Oracle JDK 8 güncellemesi. Lisansla ilgili kararlar söz konusu olduğunda, Açıkçası bu sadece teknik bir karar değil, aynı zamanda yasal bir karardır. . "

Özetlemek gerekirse, Java içermeyen sorunlara gerçekten dikkat etmesi gereken kurumsal BT karar vericileridir ve şu anda yukarıda belirtilen birkaç seçeneğe sahiptirler:

  • Java 8 güncellemelerini almak için abonelik hizmetlerini kullanın ve para harcayın
  • Diğer satıcılar tarafından sağlanan ticari JDK'yı kullanmak için para harcayın
  • Geçiş yapmak için bir OpenJDK sürümü seçin ve açık kaynak topluluğu tarafından sağlanan desteği güncelleyin
  • 8u201 / 202 veya önceki sürümde saklayın

Yang Xiaofeng ayrıca şunları vurguladı: "Lisans ve ödeme, işletmelerin ticari faaliyetleri ve BT kararlarıdır. Profesyoneller tarafından verilmelidir. Sabırlı ve objektif olun. Medya tarafından vergilendirilmeyin."

Serbest bırakma döngüsü değişiklikleri

Aslında Oracle, Eylül 2017'de JDK sürümünün yayın döngüsündeki değişiklikleri duyurdu. Bundan sonra, Java 10 ve 11 arka arkaya yayınlandı ve yakında 12 geliyor.

Yang Xiaofeng, yeni sürüm yayın döngüsünde özellik odaklı yaklaşımın şu şekilde değiştiğini duyurdu: Zaman odaklı Sürüm değişiklikleri. Her 6 ayda bir "büyük sürüm" olan yeni bir Java sürümü çıkacak ve her 3 yılda bir LTS sürümü çıkacaktır.Java 11, bu yeni modelin ilk LTS'sidir.

İlgili materyallerden alıntı yaparak, yeni sürüm döngüsü ile eski model arasındaki değişiklikleri kabaca görebiliriz:

Bu aslında iyi bir şey ve kafasını karıştıracak bir şey yok. İşletmeler için, teknoloji yığınının gelecekteki öngörülebilirliği ve güvenilirliği, Ar-Ge yatırımının güvenliğini ve kapasitesini sağlayabileceği için çok önemlidir. Java için bu, aslında son 20 yılda ekosistemine yapılan uzun vadeli sürekli yatırımla doğrulandı.

"Yeni Java sürüm modelinde, LTS'nin varlığı nedeniyle, Kurumsal BT kararları için açık rehberlik sağlar ", Yang Xiaofeng şunları söyledi:" Aynı zamanda, yeni model, bulut bilişim gibi yeni dalgalara daha çevik bir şekilde uyum sağlamak için yeni teknolojilerin yinelemesini ve uygulanmasını hızlandırıyor. Bu aslında. Geliştirilmiş kurumsal katılım ve ekolojik canlılık . "

Neden Java 11'i doğrudan kullanmıyorsunuz?

Java 11'in yeni özellikleri güçlü olduğu ve aynı zamanda çok fazla dikkat çektiği için, neden bu kadar çok insan Java 8'den Java 11'e yükseltme yapmak istemiyor? Java 8'i doğrudan kullanmazsanız, yukarıdaki güncelleme sorunları olmayacaktır. .

Aslında Java ile ilgili oldukça büyülü olan başka bir şey daha var: Şu anda hangi Java sürümünün kullanıldığına dair irili ufaklı çeşitli anketlerde, birçok kişi şirketin en son Java 11 özelliklerinin ne kadar güçlü olduğuna bakılmaksızın şirketin çok geri bir sürüm kullandığını söyledi. , Her neyse, Java 1.4, 5.1'e bağlı kalmalıyız ... Bu nispeten yaygın bir fenomendir. Aslında, anket verileri gösteriyor ki Önceden Java 8 en yaygın kullanılan sürümdü .

Bu bağlamda, Yang Xiaofeng, yazılım yükseltmelerinin gecede yapılabilecek bir şey olmadığına, özellikle de yavaş bir süreç olan sunucu işletim sistemi yükseltmesi gibi temel yazılım olmadığına inanıyor. "Java genel uyumluluk konusunda iyi bir iş çıkarsa da, Yükseltmek her zaman insan gücü ve diğer maliyetler gerektirir ve işletmeler için en önemli öncelik olmayabilir . Bu durumun gelecekte de devam edeceğine inanıyorum. "

Ama tam tersine, bu "gecikme" fenomenine ek olarak, tabii ki, Google, Amazon, Ali gibi ilgili alanlara aktif olarak yatırım yapan şirketler de var ... Değişiklikleri pasif bir şekilde kabul etmek yerine, bir adım öne geçmek ve değişiklikleri yönlendirmek için inisiyatif almak daha iyidir. . Yang Xiaofeng, JD Büyük Veri Platformu Departmanını şunları tanıtmak için bir örnek olarak kullandı:

JD Büyük Veri platformu, Hadoop, Spark, Kafka gibi sektörde nadir bulunan ve çok büyük miktarlarda veri ve bilgi işlem yükü taşıyan ultra büyük ölçekli kümelere sahiptir.Java / JVM alanında bazı derinlemesine çalışmalar vardır, örneğin:

  • JVM katmanının ayarlanmasıyla, genel bilgi işlem kaynaklarının verimliliği sürekli olarak elde edilir ve birçok kaynak tasarrufu sağlanır. Örneğin, Spark Streaming işleminin derinlemesine bir analizi yoluyla, JVM ayarlaması yaptık ve işlem hacmi% 10 + artarken, bellek gibi hesaplama kaynakları% 20 azaldı.
  • Ar-Ge, işletim ve bakım verimliliğini ve ürün kalitesini iyileştirmek için Java ile ilgili kod uygulamalarının sürekli iyileştirilmesi.
  • Büyük veri temel motoru gibi kod düzeyini optimize ederek, açık kaynaklı topluluk ürünlerine kıyasla büyük bir yüzde veya hatta birden çok performans iyileştirmesi elde ettik. Kafka'yı örnek olarak ele alan büyük veri merkezi ekibi, kod düzeyinde derinlemesine bir iyileştirme yapmak için profil oluşturma teknolojisini kullandı; bu, verimi% 40 artırdı ve CPU tüketimini% 5 azalttı. Tüm kümede 1.400'den fazla küme var Sunucu başına 48 çekirdek / 256 G bellek şeklindeki olağan hesaplamaya göre, bu optimizasyonun tek başına ekonomik faydası on milyonlarca yuan'dır.

Kasıtlı olarak tanıtım yapmadığımız için, belki de birkaç kişi OCA anlaşmasını imzaladığımızı ve OpenJDK gibi topluluk katkılarına aktif olarak katıldığımızı biliyor. Şu anda, OpenJDK gibi açık kaynak topluluklarına çeşitli performans ve işlevsel iyileştirmelere katkıda bulunduk.

Yeni çağda Java

Java'yı kullanmaya devam ettiğinizde bir sonraki adımda neyle karşılaşacağınızla ilgili olarak, sürüm döngüsündeki değişikliklere, ticari destek yöntemlerindeki değişikliklere ve yukarıda bahsedilen açık kaynak lisanslarındaki değişikliklere ek olarak, aslında dikkat edilmesi gereken başka bir husus daha var ve bu teknik şeyler: Java'nın mevcut sorunları ve gelecekteki yönleri .

Java, uzun yıllardır çeşitli programlama dilleri sıralamasında ilk sırada yer aldı, ancak son zamanlarda Python bazı listelerde Java'nın önüne geçti ve giderek boşluğu genişletiyor. Bunun büyük bir kısmı, AI'nın hızlı yükselişine ve ilgili veri madenciliği ve analiz alanlarına bağlanabilir.

Aynı zamanda bulut çağının sürekli gelişimi ile Golang gibi yüksek eşzamanlılık ve kolay dilbilgisi öğrenme avantajlarına sahip diller de güçlenmekte ve yeteneklerini geliştirmektedir.

Bu sorunu ortaya çıkarır: Yapay zeka ve bulut bilişimin hızla gelişmesiyle birlikte, Java üzerinde bir etkisi olacak mı? Java'nın bu yeni çağda diğer programlama dillerinden ayırabileceği bariz avantajlar nelerdir?

Yang Xiaofeng, bu sorunlarla ilgili olarak şu anda Java'nın devasa ekosistemi , En büyük geliştirici grubu, büyük sınıf kitaplıkları / araçları vb. Dahil olmak üzere ve ana akım üreticilerin katılımı ve yatırımı, tüm bariz avantajlarıdır.

Örneğin, eksik istatistiklere göre şu anda 1200W'den fazla Java geliştiricisi, 38 milyar + aktif JVM ve buluta bağlı 21 milyar + JVM var.

Pek çok kişi Java'nın yavaş olduğunu düşünse de Yang Xiaofeng karşılık verdi: " Sahneyi bir kenara bırakıp hız demek anlamsız . "

Şöyle açıkladı: "Şu anda, uzun süredir devam eden sunucu tarafı senaryosunda, Java tartışmasız bir hakimiyet içindedir ve mikro hizmetler gibi yeni mimarilerde Java / JVM hala ilk tercihtir ve mevcut bulut bilişim çağında, Java ayrıca e-ticaret, büyük veri, kurumsal yazılım, mobil ve hatta IoT'yi kapsayan 1 numaralı programlama dilidir.Ayrıca, çeşitli büyük şirketler de Google, Ali, Amazon dahil ancak bunlarla sınırlı olmamak üzere ilgili alanlara aktif olarak yatırım yapmaktadır. , IBM, Oracle ve JD. "

Yang Xiaofeng, bu avantajlara ek olarak, Java'nın hala zorluklarla karşı karşıya olduğunu da kabul etti. En büyük soru, Java'nın yeni senaryoda rekabet gücünü sağlamak için yeteneklerini hızla ayarlayıp ayarlayamayacağıdır. "," Sıralamalar / etkiler sadece rekabetin performansıdır. Yetenek, başarıyı veya başarısızlığı belirleyen en önemli faktördür. Basitçe söylemek gerekirse, verimliliktir! etkililik! etkililik! "

Bu zorluklar karşısında Java, yeni çağın ihtiyaçlarını karşılamak için sürekli olarak kendisini dönüştürüyor. Yang Xiaofeng, Java'nın mevcut hızlı gelişim alanlarının temel olarak şunları içerdiğini açıkladı:

  • Bulut uygulamalarının ihtiyaçlarını karşılamak için daha hafif bir JVM. Hem mikro hizmetler hem de sunucusuz, kısa vadeli ve hafif uygulamalardır;
  • Veri yoğunluğu ve veri yapısı gibi temel yeteneklerin değer türlerini daha da geliştirin;
  • Geliştirme açısından daha verimli hale gelen sözdizimi;
  • Coroutine Fiber'in Java sürümü gibi daha fazla ölçeklenebilirliğe ve daha yüksek geliştirme verimliliğine sahip eşzamanlı altyapı;
  • Buna ek olarak, en altta ve donanım düzeyinde geliştirme verimliliği ve yeteneğine acil ihtiyaç duyan Panama var.

Kısacası, Yang Xiaofeng, yeni çağda yeteneklerimizi hızlı bir şekilde takip etmemiz ve ayarlamamız gerekse de, Java'nın hala bir numaralı programlama dili olduğuna ve geleceğin beklenebileceğine inanıyor.

Açık kaynak topluluğu OSC başlıkları, yabancı dil çevirisini, yazılım güncellemelerini, teknik blogları ve diğer yüksek kaliteli içeriği kapsayan en son yüksek kaliteli teknik makaleleri günlük olarak yayınlayın. Açık kaynak topluluğunun OSC başlıklarını takip edin, günlük en son teknik bilgileri alın, tıklayın " daha fazlasını anla "Orijinal makaleyi okuyun.

İPhone için yeni bir fiyat indirimi turu burada! 450 yuan'a kadar, şimdi sadece kalan beş veya altı bin yuan'a sahipsiniz
önceki
Kara Sevgililer Günü, çevrenizdeki siyah katsayı kodlu ürünleri sayın
Sonraki
Parmak izi tanıma teknolojisi nimeti, dördüncü nesil Shengda akıllı yükseltmesi
Engelliler partisinden korkmayın! Bu telefonlarla bile güzel fotoğraflar çekebilirsiniz
Hubei'de kar olmadığını kim söyledi? Şuna bir bak ... Burası o kadar karlı ki cüruf ve kar zincirleri kullanılmış!
Bugün BT görüşmeleri: Yili Duanzi kapatıldı / Tencent Panda Live'ı satın alabilir
Pratiklik ve eğlence, mobil AR güncel uygulama envanteri
Youyi Road ve Lot kavşağında yaşlı bir adama 12 numaralı otobüs çarptı ve yaralandı.
FAW-Volkswagen, bir kez daha "Jetta" derinliğini başlattı
Nehir kenarına kurulan sıcak hava, uyarı işaretleri ve korkuluklar
HKBTÜ'nün iFlytek ürünlerini CITE 2018'de güçlendirmek için AI kullanın
Telefon hafızası yeterli değil mi? WeChat aslında suçlu. Bu işlevlere ihtiyacınız yoksa lütfen kapatın!
10.000 yuan'den fazla yaşlı çiftçiyi dolandıran yoksulluğu hafifletme kadroları gibi davranan iki adam, Badong polisi hepsini kurtardı.
-35'de aşırı soğuğa karşı karşıya kalan Sky ME7 neden böyle test edildi?
To Top