There is enormous scope for coarse and fine grained control of JVM behaviour. The option -XX:+PrintFlagsFinal allows comprehensive reporting of the options and their values. The available options vary by build and JVM type (server or client). Recording and auditing this output is an important step in any Java benchmarking or continuous monitoring exercise
You use Byteman to change how a Java program operates without having to edit the source code and recompile it. Actually, you can even use Byteman to modify a running application without needing to stop and restart it. Byteman will happily redefine the behaviour of both application classes and JVM runtime classes like String,Thread etc.
Today, we are announcing Cloud Foundry support for Scala and a variety of associated frameworks. Most Scala applications written to Lift and Spring will deploy seamlessly without modification to Cloud Foundry
We see that while the three JVMs are essentially trying to achieve the same goal, they do so via different strategies. This leads to different behaviour that needs tuning.
Ceylon isn't Java, it's a new language that's deeply influenced by Java, designed by people who are unapologetic fans of Java. Java's not dying anytime soon, so nothing's killing it.
The Ceylon Project aims to create a programming language and SDK for business computing, designed with an eye to the successes and failures of the Java. It is built to run on the JVM, uses static typing, and supports high-order functions, while maintaining a strong focus on being easy learn and easy to read.
CAT is a Web-based class analysis tool which simplifies filtering classloader configuration and aids you in analyzing classloading issues, such as detecting conflicts, debugging application classpaths and class conflicts, and proposes solutions to help you resolve them
Ola Bini offers advice to those interested in using the JVM with languages other than Java, talking about language interoperability, polyglot patterns, build tools, tweaking the JVM, and JVM tools.
In this interview, Google’s Josh Bloch shares his views on the open-source Java landscape as well as on the future of the Java language, including changes being implemented via Project Coin. Bloch also discusses support for multi-core in programming languages, support for multiple languages on the JVM, Java pain points and the next big language.
Oracle's plan to merge the Sun HotSpot Java Virtual Machine with the JRockit JVM is still evolving, but a single JVM based on both technologies is expected in 18 months to two years
A new book, "Oracle JRockit: The Definitive Guide", has just been published
Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O.
One of the best kept secrets that's bundled with your Java 6 JDK is VisualVM. VisualVM is an absolutely fantastic, free monitoring tool for Java that you may not realize is right under your nose.
VisualVM is an open source tool for monitoring and profiling your Java applications. VisualVM is now integrated with JDK 6 update 7 release and also available as a stand-alone setup. Java 7 plans to integrate next version 1.2.
Noop (pronounced noh-awp, like the machine instruction) is a new language experiment that attempts to blend the best lessons of languages old and new, while syntactically encouraging what we believe to be good coding practices and discouraging the worst offenses. Noop is initially targeted to run on the Java Virtual Machine.
If you still rely on Java 'the language' to implement concurrency in an application, then Carol McDonald's post walks you through various Java concurrency tips specific to Java 'the language'. A helpful reminder that its not necessary to migrate to a JVM-compatible languages like Scala to achieve concurrency results
There are two languages stirring up the Java World: Clojure and Scala. Clojure a Lisp dialect on the JVM, powerful and pure and the Scala language a tight integration of object and functional programming. Which should you learn?
Clojure is a dynamic functional language for the JVM, recently released in version 1.0. Clojure offers a new set of programming techniques for robust code and rapid development. In particular, it has new solutions for multicore computing. Whether you make the shift to Clojure or stick to Java, learning about this new language will challenge your assumptions about the best way to design software.
If you are looking for a simple lightweight Java library that reads and writes JSON, and supports Streams, JSON.simple is probably a good match. It does what it says on the box in 12 classes, and works on legacy (1.4) JREs.
In this presentation from the JVM Languages Summit 2008, Neal Gafter discusses closures on the JVM. Topics covered include the JVM libraries, the challenges of running other languages on the JVM, language-specific wrapper/shim libraries, ways of making the JVM more language-friendly, whether lambda expressions are too hard, the history of closures, and forking the JVM to support closures.
