Every technical expert in the JAVA/JVM field should benefit from those projects, with 2011 of them nominated for the Best Technology Product Award at the Jax Conference held in Sanjose. I chose them because they can be used extensively in a range of projects to solve real-world problems. As a developer, we have to talk about this every day, so let's take a quick look at some exciting projects.
0. NEO4J Graphics Database
NEO4J is a high-performance graphics engine that has all the features of a mature and robust database. Programmers take advantage of object-oriented, flexible network structures rather than strict static table operations, but they can fully enjoy all the benefits of having full transactional features and an enterprise-class database. For many applications, NEO4J has a 1000 times-fold improvement over relational database performance, while spring and other frameworks have plug-in support.
(Attached: Spring has a spring version called Spring Data neo4j neo4j, better to let neo4j and spring, address:
Https://github.com/SpringSource/spring-data-neo4j/tree/master/spring-data-neo4j-examples)
1, JRebel no need to re-deploy
Jrebel is a small JVM plug-in that enables Java programmers to instantly see the results of code changes without requiring redeployment. JRebel is able to replace the block application deployment by allowing you to update the version of the management class files and resources at a single point in time, and when developers have any modifications to classes and resources in the IDE, the changes can be immediately reflected in the deployed application. You can save about 5.25 weeks per year by omitting the time it takes to build from a rebuild to a redeployment period.
2. Gradle A Better Build tool
Gradle fully absorbs the benefits of maven and Ant. Gradle site said: "Engineering automation is a prerequisite for the success of software projects, and it should be easy to implement, easy to use, fun." There is no stereotyped approach to building, so gradle has no rigid means of imposing it on us, although you would think it is important to find and describe your approach, yet Gradle has great support for how to describe it. I don't think the tools will save us, but Gradle can give you the freedom you need, and you can use Gradle to build easy-to-describe, maintainable, concise, high-performance projects. "
3, Akka more simple scalability, fault tolerance, concurrency, remote invocation of Actor model application
It's too hard to write reliable concurrency, fault tolerant, and scalable applications, many times because we use irrational tools and wrong levels of abstraction, and Akka is the solution to these challenges. Using the Actor model and the STM (software transactional memory) to increase the level of abstraction, the actor provides a better platform to build reliable concurrent and scalable applications, with a model for fault tolerance that can crash and accept failure (let it crash/embrace failure), It has been successfully used in the telecommunications industry. The system will hardly go down (high availability 99.9999999 a year with only Ms Downtime, as detailed here), actors also provides abstraction for transparent distribution, providing the essential elements for truly scalable and fault-tolerant applications.
4. Play framework-focus on developer productivity and restful style architecture
With the rails framework in Ruby, Groovy has grails, and now Java has play! Play is a pure Java framework, so you can continue to use your favorite development tools and class libraries. If you're already using Java as your development platform, and you don't need to switch to another language, another IDE and library file, all you have to do is switch to a more efficient Java environment.
5 Exciting Java Projects