Можливість зробити знімок (або дамп пам'яті віртуальної машини Java — це інструмент, цінність якого важко переоцінити. Файл дампа містить копії усіх Java об'єктів, що перебували в пам'яті в момент знімка. Формат файлу добре відомий, і існує безліч інструментів, які вміють із ним працювати.


Читати далі →

Знайомство з командою курсів стека Java на Hexlet

Привіт, Хабраюзер. Ми давно хотіли стати трохи ближче до тебе. І сьогодні настільки тривало що зріє ідея розповісти тобі більш докладно про те: «хто і які курси Java стека на Хекслет робить» — втілилася! Як думаю — стало зрозуміло: ми розповімо Вам про курси над якими ми працювали останні пів року, включаючи останній курс який ось-ось почали записувати: Java Web-сервісів.



Читати далі →

Новий GC Epsilon. У джави може не бути сміття. Шок. Сенсація

Добрий день, панове!
Поспішаю повідомити, що настають останні дні.
Здається, світ Java розвинувся до такого ступеня, що ми тепер можемо спокійно використовувати Rust замість Java, то Java замість Rust.
Криваві подробиці чекають вас під катом.

Читати далі →

Enum-Всемогутній

Вступна
Дуже часто, ми використовуємо інструменти строго за призначенням, забороняючи собі робити крок вліво або вправо. Але що якщо ми трохи 'забудемся'? Що, якщо ми подивимося на звичні нам речі під іншим кутом? У цій статті зібрані підходи використання перерахувань та проведено невеличкий експеримент над ними. Сарказм, гумор і трохи филосовских питань. Кому цікаво, ласкаво просимо під кат.

Читати далі →

Class 'ві Class' и

Вступна
Напевно, java-класи — це найвідоміша її частина. Ми їх використовуємо щодня, пишемо їх, правимо їх. Але є багато нюансів, про які ми навіть не здогадуємося. І я люблю за це 'нашу' java — вона завжди зможе залишатися загадковою, таємничою. Сьогодні частина її секретів впаде до Ваших ніг. Тут ви знайдете незвичайні приклади коду, смішну історію і цікаву статистику. Кому цікаво, ласкаво просимо під кат.

Читати далі →

Google Chrome Extensions: швидкий перекладач своїми руками

image

Нещодавно помітив, що нехай мій англійська не так вже й поганий, я все одно досить часто відволікаюся на переклад окремих незнайомих слів. І так як мені набридло кожен раз витрачати на це свій час я вирішив написати розширення-перекладач. Можна сказати:
Але такі вже є!
Так, є, але, по-перше, я раніше не писав розширення для браузерів і хотів спробувати, по-друге, створювати щось самому завжди веселіше ніж користуватися готовим. Так що кому це цікаво так само як і мені — ласкаво просимо під кат.

Читати далі →

Естетична краса: Switch vs If

Вступна
Як розробники, ми кожен день стикаємося з кодом і ніж більше того, який припадає нам до душі, ми бачимо, пишемо, тим більшим ентузіазмом переймаємося, тим більш продуктивними та ефективними стаємо. Та що там говорити, ми просто пишаємося нашим кодом. Але одна дилема не дає мені спокою: коли 2 розробника дивляться на один і той же код вони можуть відчувати абсолютно протилежні почуття. І що робити, якщо ці почуття, емоції, навіяні його естетичною красою, не збігається з емоціями більшості оточуючих Вас професіоналів? Загалом, історія про те, чому може не подобатися мовна конструкція switch на стільки, що волієш if. Кому цікава ця холиварная позиція ласкаво просимо під кат.

Читати далі →

Hibernate для початківців

Я стикався (та й не тільки я) з проблемою розгортання Hibernate і вирішив спробувати висвітлити дану тему. Hibernate — це популярний framework, мета якого зв'язати ООП і реалізаційну базу даних. Робота з Hibernate скоротить час розробки проекту в порівнянні із звичайним jdbc.

Для новачка програмування налаштування framework часто викликає труднощі. Допомогу ком'юніті з освітленням базових проблем допоможе початківцям освоювати мови програмування швидше. Стаття призначена тільки для початківців в Java, які вперше розгортають hibernate. Я розгортав hibernate на базі ліцензійної IDEA.
Maven framework для автоматизації складання проекту на основі POM, що дозволяє підключати з інтернету залежності, не завантажуючи бібліотеки в проект. POM (project object model) -декларативне опис проекту. Копіюємо назва бібліотек у форматі xml з сайту mvnrepository.com.

Читати далі →

«При роботі над інспекціями коду зустрічаєш Java-паззлеры кожен день»: Тагір Валєєв про роботу над IntelliJ IDEA



Одні знають Тагіра lany Валєєва за його доповідей про Stream API, інші — за хабрапостам, треті — по роботі над статичним аналізом коду (у проектах FindBugs і HuntBugs). А з серпня він працює в JetBrains над IntelliJ IDEA, і це на багато вплинуло: аналізом коду він тепер займається саме там, та його наступний доповідь (на наближення JPoint і JBreak) буде як раз про створення інспекцій коду в IDEA. Ми розпитали Тагіра про те, як розробляти проект, в якому розробляють все інше.

Читати далі →

Починається розробка OpenJDK 10


Сьогодні Mark Reinhold оголосив про відкриття репозиторіїв mercurial для Java 10, і розробники, які мали статус committer і вище в проекті Java 9, отримали можливість розміщувати виправлення і дрібні поліпшення, які не передбачається вносити в Java 9. Всім розробникам (наприклад, я) відновили статус на сторінці перепису OpenJDK.
Великі зміни вносити поки не рекомендується щоб уникнути конфліктів. Зміни в Java 9 ще не завершені і деякий час доведеться переносити в Java 10. При відсутності конфліктів процедура буде автоматизована, так що тим, хто продовжує вносити виправлення в Java 9, швидше за все не доведеться зайвий раз турбуватися.
Читати далі →