InfoQ Homepage Java Content on InfoQ
-
Exterminating Heisenbugs
Victor Grazi presents ten tips to keep in mind when architecting or developing concurrent applications in Java.
-
Tackling real-world unit testing problems
All the information, books and tools are out there, just pick up NUnit, and you’re good to go, right? Not exactly. Even before deciding to start unit testing, we need to sift through real experience of others; good and bad, horror stories and miracles (“This one test saved me a week of work!”). Then, we take the plunge, and realize: There’s so much to learn!
-
Book Review: Java Application Architecture
Java Application Architecture: Modularity Patterns with Examples using OSGi is Kirk Knoernschild's seminal book on a pattern catalogue for modular systems design. Starting with an overview of the arguments for modularity, the main section in the book introduces eighteen categorised patterns for module development, and concludes with an OSGi example. InfoQ spoke to Kirk to find out more about it.
-
Java 8 vs Scala: a Feature Comparison
This article explores some of Java 8’s new features, using both Java’s proposed syntax and Scala. We cover lambda expressions, higher-order functions, parallel collections and virtual extension methods aka traits. Besides this, we will provide insights into the new paradigms integrated in Java 8, such as functional programming.
-
What’s new in Groovy 2.0?
The newly released Groovy 2.0 brings key static features to the language with static type checking and static compilation, adopts JDK 7 related improvements with Project Coin syntax enhancements and the support of the new “invoke dynamic” JVM instruction, and becomes more modular than before. In this article, we’re going to look into those new features in more detail.
-
Lessons From A DevOps Journey
Matt Callanan has been pushing the boundaries of Agile software development for over six years and most recently he extended that journey to DevOps. He recently shared his experiences in a talk at the Agile Development Practices West conference entitled "Lessons From A DevOps Journey". InfoQ caught up with Matt prior to the conference to find out more about his experiences in DevOps.
-
Dan Allen on Arquillian Testing Framework
Arquillian is an integration and functional testing platform that can be used for Java middleware testing. It helps bring the tests to the runtime environment, freeing developers from managing runtime from within the test. InfoQ caught up with Dan Allen to talk about the framework features and its future roadmap.
-
MongoDB, Java and Object Relational Mapping
Brian C. Dilley covers pitfalls, & strengths of using MongoDB ("a very approachable NoSQL solution"), and introduces MJORM. The MJORM project is an annotation free MongoDB Java ORM library. This article builds on Brian's real world in the trenches experience with MongoDB and includes "gotchas" like "Don't treat MongoDB like an RDBMS...", how to "design your indexes carefully", and more.
-
Benchmarking JVM Concurrency Options for Java, Scala and Akka
Michael Slinn examines how to benchmark JVM concurrency options for JVM-based langauges including Java and Scala.
-
Rejection of Social Media API by JCP Expert Group Members Sparks Debate On Innovation
When the JCP rejected JSR 357 (Social Media API) in an 8 to 5 vote, members criticised it for being too broad in scope and not taking sufficient account of security and the mobile space. However, members favouring the proposal indicated this was a political move and impedes innovation.
-
Grails Best Practices
Basic best practices for Grails projects gathered from mailing list, Stack Overflow, blogs, podcasts and internal discussions at IntelliGrape, categorized under controller, service, domain, views...
-
Scala or Java? Exploring myths and facts
The popularization of the Scala programming language and the comparisons with other languages has greatly increased the amount of posts in blogs and social nets, many of those containing many claims that can be outdated, superficial or biased. This article explains the common issues about the language and its environment, favoring a more accurate and balanced assessment.