Skip to main content

Java is amazing (again)

Having been away (again) from Java, I never knew or appreciated what had changed or how it had improved.

At work they were happy with Java 6 and saw no reason to upgrade.  They were not interested in new Java 7 features but I learned that they have upgraded to Java 8.

I've been getting back into Java and boy have I missed a lot:

  • Java 8 functional features are awesome
  • Streams seem amazing as do lambdas
  • new Java libraries
  • A new edition of Effective Java
  • Many new excellent Java books
    Java 8 in Action
    Core Java for the impatient
    Java by comparison
  • new Garbage Collectors
  • Not 1 or 2 but many new Java releases
  • GraalVM

I'm really excited about the future of the JVM, Java language and Java ecosystem.


Comments

Marco Behler said…
Hi Lee,
I'm the original author of one of the links you posted here (Java versions & Features, linking to a syndicated version).

Would you mind directing that to the original link on my blog, as that is the most up-to-date version available.

https://www.marcobehler.com/guides/a-guide-to-java-versions-and-features

Thank you!
Marco

Popular posts from this blog

Overcome Java JNI gdb errors on GNU/Linux

If you happen to try to debug any Java JNI programs using gdb on GNU/Linux you will soon come across error messages. For example : $ gdb --args java MyJavaProgramUsingJNI cannot find user-level thread for LWP nnn: generic error warning: Cannot initialize thread debugging library: versions of libpthread and libthread_db do not match The reason for this is that the java program mucks around with LD_LIBRARY_PATH and that prevents gdb from running correctly. To overcome this, you have to run your Java program and place a pause in the Java code, such as reading a key, and then in another shell, run gdb to attach to the running Java process. You can then set your breakpoint on your JNI code and debug it. Here is an example : Compile your Java program: $ javac JNITest.java Generate the JNI header file: $ javah -jni JNITest.java Create and compile your C code library: $ cat jnilib.c #include "JNITest.h" JNIEXPORT jint JNICALL Java_JNITest_addValues( JNIEnv...