Tagir Valeev
@tagir-valeev.bsky.social
📤 353
📥 29
📝 63
Work at JetBrains. Java Champion. Check my Java book:
https://mng.bz/671p
reposted by
Tagir Valeev
Sébastien Deleuze
2 days ago
Don't miss my new blog post in the Road to GA series to learn how the Spring team empowers Spring developers to make their Spring Boot 4 application null-safe, to reduce or remove the risk of NullPointerException and to solve "the billion dollar mistake"!
spring.io/blog/2025/11...
#spring
#java
loading . . .
Null-Safe applications with Spring Boot 4
Level up your Java code and explore what Spring can do for you.
https://spring.io/blog/2025/11/12/null-safe-applications-with-spring-boot-4
0
41
23
A user reports wrong highlighting in IntelliJ IDEA: the code is red, but both javac compiler and ecj compiler compile the code successfully, using any version of compiler. Next you read the spec and realize that IntelliJ IDEA behavior is correct, and both compilers are wrong. Weird feeling.
3 days ago
1
10
0
Days since I mixed 'ExpressionUtils' and 'ExceptionUtils': 0
11 days ago
1
4
0
Is it official now to call the taskbar notification area as 'tray'? I remember Raymond Chen saying that this is wrong 🤔
devblogs.microsoft.com/oldnewthing/...
about 1 month ago
0
0
0
Fixed a static analysis warning in a Java file in the repo . . . It was a demonstration Java file used to onboard users and teach them about IntelliJ IDEA inspections and quick-fixes. The warning was there to illustrate how inspections work 🤦
about 1 month ago
0
4
0
TIL: In
#Java
, List.subList() and List.reversed() are implemented smartly. You may call these methods as many times as you want and in any order, but you don't get a long chain of references which leads to StackOverflowError. The longest chain of views is two: reversed -> subList -> original list.
about 2 months ago
0
12
5
Implemented Comparator.min/max for the Java standard library. Should be available since Java 26. ❌comp.compare(a, b) >= 0 ? a : b ✅comp.max(a, b)
bugs.openjdk.org/browse/JDK-8...
loading . . .
https://bugs.openjdk.org/browse/JDK-8357219
about 2 months ago
0
9
2
reposted by
Tagir Valeev
Mark Reinhold
about 2 months ago
Java 25 / JDK 25: General Availability:
mail.openjdk.org/pipermail/jd...
Features:
openjdk.org/projects/jdk...
Downloads:
jdk.java.net/25/
#Java25
#JDK25
#OpenJDK
#Java
loading . . .
Java 25 / JDK 25: General Availability
https://mail.openjdk.org/pipermail/jdk-dev/2025-September/010483.html
0
82
55
reposted by
Tagir Valeev
IntelliJ IDEA, a JetBrains IDE
about 2 months ago
Java 25 LTS is here! 🚀 Ready to tap into the latest
#Java
features?
#IntelliJIDEA
supports Java 25 from day one. Let’s dive into what’s new and how your IDE has you covered! 👇
#Java25IntelliJIDEA
jb.gg/r70wns
loading . . .
Java 25 LTS and IntelliJ IDEA | The IntelliJ IDEA Blog
Full support for Java 25 is available in IntelliJ IDEA!
https://jb.gg/r70wns
0
38
17
JetBrains AI Assistant is quite useful for adding Maven dependencies. Take care, though, to update the versions to the latest, as its learning set is somewhat outdated. To update the version, invoke good old code completion.
about 2 months ago
1
1
0
reposted by
Tagir Valeev
Anton Arhipov
about 2 months ago
Looks like today is the day for JDK25!
openjdk.org/projects/jdk...
#java
loading . . .
JDK 25
https://openjdk.org/projects/jdk/25/
1
18
6
Yesterday during dinner with Javazone speakers, I asked JetBrains Kineto to create an app to check whether a number is prime and show factors if it's not. It took a single prompt and about 30 minutes. It deploys the app automatically. Now I have my very own prime checker 😁
2 months ago
0
3
0
Josh's talk was actually very hot 🔥
#JavaZone
2 months ago
3
7
1
reposted by
Tagir Valeev
IntelliJ IDEA, a JetBrains IDE
2 months ago
🔄 Just starting to explore JSpecify or thinking of migrating from another nullability library? Come chat with
@tagir-valeev.bsky.social
and the team behind the JSpecify support in IntelliJ IDEA – you’ll find them at the
@jetbrains.com
booth at
@javazone.bsky.social
2025!
add a skeleton here at some point
0
9
4
Java 24 is three times bigger than Java 8. That's the fact, that's simple math.
@starbuxman.joshlong.com
on
#JavaZone
2 months ago
0
4
1
reposted by
Tagir Valeev
Marit van Dijk
2 months ago
In person
@docker.com
help from
@shelajev.bsky.social
at
@javazone.bsky.social
- Thank you!
#JavaZone
0
13
1
What people see: new modern API to write class files. What I see: missing semicolon at line 8.
@rafaelcodes.bsky.social
at
#JavaZone
.
2 months ago
3
11
3
reposted by
Tagir Valeev
IntelliJ IDEA, a JetBrains IDE
2 months ago
Good morning
@javazone.bsky.social
2025! Swing by the
@jetbrains.com
booth to see what’s new in IntelliJ IDEA 2025.2. 🎤 Don’t miss
@maritvandijk.bsky.social
’s talk, “Be more productive with IntelliJ IDEA”, at 10:20 am, where she’ll share tips to boost your workflow.
0
15
3
If you like to chat about Java or IntelliJ, catch me near JetBrains booth on
#JavaZone
.
2 months ago
0
3
0
get! get! get! get! get!!!
#Java25
3 months ago
2
6
1
I like how
@briangoetz.bsky.social
uses type nullability markers ? and ! in an unrelated discussion without even explaining them, like if it's already well-known thing that exists in the language for a long time 🙂
3 months ago
1
14
0
As named constructors are not possible in
#Java
, some non-public constructors in OpenJDK contain bogus parameter, just to differentiate them from other constructors.
4 months ago
2
10
4
reposted by
Tagir Valeev
IntelliJ IDEA, a JetBrains IDE
4 months ago
“Sudo, Make Me a Sandwich! – Live Coding With Agentic AI in IntelliJ IDEA” by
@antonarhipov.bsky.social
is now live:
youtu.be/1cx8vDJYi74
Watch Junie, JetBrains’ coding agent, in action and see how far AI can go in dev workflows.
#IntelliJIDEAConf
0
14
4
reposted by
Tagir Valeev
Donald Raab
4 months ago
I've wanted to buy "100 Java Mistakes..." by
@tagir-valeev.bsky.social
for a while. Done 👍. Tagir knows so much about Java, and I'm sure I've made many of these mistakes. I'm looking forward to reading this now. 🙏
2
6
2
Using AI slows down experienced developers?
metr.org/blog/2025-07...
4 months ago
0
3
1
Asked JetBrains Junie to implement Stream.takeWhile support in our dataflow analysis. It implemented it, and the tests I wrote beforehand are passed. However, it just reused the Stream.filter implementation. Apparently, I needed better tests. Still, it's a good start, not complete garbage.
4 months ago
1
1
0
If you have a CPU-intensive computation which moves/copies data between HashSets a lot, it may make sense to enumerate all your objects (map them to consecutive integers) and move to BitSets instead, mapping back at the end. They are waaaay faster.
4 months ago
0
4
1
I'm going to visit JVM LS this year! See ya there!
add a skeleton here at some point
5 months ago
1
4
1
reposted by
Tagir Valeev
Sharat (Shar) Chander
5 months ago
One of my top 3 highlights this year thus far was being invited by the
@jetbrains.com
@intellijidea.com
team to celebrate
#30YearsOfJava
. The
#Java
story is rooted in both ongoing technical innovation & community participation. My thanks to
@maritvandijk.bsky.social
who made this all possible.
add a skeleton here at some point
1
13
4
reposted by
Tagir Valeev
Sharat (Shar) Chander
6 months ago
#Java
peers...the 2025
@intellijidea.com
Conference is around the corner (June 3-4)! There's still time to register for this FREE virtual event:
jb.gg/c463w8
Hear from host
@maritvandijk.bsky.social
and me as we kick things off to celebrate 30 YEARS OF JAVA!
loading . . .
IntelliJ IDEA Conf 2025 | June 3-4, 2025
We invite you to join us for IntelliJ IDEA Conf 2025 and gain insights from industry leaders and experts.
https://jb.gg/c463w8
0
30
10
TIL: In
#Java
format strings, you can specify indentation to a single percent character.
6 months ago
0
5
2
Kinda cool
#Java30Years
#JetBrains
www.youtube.com/watch?v=kHyb...
loading . . .
30 Years of Java
YouTube video by IntelliJ IDEA, a JetBrains IDE
https://www.youtube.com/watch?v=kHybgBHqL2A
6 months ago
0
5
0
Here's how the analytics for a single flaky test looks like inside the IntelliJ project.
6 months ago
0
3
0
reposted by
Tagir Valeev
6 months ago
Manchmal sind es die kleinen Dinge, die einem das Leben versüßen oder auch 100.
@bahn.de
@tagir-valeev.bsky.social
1
2
1
reposted by
Tagir Valeev
JetBrains
7 months ago
🤗 Mellum is now open source on
@hf.co
! It’s a focal model that is small, efficient, and made for one thing: code completion. ⚙️ Trained from scratch by JetBrains. 🌱 First in a growing family of dev-focused LLMs. 🔗
jb.gg/hi_mellum
loading . . .
0
63
20
The correct answer is counter-intuitively, Outer2.foo. Normally, classes and variables have separate namespaces in Java, so importing class and importing variable (static field) with the same name does not produce an ambiguous import.
add a skeleton here at some point
7 months ago
1
3
1
Ok, here's my solution. Full of warnings, of course, but who cares about warnings? void main() { O<O<O>> O = O<O>::<O>O; } interface O<T> { void use(O c); default <C> void O() { } }
add a skeleton here at some point
7 months ago
0
1
0
Provide the declaration of the O type, so this statement could be a valid
#Java
statement: O<O<O>> O = O<O>::<O>O;
7 months ago
4
5
2
reposted by
Tagir Valeev
Benjamin Marwell ☕
7 months ago
Well, I didn't fall for Mistake #11 from
@tagir-valeev.bsky.social
's book, but quite something similar: Jackson Objects are both mutable AND return the updated self. I took it for being a copy-then-modify-Operation and used the original value elsewhere - which was modified, too. 😬
#java
#mistakes
3
13
2
What is the output of the following Java code? A: Outer.Inner.foo B: Outer2.foo C: Compilation error D: Runtime exception (No idea if it's possible to post a poll here)
7 months ago
1
3
1
Two lines of code eat too much of time in a user-supplied CPU profile. These lines exist for ages. It's not so clear why they were added. Let's just remove them🤞
7 months ago
0
5
0
reposted by
Tagir Valeev
Rodrigo Sicarelli
7 months ago
I'm more than excited to share our KMP journey at KotlinConf'25 🎉 Whether you're considering KMP or scaling it in your organization, join me to hear about some of our results and future plans! See you in Copenhagen ✌️
0
13
3
reposted by
Tagir Valeev
deplant
7 months ago
I hope at least tariffs on Taiwan components will be cancelled... We already have a shortage of annotation processors!
0
2
1
Luckily, module imports can alleviate this problem.
openjdk.org/jeps/494
7 months ago
1
29
2
By the way, if you are experimenting with Project Valhalla, your experience will be more pleasant if you select language level = X in the latest
#IntelliJIDEA
2025.1 EAP. We've implemented basic parsing, syntax highlighting and even some error highlighting.
8 months ago
0
7
0
An interesting note in value classes JEP. You may have private fields in value classes, but they somewhat leak through the == operator. If you can create new objects, you can compare them with an existing one and indirectly determine the value of a private field
openjdk.org/jeps/401
8 months ago
0
7
0
When writing a regular expression in
#IntelliJIDEA
, you can complete \p{} character classes and see their description. Also, the description is shown if you hover the class. Works with many host languages: Java, Kotlin, JavaScript, and so on.
8 months ago
0
9
3
Don't forget that unary minus is not a losless operation in
#Java
jshell> int n = Integer.MIN_VALUE; n ==> -2147483648 jshell> long neg = -n neg ==> -2147483648 jshell> long neg = -(long)n neg ==> 2147483648
8 months ago
0
6
1
reposted by
Tagir Valeev
IntelliJ IDEA, a JetBrains IDE
8 months ago
A new video tutorial by @MaritvanDijk77 just dropped! Learn how the IntelliJ IDEA debugger helps you find and fix bugs, and get some handy debugger tricks along the way. Watch here 👇
loading . . .
Debugging Java code in IntelliJ IDEA
Let’s see how the IntelliJ IDEA debugger can help us find and fix bugs… and learn some neat tricks about the debugger in the process!Join us:Website: https:/...
https://www.youtube.com/watch?v=V5iQ1FyRtBo
0
21
6
TIL: Primitive Types in Patterns is an AI-related feature
www.itprotoday.com/java/java-24...
8 months ago
0
4
1
Load more
feeds!
log in