Что должен знать Java-разработчик про вывод типов
В Java 8 кардинально переработали процедуру вывода типов выражений. В спецификации появилась целая новая глава на эту тему. Это весьма сложная штука, изложенная скорее на языке алгебры, чем на языке нормальных людей. Не каждый программист готов в этом разобраться. Я, разработчик IDE, которому приходилось ковыряться в соответствующем коде, к своему стыду тоже довольно плохо разбираюсь в этой теме и понимаю процесс только по верхам. Причём сложно не только мне, но и авторам компилятора Java. После выхода Java 8 обнаружились десятки багов, когда поведение компилятора не соответствовало спецификации, либо текст спецификации был неоднозначен. В средах разработки для Java ситуация обстояла не лучше: там тоже были баги, причём другие, поэтому код мог отображаться ошибочным в вашей IDE, но успешно компилироваться. Или наоборот. С годами ситуация улучшилась, многие баги исправили, ситуация стала лучше, хотя всё ещё в спецификации остались тёмные углы.
Читать: https://habr.com/ru/post/588975/?utm_campaign=588975
В Java 8 кардинально переработали процедуру вывода типов выражений. В спецификации появилась целая новая глава на эту тему. Это весьма сложная штука, изложенная скорее на языке алгебры, чем на языке нормальных людей. Не каждый программист готов в этом разобраться. Я, разработчик IDE, которому приходилось ковыряться в соответствующем коде, к своему стыду тоже довольно плохо разбираюсь в этой теме и понимаю процесс только по верхам. Причём сложно не только мне, но и авторам компилятора Java. После выхода Java 8 обнаружились десятки багов, когда поведение компилятора не соответствовало спецификации, либо текст спецификации был неоднозначен. В средах разработки для Java ситуация обстояла не лучше: там тоже были баги, причём другие, поэтому код мог отображаться ошибочным в вашей IDE, но успешно компилироваться. Или наоборот. С годами ситуация улучшилась, многие баги исправили, ситуация стала лучше, хотя всё ещё в спецификации остались тёмные углы.
Читать: https://habr.com/ru/post/588975/?utm_campaign=588975
Top 5 Courses to Learn System Design and Software Architecture in 2022 - Best of Lot
Software design or System design is one of the tricky concepts to master. You can quickly learn a programming language like Java or Python, but creating software using that programming language is a...
Read: http://www.java67.com/2019/09/top-5-courses-to-learn-system-design.html
Software design or System design is one of the tricky concepts to master. You can quickly learn a programming language like Java or Python, but creating software using that programming language is a...
Read: http://www.java67.com/2019/09/top-5-courses-to-learn-system-design.html
Top Java Blogs Weekly: Best of 47/2021
Best of Top Java Blogs, year 2021, week 47
Read: https://www.topjavablogs.com/news/best-of-47-2021
Best of Top Java Blogs, year 2021, week 47
Read: https://www.topjavablogs.com/news/best-of-47-2021
Liferay 7.4 — еще одна No Code платформа?
Компания Liferay выпустила очередную версию своей портальной платформы Liferay CE 7.4.3 и гордо заявила в анонсе что это теперь полноценное No Code решение. Так ли это на самом деле?
Читать: https://habr.com/ru/post/589033/?utm_campaign=589033
Компания Liferay выпустила очередную версию своей портальной платформы Liferay CE 7.4.3 и гордо заявила в анонсе что это теперь полноценное No Code решение. Так ли это на самом деле?
Читать: https://habr.com/ru/post/589033/?utm_campaign=589033
Top 10 Frameworks & Libraries Programmers can Learn in 2022 [UPDATED]
Hello Guys, we are just a few weeks away from 2022 now, and many of you might have already made your goals about what to learn in 2022, but if you haven't, then you have come to the right place....
Read: http://www.java67.com/2018/01/top-10-web-mobile-and-big-data-framework-libraries-technologies-programmers-should-learn-in-2018.html
Hello Guys, we are just a few weeks away from 2022 now, and many of you might have already made your goals about what to learn in 2022, but if you haven't, then you have come to the right place....
Read: http://www.java67.com/2018/01/top-10-web-mobile-and-big-data-framework-libraries-technologies-programmers-should-learn-in-2018.html
Top 10 Oracle PL/SQL Courses for Beginners to learn in 2022 - Best of Lot
Hello guys, when you hear the word SQL most people know that it is a popular language to interact with the database and execute commands to extract some data and then perform processing and so on....
Read: http://www.java67.com/2020/09/top-10-oracle-plsql-courses-for.html
Hello guys, when you hear the word SQL most people know that it is a popular language to interact with the database and execute commands to extract some data and then perform processing and so on....
Read: http://www.java67.com/2020/09/top-10-oracle-plsql-courses-for.html
Делаем многопоточный конвейер
В последнее время я довольно часто сталкиваюсь с оптимизацией процессов загрузки и обработки информации. Периодически вижу не самые оптимальные, а то и вредные для производительности решения причем от разработчиков middle и senior уровня. Поэтому хотелось бы подробнее описать общий подход к написанию правильных и быстрых многопоточных архитектур с максимальной утилизацией ресурсов, но при этом с минимально возможным в каждом отдельном случае количеством потоков.
Читать: https://habr.com/ru/post/589109/?utm_campaign=589109
В последнее время я довольно часто сталкиваюсь с оптимизацией процессов загрузки и обработки информации. Периодически вижу не самые оптимальные, а то и вредные для производительности решения причем от разработчиков middle и senior уровня. Поэтому хотелось бы подробнее описать общий подход к написанию правильных и быстрых многопоточных архитектур с максимальной утилизацией ресурсов, но при этом с минимально возможным в каждом отдельном случае количеством потоков.
Читать: https://habr.com/ru/post/589109/?utm_campaign=589109
А как вы определяете свойства переменными окружения в Spring Boot приложениях?
А что, если я скажу, что подобное
содержит ошибку. Не согласны? Разбор под катом.
Читать: https://habr.com/ru/post/588985/?utm_campaign=588985
А что, если я скажу, что подобное
#application.properties
spring.datasource.url=${SPRING_DATASOURCE_URL}?someProperty=${PROPERTY} содержит ошибку. Не согласны? Разбор под катом.
Читать: https://habr.com/ru/post/588985/?utm_campaign=588985
Top 10 Object Oriented Programming Concepts Every Programmer Should Learn
Object-oriented programming (OOP) is a programming style that is used to solve the problem by thinking in terms of real-world objects like Car, Bag, Animal, etc. It also helps you to organize code,...
Read: http://www.java67.com/2020/02/top-10-object-oriented-programming-concepts-fundamentals.html
Object-oriented programming (OOP) is a programming style that is used to solve the problem by thinking in terms of real-world objects like Car, Bag, Animal, etc. It also helps you to organize code,...
Read: http://www.java67.com/2020/02/top-10-object-oriented-programming-concepts-fundamentals.html
Интеграция с Allure: структурировать, упростить, стабилизировать
Если ваш проект с автотестами растет, то рано или поздно ставится вопрос о том, как централизованно управляться с этими тестами. Как найти время на поддержку тестовой документации? Как ее структурировать? Где хранить отчеты? Как избавиться от нестабильных тестов и быстро выявить ответственных за них? В Wrike мы смогли ответить на все эти вопросы и автоматизировать процессы, которые они затрагивают. В статье расскажем, как нам это удалось.
Читать: https://habr.com/ru/post/588873/?utm_campaign=588873
Если ваш проект с автотестами растет, то рано или поздно ставится вопрос о том, как централизованно управляться с этими тестами. Как найти время на поддержку тестовой документации? Как ее структурировать? Где хранить отчеты? Как избавиться от нестабильных тестов и быстро выявить ответственных за них? В Wrike мы смогли ответить на все эти вопросы и автоматизировать процессы, которые они затрагивают. В статье расскажем, как нам это удалось.
Читать: https://habr.com/ru/post/588873/?utm_campaign=588873
Понимание утечек памяти в Java
Одним из основных преимуществ Java является автоматизированное управление памятью с помощью встроенного сборщика мусора (или сокращенно GC). GC неявно заботится о выделении и освобождении памяти и, таким образом, способен решать большинство проблем, связанных с ее утечкой.
Хотя GC эффективно обрабатывает значительную часть памяти, он не гарантирует надежного решения проблемы с ее утечкой. GC достаточно умен, но не безупречен. Утечки памяти все еще могут закрасться даже в приложения, созданные добросовестным разработчиком.
По-прежнему возможны ситуации, когда приложение создает значительное количество лишних объектов, расходуя ресурсы памяти, что иногда приводит к его полному отказу.
Утечки памяти — это настоящая проблема в Java. В этом руководстве мы рассмотрим, каковы потенциальные причины утечек, как распознавать их в рантайме и как справиться с ними в нашем приложении.
Читать: https://habr.com/ru/post/589321/?utm_campaign=589321
Одним из основных преимуществ Java является автоматизированное управление памятью с помощью встроенного сборщика мусора (или сокращенно GC). GC неявно заботится о выделении и освобождении памяти и, таким образом, способен решать большинство проблем, связанных с ее утечкой.
Хотя GC эффективно обрабатывает значительную часть памяти, он не гарантирует надежного решения проблемы с ее утечкой. GC достаточно умен, но не безупречен. Утечки памяти все еще могут закрасться даже в приложения, созданные добросовестным разработчиком.
По-прежнему возможны ситуации, когда приложение создает значительное количество лишних объектов, расходуя ресурсы памяти, что иногда приводит к его полному отказу.
Утечки памяти — это настоящая проблема в Java. В этом руководстве мы рассмотрим, каковы потенциальные причины утечек, как распознавать их в рантайме и как справиться с ними в нашем приложении.
Читать: https://habr.com/ru/post/589321/?utm_campaign=589321
How to use Stream findFirst and findAny function in Java? Example Tutorial
Hello friends, here we are again on the journey of Java excited and eager to find the next stop of knowledge. But do not worry my friends, continuing the java stream series further, today we will...
Read: http://www.java67.com/2021/11/how-to-use-stream-findfirst-and-findany.html
Hello friends, here we are again on the journey of Java excited and eager to find the next stop of knowledge. But do not worry my friends, continuing the java stream series further, today we will...
Read: http://www.java67.com/2021/11/how-to-use-stream-findfirst-and-findany.html
Top 5 Free AI and Deep Learning Courses to Learn Online in 2022 - Best of Lot
Hello guys, if you are interested in learning about Artificial Intelligence and how to build AI and looking for free online resources, you have come to the right place. Earlier, I have shared free...
Read: http://www.java67.com/2021/04/-free-artificial-intelligence-and-deep-learning-courses.html
Hello guys, if you are interested in learning about Artificial Intelligence and how to build AI and looking for free online resources, you have come to the right place. Earlier, I have shared free...
Read: http://www.java67.com/2021/04/-free-artificial-intelligence-and-deep-learning-courses.html
JetBrains Debuts New Kotlin Compiler K2, Kotlin for WebAssembly, and More
At its recent Kotlin 2021 Premier event, JetBrains made a number of major announcements, including K2, the new, faster Kotlin compiler, support for WebAssembly, the Kotlin Symbol Processor, a new code coverage plugin, and improved static analysis.
By Sergio De Simone
Read: https://www.infoq.com/news/2021/11/jetbrains-k2-compiler-kotlin/
At its recent Kotlin 2021 Premier event, JetBrains made a number of major announcements, including K2, the new, faster Kotlin compiler, support for WebAssembly, the Kotlin Symbol Processor, a new code coverage plugin, and improved static analysis.
By Sergio De Simone
Read: https://www.infoq.com/news/2021/11/jetbrains-k2-compiler-kotlin/
Java News Roundup: JDK 18 Release Schedule, Spring Data 2021.1.0, Apple Open-Sources GCGC
This week's Java roundup for November 8th, 2021, features news from JDK 18, Project Loom Build 18-loom+4-273, point releases for Spring Framework and Spring Data, Quarkus 2.4.2.Final, Hibernate Reactive 1.1.0.Final, Piranha 21.11.0, Groovy 4.0.0-beta-2, Apache Camel Quarkus 2.4.0.Final, Neo4J Migrations 1.0.0, Apple open-sources GCGC, and Gluon JavaFX 17.0.2-ea+2 and JavaFX 18-ea+6.
By Michael Redlich
Read: https://www.infoq.com/news/2021/11/java-news-roundup-nov08-2021/
This week's Java roundup for November 8th, 2021, features news from JDK 18, Project Loom Build 18-loom+4-273, point releases for Spring Framework and Spring Data, Quarkus 2.4.2.Final, Hibernate Reactive 1.1.0.Final, Piranha 21.11.0, Groovy 4.0.0-beta-2, Apache Camel Quarkus 2.4.0.Final, Neo4J Migrations 1.0.0, Apple open-sources GCGC, and Gluon JavaFX 17.0.2-ea+2 and JavaFX 18-ea+6.
By Michael Redlich
Read: https://www.infoq.com/news/2021/11/java-news-roundup-nov08-2021/
Нулевое время простоя при изменениях базы данных с помощью флагов функций — шаг за шагом
Каждый раз, когда мы вносим изменение в схему нашей базы данных, мы также должны вносить изменения в код, который использует эту схему базы данных.
Когда мы добавляем новый столбец в базу данных, нам нужно изменить код, чтобы использовать этот новый столбец.
Когда мы удаляем столбец из базы данных, нам нужно изменить код, чтобы этот столбец больше не использовался.
В этом руководстве мы обсудим, как мы можем координировать изменения кода с изменениями базы данных и развертывать их в нашей производственной среде без простоев.
Мы шаг за шагом рассмотрим пример сценария использования и воспользуемся флагами функций, помогающими нам выполнить изменения.
Читать: https://habr.com/ru/post/582636/?utm_campaign=582636
Каждый раз, когда мы вносим изменение в схему нашей базы данных, мы также должны вносить изменения в код, который использует эту схему базы данных.
Когда мы добавляем новый столбец в базу данных, нам нужно изменить код, чтобы использовать этот новый столбец.
Когда мы удаляем столбец из базы данных, нам нужно изменить код, чтобы этот столбец больше не использовался.
В этом руководстве мы обсудим, как мы можем координировать изменения кода с изменениями базы данных и развертывать их в нашей производственной среде без простоев.
Мы шаг за шагом рассмотрим пример сценария использования и воспользуемся флагами функций, помогающими нам выполнить изменения.
Читать: https://habr.com/ru/post/582636/?utm_campaign=582636
Top 20 System and Software Design Interview Questions for Java Programmers
System design questions are an important part of programming job interviews and if you want to do well, you must prepare this topic. In the past, when I shared my list of programming interview...
Read: http://www.java67.com/2018/05/top-20-system-design-interview-questions-answers-programming.html
System design questions are an important part of programming job interviews and if you want to do well, you must prepare this topic. In the past, when I shared my list of programming interview...
Read: http://www.java67.com/2018/05/top-20-system-design-interview-questions-answers-programming.html
От Java 8 до Java 15 за 10 минут
В данной статье рассмотрены крупные нововведения Java начиная с 8 по 15 версии.
Читать: https://habr.com/ru/post/589605/?utm_campaign=589605
В данной статье рассмотрены крупные нововведения Java начиная с 8 по 15 версии.
Читать: https://habr.com/ru/post/589605/?utm_campaign=589605
Пишем Java веб-приложение на современном стеке. С нуля до микросервисной архитектуры. Часть 1.
Постараюсь описать шаги разработки приложения на Java, возникающие проблемы и пути их решения. Наращивать функциональность будем постепенно.
Читать: «Пишем Java веб-приложение на современном стеке. С нуля до микросервисной архитектуры. Часть 1.»
Постараюсь описать шаги разработки приложения на Java, возникающие проблемы и пути их решения. Наращивать функциональность будем постепенно.
Читать: «Пишем Java веб-приложение на современном стеке. С нуля до микросервисной архитектуры. Часть 1.»
6 Best Free AZ-900 Azure Fundamentals Certification Exam Courses for Beginners to Learn Online in 2022
Hello guys, if you are preparing for the AZ-900 certification or Azure Fundamentals exam in 2021, one of the best certifications to start a cloud computing career, and looking for free online courses...
Read: http://www.java67.com/2020/09/5-free-courses-to-crack-azure-fundamentals-AZ-900-certification-exam.html
Hello guys, if you are preparing for the AZ-900 certification or Azure Fundamentals exam in 2021, one of the best certifications to start a cloud computing career, and looking for free online courses...
Read: http://www.java67.com/2020/09/5-free-courses-to-crack-azure-fundamentals-AZ-900-certification-exam.html
Top 5 Udemy Courses To Learn SQL and Database Online for Beginners in 2022 - Best of Lot
Hello guys, if you want to learn SQL and Database and look for the best Udemy courses, you have come to the right place. Earlier, I have shared the best free SQL courses, which contain free courses...
Read: http://www.java67.com/2021/10/5-best-udemy-courses-to-learn-sql-and-database-.html
Hello guys, if you want to learn SQL and Database and look for the best Udemy courses, you have come to the right place. Earlier, I have shared the best free SQL courses, which contain free courses...
Read: http://www.java67.com/2021/10/5-best-udemy-courses-to-learn-sql-and-database-.html