Banyak dari kita pergi ke konferensi Jawa hanya karena hardcore. Artikel ini adalah tentang apa yang telah berubah dalam hal ini selama setahun.
Hardcore dapat terdiri dari beberapa jenis. Anda dapat memilih setidaknya:
- optimalisasi kinerja dalam setiap manifestasi;
- internal dari teknologi yang agak rumit (OpenJDK, GraalVM);
- kompiler dan runtime secara umum;
- desain bahasa pemrograman;
- masalah ilmu komputer dan matematika terapan;
- dan masih banyak lagi.

Apa perbedaan antara pembicaraan reguler dan pembicaraan hardcore? Ini seperti perbedaan antara artikel tentang gravitasi kuantum dan panduan untuk makanan lezat dan sehat. Mempersiapkan Musim Semi dengan benar tentu saja merupakan tugas yang sangat sulit dan menarik, yang bagi sebagian besar dari kita adalah bagian besar dari tugas sehari-hari, dan, oleh karena itu, laporan Zhenya Borisov sangat penting secara praktis. Secara kasar, ini adalah cara untuk menjadi spesialis yang lebih baik dan mengumpulkan lebih banyak uang. Tapi kilau bintang-bintang yang jauh tidak ada di sana.
Oleh karena itu - hanya hardcore sesuai dengan legenda sekolah tua. Di bawah potongan adalah catatan singkat tentang bagaimana semuanya terlihat dari sudut pandang seseorang yang terobsesi dengan membaca artikel, mengunjungi laporan dan menonton video YouTube di Jawa dalam arti luas.
Pertama, banyak yang tidak pergi ke laporan sama sekali dan tidak menonton video dari pengembang teknologi. Ini, tentu saja, benar-benar sampah, mengingat hanya dari sana Anda bisa mendapatkan hardcore yang sangat kuat. Tidak ada yang membutuhkan hardcore tipis!
Bagi saya, sumber informasi utama adalah milis berbagai proyek OpenJDK, berkomitmen untuk repositori, pemberitahuan tentang GitHub, tweeter pengembang dan proyek RSS.
Biasanya, ini adalah informasi langsung yang tidak sistematis dengan cara apa pun dan memakan waktu yang sangat lama. Untuk menambahkan kata "keabadian" dari huruf "truffle", Anda harus menghabiskan banyak waktu dan energi. Saya pergi selama beberapa jam untuk tidur - dan di sana mereka sudah bernomor:

Oleh karena itu, ada orang-orang terkutuk seperti itu - penulis hub hub Jawa - yang membaca semua ini, mengemasnya ke dalam unit makna dan membuat artikel dan laporan dari mereka.
Di sisi lain, saya pernah berkenalan dengan konferensi Grup JUG.ru dan macet. Begitu terjebak sehingga dia bahkan datang ke sini untuk bekerja. Segera saya akan merayakan tahun dengan perusahaan. Semua kegiatan pasca penulisan yang penuh semangat ini diperlukan untuk membantu menyampaikan pengetahuan suci kepada lebih banyak orang. Ini adalah saat ketika semua orang bisa membuat kode aplikasi web untuk Anda di musim semi, tetapi Anda tidak dapat menggambarkannya di Habr ... Anda tidak akan melakukannya sendiri - tidak ada yang akan melakukannya. Spesialisasi saya adalah ulasan konferensi.
Konferensi memiliki gaya khusus dan senang. Pembicara, terpaksa, harus mensistematisasikan pengetahuannya sebelum memasuki panggung. Pembicara harus memperbaruinya secara berkala, karena tidak ada yang membutuhkan laporan yang buruk. Pembicara harus menjawab dari panggung atau di area diskusi dengan cepat dan tegas, jika tidak semua orang akan menganggapnya penipu. Singkatnya, di konferensi, pembicara berhutang banyak hal sehingga Anda akan meminta mereka di github, akan dikirim ke iblis atau memeras jawaban selama enam bulan.
Ada dua konferensi utama untuk saya: JVMLS dan Joker kami. Yaitu, ada banyak konferensi di dunia, tetapi keduanya cukup bagi saya untuk sibuk tahun depan.
Jika semuanya jelas dengan JVMLS, maka Joker adalah hal multifungsi khusus yang memungkinkan Anda untuk memahami segala sesuatu tentang pengembangan Java. Dia dikenal dan dicintai untuk hardcore dan timah.
Mari kita bandingkan sedikit dalam formatnya -> menjadi.
Tren tahun keluar
Seperti yang Anda ketahui, Komite Program tidak merumuskan program secara acak, tetapi berdasarkan preferensi audiens dan topik populer. Konferensi bukan analog dokumentasi atau buku masak, ini sebagian besar merupakan konstruksi sosial berdasarkan kepentingan orang-orang pada waktu tertentu dan di lokasi geografis tertentu. Secara relatif, konferensi Jawa pada tahun 2014 di India sangat berbeda dengan Joker. Jadi apa yang kita miliki di tahun 2017?
Itu adalah tahun yang ditandai oleh tanda Java 9 dengan modul mereka dan beberapa kebebasan luar biasa baru dalam solusi mereka sendiri.
Sebanyak dua laporan tentang Cawan. Talinger dengan laporan pertama tentang Grail, di mana diumumkan secara sederhana bahwa mereka mentransfer layanan Twitter yang paling penting ke sana, dan ternyata sangat baik. Chris Seaton dengan laporan terperinci tentang cara kerjanya di dalam .
JIT vs AOT dari Ionut Balosin dari Luxoft dan sebuah cerita tentang JIT baru di Azul Zing oleh Arthur Pilipenko.
Lipsky dengan pembicaraan terkini tentang modul di Java 9 . Secara umum, ada banyak hype tentang Java 9 di sela-sela.
Sebuah laporan keren oleh Nitsan Wakart tentang profiler , algoritma bebas kunci oleh Nikita Koval, dan tentu saja, laporan oleh Lyosha Shipilev tentang Shinanda .

Kesimpulan : Tahun lalu, detail implementasi JDK 9 dan modulnya menarik - semua orang sedikit kehilangan sentuhan dengan revolusi tenang ini. Seperti biasa, semua orang secara aktif tertarik pada nyali JIT / AOT, terutama GraalVM open-source, GC baru (tidak ada ZGC pada saat itu, tetapi ada Shinanda), dan yang terakhir, itu sudah multi-threading klasik.
Waktu kita
Pertama, kita sekarang hidup di dunia di mana Java 9 dan Java 10 tidak ada lagi. Ada beberapa orang liar yang menawarkan untuk bermigrasi pertama ke JDK 10, sehingga nantinya akan lebih mudah merangkak ke 11, tetapi ini aneh. Kita hidup di dunia yang sedang tumbuh momentum JDK 11, topik yang paling banyak dibicarakan belakangan ini - "apakah Jawa akan bebas." (Tentu saja akan tetap, tetapi tidak harus dalam bentuk Oracle JDK).
Tahun ini hypanul Kotlin terliar. Untungnya, Joker tidak berubah menjadi konferensi di Kotlin, meskipun, jika dilihat dari jumlah pengembang dan pembicara yang tertarik yang memiliki sesuatu untuk diceritakan, mereka dapat dengan mudah melakukannya.
Karenanya, ayah Kotlin, Andrei Breslav, muncul di program dengan laporan tentang "suatu hari dalam kehidupan seorang perancang bahasa." Ini seperti Linuxoid yang datang ke laporan Linus Torvalds, seperti javista yang datang ke Reinhold dan Rose. Perwujudan bahasa yang hidup - dengan laporan dan satu jam komunikasi di area diskusi.
Baru-baru ini saya turun ke JetBrains di Vasilyevsky, dan kami melakukan wawancara dengan Breslav untuk Habr . Beberapa saat sebelumnya, Andrei membuat laporan di festival TechTrain yang kami selenggarakan, jadi jika ada pertanyaan yang tersisa setelah festival, ada kesempatan kedua untuk menanyakannya.

Kompiler dan runtime khusus masih ada di sini. Segera kami akan merilis wawancara tentang Habré dengan pembicara Joker masa depan - Nikita Lipsky dan Ivan Uglyansky. Dalam percakapan yang agak besar ini, kami mencari tahu apa ExcelsiorJET dan apa yang menarik dalam "satu hari kerja insinyur JVM". Sebenarnya, saya datang dengan pertanyaan ini justru sebagai pelengkap aplikasi untuk laporan Breslav.
Apa yang akan ada dalam laporan Nikita dan Ivan? Nikita berbicara tentang Layers Jigsaw, dan Ivan tentang bagian dalam GC. Bagi mereka yang tidak terbiasa dengan mereka: ini adalah pengembang dari Excelsior yang benar-benar menulis kode untuk implementasi Java mereka sendiri dan memiliki pengetahuan ahli yang sangat mendalam di bidang ini. Omong-omong, ExcelsiorJET memiliki versi gratis - jika Anda belum pernah mencobanya, saya sarankan mengunduh dan mengevaluasinya. Baru-baru ini, kompiler Kotlin pergi kepadanya. Kedua laporan berada di aula keempat yang sama, tetapi pada hari yang berbeda.

Andrey, Nikita dan Ivan adalah rekan kami yang bekerja di garis depan teknologi runtime modern, yang datang ke Joker dengan laporan mereka. Tapi rekan kami yang lain akan berada di sana, dari garis depan yang sama, tetapi dengan stan di area pameran alih-alih laporan. Saya ingin menyebutkan secara terpisah Alexander Belokrylov dengan rekan-rekan dari BellSoft yang membuat Liberica (distribusi OpenJDK untuk Raspberry Pi). Kami juga menyiapkan wawancara besar dengan mereka, yang akan dirilis dalam waktu dekat.
Misteri aula keempat, hari pertama
Secara umum, perhatikan kolom keempat dalam program Joker : ada satu kaleng! Jika Anda membuka semua laporan sekaligus, maka Anda dapat melebur tanpa fusi.
Jika tahun lalu semua orang memiliki hype dan horor yang cukup di sekitar JDK 9 dan modul, maka sekarang infrastruktur telah sedikit tenang, dan itu menjadi menarik: di sini kita tersiksa, tersiksa, selamat dari semua cobaan, dan nishtyaki seperti apa yang akan kita dapatkan untuk ini?
Hal pertama yang ingin didapatkan oleh seorang programmer aplikasi adalah beberapa nishtyaki dalam sintaks dan pustaka. Dan kemudian laporan Tagir Valeev tentang pencocokan pola masuk, yang telah kita semua tunggu selama bertahun-tahun. Nikolai Parlog akan memiliki tinjauan tentang Java 11 , termasuk kata kunci var
dan semua jenis chip di perpustakaan.

Selanjutnya, wacana hari pertama pergi ke Layers Jigsaw Nikita Lipsky. Terakhir kali, saya ingatkan Anda, ada laporan yang tidak biasa tentang fakta bahwa OSGi memiliki masalah nyata, yang menyebabkan banyak kontroversi. Mungkin kali ini Nikita akan memberitahumu apa yang harus dilakukan.
Dan di sini aula keempat yang berbahaya datang dengan kartu truf: Pangin dengan terpesona bertitik mengapa Jawa memakan ingatan. Ya, ya, dan memori asli juga. Sayangnya, tidak ada komentar yang dapat diberikan di sini, karena Pangin memiliki semua laporan secara individu dan mendalam.
Dan tepat setelahnya, Mark Hoffman akan berbicara tentang bagaimana runtime dipelintir untuk mengimplementasikan semua fitur yang kita sukai di versi baru Java. Ini adalah kesimpulan yang sangat bagus untuk hari itu, karena dalam satu laporan dua topik bergabung sekaligus: nishtyaks dalam bahasa, dan kompartemen mesin.
Hall Four menyerang lagi
Jika pada hari pertama, tiga dari lima laporan tentang versi baru Java (atau empat tergantung pada bagaimana Anda menghitung), maka pada hari kedua, 4 laporan ditandai dengan #vm
, dan yang kelima - tentang pembuatan profil yang akurat menggunakan perangkat keras Intel baru.
Mari kita mulai dari akhir: laporan terakhir dibuat oleh Sergey Melnikov dari Raiffeisenbank. Kembali ke perbandingan kami dengan tahun lalu, ini merupakan kelanjutan dari laporan sebelumnya dengan JPoint. Sangat disarankan untuk menonton bagian sebelumnya, videonya tersedia di sini. Kali ini kita akan lebih tenggelam dalam Intel Processor Trace.
Laporan profil kedua adalah dari Marcus Hirt sendiri , pencipta Appeal Virtual Machines, yang mengembangkan JRockit JVM. Sejauh yang saya mengerti dari uraian (saya tidak bertanya pada PC), laporan akan mengenai banyak alat yang berbeda seperti JCMD, JMX, JVMTI, JPLIS, HPROF, JFR, JMC dan bagaimana menyelesaikan masalah pembuatan profil JVM nyata menggunakan konstruktor ini.
Di sini Anda memiliki gambar yang sangat lama, seperti jika Anda ingat:

Dua laporan langsung saat runtime: dari Oleg Shelaev dan Grigory Koshelev.
Oleg Shelaev adalah satu-satunya penginjil GraalVM resmi di dunia. Ya, ada banyak pengembang, dan Oleg adalah satu. Oleh karena itu, ia akan datang hampir dengan topik paling akut di dunia GraalVM - dengan perangkat dan pengoperasian SubstrateVM. Setiap tahun memiliki tema sendiri: jika pada 2017 untuk keberhasilan laporan itu cukup dengan hanya menyatakan keberadaan GraalVM, sekarang orang telah membaca banyak berita hype, mulai mencoba menggunakannya dan mengalami sejumlah masalah. Tampaknya yang paling keren di sini bukanlah laporan itu sendiri, tetapi kesempatan untuk menangkap Oleg di area diskusi, mengambil semua yang dia katakan dan mengajukan pertanyaan klarifikasi.

Ngomong-ngomong, Anda sudah dapat mengajukan pertanyaan di ruang obrolan kami @graalvm_ru di Telegram (mereka bahkan terkadang dijawab).
Jika GraalVM memungkinkan Anda untuk menjalankan bahasa non-JVM sendiri, maka laporan oleh Grigory Koshelev mengungkapkan dunia khusus integrasi .NET dan JVM tanpa Grail. Bagaimana Anda suka itu, Elon Musk?
Dan tentu saja, ada laporan dari Ivan Uglyansky , yang telah kami sebutkan sebelumnya. Laporan ini unik karena ini tentang GC, tetapi juga memiliki beberapa arti praktis. Setuju, biasanya laporan tentang GC adalah sejenis astronotika, yang menarik untuk didengarkan (jika itu adalah Shipilev), atau Anda dapat tertidur di tengah (kami tidak akan menunjukkan jari). Di sini kita akan fokus bukan pada algoritma GC abstrak, tetapi pada persyaratan standar dan bagaimana sebenarnya diterapkan.
Apakah ada lebih banyak hardcore?
Tentu saja ada. "Jlink and Custom Runtime Image" oleh Yuri Artamonov dapat dengan mudah dikategorikan sebagai laporan tentang runtime modern, " Maxim Kazantsev dari Azul Systems juga memiliki " Fuzzing for JVM testing " . Anda harus memahami bahwa Joker cukup banyak tentang hardcore, dan bahkan pembicaraan Josh Long tentang Reactive Spring tidak sesederhana kedengarannya.
Kurang dari sebulan tersisa sebelum Joker, tetapi saya masih mencoba mengalokasikan waktu dan meninjau sisa program dalam posting terpisah.
Sebagai kesimpulan, saya hanya dapat menyarankan Anda untuk melihat seluruh program sendiri, dan jika Anda suka, beli tiket , karena mereka perlahan semakin mahal. Sudah waktunya, ya.
