question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

3.x: Target Java version

See original GitHub issue

Java 9 has recently been released with a couple of properties that can affect the next RxJava version’s design:

Pros:

  • Less memory use due to VarHandles: no more need for AtomicXXX class indirection
  • New standard Reactive-Streams interoperation point java.util.concurrent.Flow
  • Ability to prevent certain RxJava internal resource leaks via java.lang.ref.Cleaner
  • Lambda usage in unit tests

Cons:

  • VarHandles are reflection based, the ProGuard woes come back.
  • May take several years Java 9 level API to become mainstream enough on the Android platform.
  • Need for Gradle 4+ and the replacement of the now unsupported rxjava-nebula plugin. We successfully switched to Gradle and dropped that plugin.

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:1
  • Comments:17 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
akarnokdcommented, Jun 19, 2019

I decided RxJava 3.x will remain a single Java 6 supporting library. Since Android moves away from Java towards Kotlin and Project Reactor & Spring will keep up with Java, there is no real need to bump up the minimum requirement for the time being.

0reactions
mattwelkecommented, Apr 19, 2022

See https://github.com/reactive-streams/reactive-streams-jvm/issues/394#issuecomment-335982956’s excellent blog post.

Any chance there’s a working link to this blog post? I’m just now learning about reactive programming in Java, getting confused about why there are so many libraries, and this sounds like it’d be a good read. That link results in a Ghost error right now.

Read more comments on GitHub >

github_iconTop Results From Across the Web

A Guide to Java Source and Target Options - Baeldung
The –source option specifies the Java source code version accepted by the compiler: · The target option specifies the Java version of the...
Read more >
javac source and target options - Stack Overflow
The -source 1.6 option specifies that version 1.6 (or 6) of the Java programming language be used to compile OldCode.java . The option...
Read more >
Setting the -source and -target of the Java Compiler
The javac can accept such command using -source and -target. ... To compile your code with a specific JDK version, different than the...
Read more >
Compatibility Guide for JDK 8 - Oracle
The class file version for Java SE 8 is 52.0 as per the JVM Specification. ... In Java SE 7, because of the...
Read more >
Azure Functions runtime versions overview - Microsoft Learn
Migrate from runtime version 3.x to version 4.x ... Windows and Linux. To learn more, see How to target Azure Functions runtime versions....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found