Tagir Valeev
@tagir-valeev.bsky.social
340 followers 29 following 59 posts
Work at JetBrains. Java Champion. Check my Java book: https://mng.bz/671p
Posts Media Videos Starter Packs
tagir-valeev.bsky.social
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/...
tagir-valeev.bsky.social
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 🤦
tagir-valeev.bsky.social
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.
tagir-valeev.bsky.social
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...
bugs.openjdk.org
Reposted by Tagir Valeev
Reposted by Tagir Valeev
intellijidea.com
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
Java 25 LTS and IntelliJ IDEA | The IntelliJ IDEA Blog
Full support for Java 25 is available in IntelliJ IDEA!
jb.gg
tagir-valeev.bsky.social
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.
Reposted by Tagir Valeev
tagir-valeev.bsky.social
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 😁
tagir-valeev.bsky.social
Josh's talk was actually very hot 🔥 #JavaZone
Reposted by Tagir Valeev
intellijidea.com
🔄 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!
intellijidea.com
🤯 Null pointer exceptions are still around – and still costly for developers.

#JSpecify 1.0 is a new player aiming to fix that, with growing support throughout the #Java ecosystem, including in IntelliJ IDEA.

👉 jb.gg/os04pq
What's New in IntelliJ IDEA
Explore IntelliJ IDEA's latest features and updates to elevate your professional Java and Kotlin development experience.
jb.gg
tagir-valeev.bsky.social
Java 24 is three times bigger than Java 8. That's the fact, that's simple math.
@starbuxman.joshlong.com on #JavaZone
Reposted by Tagir Valeev
tagir-valeev.bsky.social
Sometimes you can fit what3words location in 20 characters (e.g., you can find the #JavaZone conference near campus.elder.swaps)
tagir-valeev.bsky.social
What people see: new modern API to write class files.
What I see: missing semicolon at line 8.
@rafaelcodes.bsky.social at #JavaZone.
Reposted by Tagir Valeev
intellijidea.com
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.
tagir-valeev.bsky.social
If you like to chat about Java or IntelliJ, catch me near JetBrains booth on #JavaZone.
tagir-valeev.bsky.social
get! get! get! get! get!!! #Java25
void main() {
  ThreadLocal<Supplier<Optional<AtomicReference<WeakReference<String>>>>> threadLocal =
    ThreadLocal.withInitial(
      () -> StableValue.supplier(
        () -> Optional.of(new AtomicReference<>(new WeakReference<>("hi")))));

  IO.println(threadLocal.get().get().get().get().get());
}
tagir-valeev.bsky.social
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 🙂
tagir-valeev.bsky.social
As named constructors are not possible in #Java, some non-public constructors in OpenJDK contain bogus parameter, just to differentiate them from other constructors.
/*
     * Package private constructor. Trailing Void argument is there for
     * disambiguating it against other (public) constructors.
     */
    String(AbstractStringBuilder asb, Void sig)
Reposted by Tagir Valeev
intellijidea.com
“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
tagir-valeev.bsky.social
I hope you'll enjoy it! Though a professional like you likely knows already more than half of the things I'm writing about :-)
Reposted by Tagir Valeev
thedonraab.bsky.social
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. 🙏
tagir-valeev.bsky.social
Using AI slows down experienced developers?
metr.org/blog/2025-07...