包阅导读总结
1.
“`
Java、Quarkus、AI、Kotlin、Spring
“`
2.
本月的 Java Annotated Monthly 涵盖了 Java 相关的新闻、教程和技术更新,包括 Sebastian Daschner 的观点,以及 Java 23 的新特性、虚拟线程、开发工具等内容,还涉及 Kotlin 和 Spring 等方面的资讯。
3.
– Java Annotated Monthly – August 2024
– Featured Content
– Sebastian Daschner 的介绍及贡献
– 作者对 Java 世界的观点,如 IntelliJ IDEA 特性、Generative AI/LLMs 、Quarkus 的优势
– Java News
– 每周 Java 新闻汇总
– Java 在 AI 开发中的情况
– OpenJDK 新的安全措施
– Java 23 的新特性
– Java Tutorials and Tips
– Java 21 虚拟线程在 Netflix 微服务中的应用
– 关于嵌入式 Java、Java 语言未来等的播客和讨论
– 数据意义解锁、Stream API 等教程
– 项目 Loom 的结构化并发
– Java 21 认证考试经验等
– Kotlin Corner
– KotlinConf 2025 售票
– Kotlin DataFrame 增强功能
– Kotlin 协程基础
– Languages, Frameworks, Libraries, and Technologies
– 本周 Spring 新闻
– IntelliJ Profiler 使用指南
– OpenTelemetry Tracing 实现
– 2024 年九大 Java 分析器推荐
– 减少 Maven Plugin 日志记录的方法
思维导图:
文章地址:https://blog.jetbrains.com/idea/2024/08/java-annotated-monthly-august-2024/
文章来源:blog.jetbrains.com
作者:Irina Mariasova
发布时间:2024/8/8 7:40
语言:英文
总字数:2069字
预计阅读时间:9分钟
评分:91分
标签:Java,开发者生产力,AI 在 Java 中,Quarkus,IntelliJ IDEA
以下为原文内容
本内容来源于用户推荐转载,旨在分享知识与观点,如有侵权请联系删除 联系邮箱 media@ilingban.com
Java Annotated Monthly – August 2024
Welcome to this month’s Java Annotated Monthly!
As always, we bring you the latest Java news and updates on related technologies. This edition features a special section with Sebastian Daschner, who shares his favorite picks for July. You’ll also find helpful articles on Java 23, a snapshot of Java in today’s tech landscape, and much more.
Dive in to stay informed and inspired!
Featured Content
Sebastian Daschner is a self-employed consultant, author, and trainer who is enthusiastic about programming and Java. He is the author of the book Architecting Modern Java EE Applications. Sebastian participates in open-source standardization processes such as the JCP or the Eclipse Foundation and collaborates on various open-source projects. He is a Java Champion, Oracle Developer Champion, and JavaOne Rockstar. Sebastian evangelizes computer science practices on his blog, in his newsletter, on his podcast, in videos, and on X (formerly Twitter) via @DaschnerS.
As a JetBrains Community Contributor, I’m happy and honored to contribute to this month’s edition of the Java Annotated Monthly newsletter. In the following paragraphs, you’ll find my biased views on what is interesting in the Java world this month, why you definitely should use Quarkus and IntelliJ IDEA, as well as care about developer productivity. Oh, speaking of Why You Should Use Quarkus for Your Next Project, that’s the title of my talk at this year’s JavaZone conference, happening in September in Oslo.
Let’s start with a shameless plug for a recent video I published on 13 Cool IntelliJ IDEA features that you probably didn’t know about. I’ve mentioned a few times that there is probably no single person on the planet who knows every single IntelliJ IDEA feature, including the developers at JetBrains. Our favorite Java IDE is packed with cool features, and in this video, I showcase some of them that provoked an “oh wow” reaction. Especially if you don’t know about the structural search and replace (SSR), Hippie completion, HTTP Client, or Dependency Structure Matrix (DSM) features, you should definitely have a look.
Another interesting topic that I’ve played around with is generative AI/LLMs, especially with local deployments and retrieval-augmented generation (RAG) that enables very interesting scenarios, both on internal tools and potentially on production applications, too. I was inspired by Guillaume Laforge’s session at Devoxx Poland about Gemini, the LangChain4j library, and the possibilities of RAG. Guillaume built a chatbot website on top of the Groovy documentation that knows the docs and can accurately generate responses, which, thanks to RAG, produces a much better quality output than your typical LLM chatbot. I’m curious to see what additional use cases the industry will come up with that can be helpful for developers, and of course, it shows that Java is a great fit for GenAI applications.
Another insight that I had recently was how much Quarkus is a win-win-win for the Java community, from developers’, managers’, and ecological perspectives. What I mean is that the technologies that are typically chosen from a budget or cost perspective might not have the best developer experience, nor effectiveness in terms of resource consumption. Quarkus, however, makes our applications greener thanks to its lower footprint and for the same reason saves money by being more cost-effective – especially in cloud deployments. Still, the developer experience is also outstanding, which is why pretty much all developers I talk to enjoy its quick turnaround and build times, especially its dev mode. That’s what I’d consider a win-win-win for managers, developers, and the environment. Holly Cummins also has a few great talks about Quarkus’ eco-friendliness, for example in her Voxxed Days talk Faster, greener, and happier- why Quarkus should be your next tech stack.
Java News
Java News Roundup 1, 2, 3, 4, 5 – Stay informed on the latest Java news with this weekly selection.
Java and AI? – Inside Java Newscast #72 – Nicolai Parlog talks about Java’s strengths and weaknesses in AI development. He highlights its competitive edge in integrating AI features into larger projects, thanks to projects like Valhalla, Panama, and Babylon.
Integrity by Default – Inside Java Newscast #73 – The article introduces new security measures in OpenJDK that restrict certain operations like deep reflection and native code by default.
Java 23: What’s New? – Loïc Mathieu details the new features in Java 23, including the removal of string templates, support for primitive types in patterns, and Markdown for Javadoc comments. He also covers the deprecation of unsafe memory-access methods, enhancements to the ZGC Garbage Collector, and the introduction of module import declarations.
Java Tutorials and Tips
Java 21 Virtual Threads – Dude, Where’s My Lock? – Check out how the implementation of virtual threads in Java 21 helped to enhance performance in Netflix’s microservices.
Foojay Podcast #55: Embedded Java, Part 2 – The episode explores the history of Java Micro Edition and highlights how modern embedded systems can run the same Java runtime as larger systems.
Java Language Futures – Spring 2024 Edition – Gavin Bierman discusses the rapid evolution of the Java programming language, highlighting recent changes and upcoming features expected in Java.
The power of embeddings: How numbers unlock the meaning of data – Guillaume Laforge explains how vector embeddings convert data into numerical codes that capture meaning, improving search and analysis. He covers the creation process, storage in vector databases, and applications like semantic search and anomaly detection.
Java: Demystifying The Stream API – Part 3 – Mahendra Rao B explains the Java Stream API, highlighting how it uses functional programming techniques like map, filter, and reduce for efficient data processing.
Foojay Podcast #56: Vectors in Java Code, Databases, and LLMs – In this podcast, Frank Delporte and guests Jonathan Ellis and Alexander Chatzizacharias discuss how vectors enhance AI and machine learning, looking at their practical application in the tech industry.
Java and AI – A Structured Analysis – Nicolai Parlog discusses Java’s strengths and limitations for AI development, highlighting enhancements from OpenJDK projects like Panama, Babylon, and Valhalla, and its competitive edge for large AI projects.
Project Loom – Structured Concurrency – Structured concurrency treats groups of related tasks as a single unit, improving error handling, cancellation, reliability, and observability, and it pairs well with virtual threads. This session by Alan Bateman introduces the concept and the preview API supporting it.
PASSED! Scott’s Experience Taking the Java 21 Certification Exam 1Z0-830 – If you’re planning to take this exam, this article might be helpful.
New video series “JavaFX In Action”, Part 1 – Check out the recent interviews with JavaFX developers. It showcases their projects, insights, and the benefits of using JavaFX for creating responsive, feature-rich applications.
Effective Java Logging – Muaath Bin Ali explains how developers and operations teams can leverage the Simple Logging Facade for Java (SLF4J) and Logback to turn logs into strategic resources for application management and incident resolution.
Improving Maven build times – Check out helpful tips on speeding up Maven builds. Learn to optimize dependencies, use parallel builds, and leverage build caches.
Kotlin Corner
KotlinConf 2025 Tickets Are Now on Sale! – The conference will be held from May 21–23, 2025, in Copenhagen, Denmark, featuring various workshops and sessions on Kotlin-related topics. Early bird and regular tickets are available, with workshops covering asynchronous programming, Kotlin Multiplatform, Ktor, and Compose Multiplatform.
Enhanced Column Selection DSL in Kotlin DataFrame – Garth Gilmour and Jolan Rensen detail new functions for easier column selection in Kotlin DataFrame. These enhancements include handling nested data, selecting columns by index, and using predicates.
Coroutine Essentials – Dave Leeds introduces the basics of Kotlin coroutines such as coroutine builders, suspending functions, and suspension points.
Coroutines: Concurrency in Kotlin by Dave Leeds – If you prefer a video format for the previous topic, check out this presentation.
Ultimate Kotlin TDD FizzBuzz by Duncan McGregor – Find out what the FizzBuzz kata is all about.
Xcode-Kotlin 2.0 Release by Touchlab – Xcode-Kotlin 2.0 offers up to five times faster debugging performance, expanded variable information, and support across Swift, Kotlin, and Objective-C code. The blog post provides installation instructions and showcases the improved debugging experience.
Languages, Frameworks, Libraries, and Technologies
This Week in Spring 1, 2, 3, 4, 5 – Don’t miss the recent Spring news!
What’s wrong with createDirectories() – A Beginner’s Guide to IntelliJ Profiler – Igor Kulakov explains how to use the IntelliJ Profiler to make Java applications run faster. He covers basic profiling and finding performance issues, and he also offers optimization tips with an example.
OpenTelemetry Tracing on Spring Boot, Java Agent vs. Micrometer Tracing – Nicolas Fränkel explains how to implement OpenTelemetry tracing in a microservices setup using Spring Boot and Flask applications.
9 Best Java Profilers to Use in 2024 – Lee Sheinberg reviews the top nine Java profilers for 2024, including tools like YourKit, JProfiler, and the IntelliJ Profiler. She explains their features, use cases, and how they help developers improve performance and manage memory.
Reduce Maven Plugin logging – Maarten Mulders offers tips to reduce excessive logging from Maven plugins, specifically the OpenAPI Generator Maven plugin. He suggests using SLF4J to suppress unnecessary log messages, resulting in significantly cleaner build logs.
Enhancing the Visibility of Integration Tests – Anton Belyaev provides practical tips for improving the visibility of integration tests, focusing on interactions with external services. He recommends using DSL wrappers, JsonAssert, and storing specifications in JSON files to make tests more readable and maintainable.
Better ‘printf’ Debugging – Igor Kulakov demonstrates how to use logpoints in IntelliJ IDEA to enhance traditional printf debugging. He covers the usage of live templates for logging method parameters, values, and entries, setting logging breakpoints to avoid manual log management, and managing frequent events to prevent console flooding.
Prompt Engineering – Basic Concepts For Developers – Marco Behler invites you to learn about essential concepts for writing non-trivial applications on top of LLMs.
How to use symbolic links to move the DB data folder – Vlad Mihalcea explains how to use symbolic links to move a database data folder to a different partition to free up space.
Have you ever considered just not writing bugs? by Tagir Valeev – This talk examines several Java code snippets with common mistakes and explores some tools and approaches that can prevent these bugs.
Get Started With Allocation Profiling – Igor Kulakov explains how to diagnose and fix a memory leak in a Java application using allocation profiling tools.
Conferences and Events
Check what events are available in August:
London Java Community (LJC) Live with Trisha Gee – London, United Kingdom, August 5
Bangalore JUG Meetup – Bangalore, India, August 10
Moving Java Forward Together – Online, August 21
SpringOne – Online, August 26–28
JUG.CH Sommerparty 2024 – Zurich, Switzerland, August 30
Culture and Community
FAQ: What’s a @KevlinHenney? – Find out what a @KevlinHenney screen is and why people are terrified when they see one.
Being a Responsible Developer in the Age of AI Hype – Justin Sheehy discusses the need for responsible AI development, emphasizing the importance of avoiding hype and creating ethical systems. He offers guidance on assessing AI technologies critically to ensure they are used responsibly and ethically.
Building a Culture of Continuous Experimentation – Sarah Aslanifar discusses leveraging continuous learning to drive efficiency, eliminate waste, and significantly improve product outcomes, covering the crucial role of minimum viable products (MVPs).
And Finally…
The New UI Becomes the Default in 2024.2 – Don’t miss this update if you are still using the classic UI and haven’t updated to the new one yet.
Top Tools for Java Developers in 2024 – Check out a convenient list with helpful links about the tools you might need for productive work with Java.
Using Dev Containers in JetBrains IDEs – Part 1 – Yuri Trukhin explains how dev containers streamline development in JetBrains IDEs by creating isolated, consistent environments with all the necessary tools and dependencies. This first part of the series covers the basics of dev containers, their advantages, and how to set them up for your projects.
Is Java Still Relevant Nowadays? – Despite new languages emerging, does Java remain widely used in various sectors? Find out in this blog post.
That’s all for today!
We’re gathering ideas for the next Java Annotated Monthly. Share your suggestions via email or X (formerly Twitter) by August 20. Don’t forget to explore our archive of past JAM issues to catch up on any posts or articles you might have missed.