Java's open source ecosystem is strong and healthy, and this is one of the main reasons why we (oreilly) Create Oscon Java (open source Conventionjava). In the past 10 years, some projects have been widely accepted, and have ruled the Java software development world, some even affect the user's daily life.
1. JUnit
Mr. Kent Beck's unit tests on Smalltalk were brought into Java--junit by Kent Beck and Erich Gamma. Over the past decade, JUnit has brought a wave of pervasive testing-driven development. The unit beta versions of many other popular languages have also been created, such as. NET, C, Python, and Perl.
2. Eclipse
Just into the 20th century, with the maturation of Java and its APIs, eclipseide (Integrated development environment) provides programmers with an environment that helps them increase productivity and integrate into the growing Java community. Eclipse is also the first large project to use the SWT UI Toolkit. Eclipse has evolved towards becoming a pervasive integrated development environment. It now provides a rich base platform for integrated platform plug-ins. (SWT is a strong contender for Sun's swing, proving that Java programs can also provide a rich local interface.) )
3. Spring
The spring framework plays an important role in improving the productivity of Java developers. It maintains a balance of simplicity and character. Spring provides a set of services for Java developers. This set of services provides universally used application features such as data access and transaction management. As a competitor of Sun's corporate JavaBean system, Spring has created an alternative and simple path for Java applications, while also creating a healthy competition for Java application development.
4. SOLR
Over the years, SOLR servers (integrated with Lucene search engines) have provided a simple and useful search solution for Web and enterprise applications. The special thing about SOLR is that it provides HTTP access to a strong and fast Lucene search library, making it a part of any system, whether or not the system is implemented by Java. Better than other projects, SOLR has made powerful and fast search an option for modern web applications.
5. Hudson and Jenkins
Formerly known as Hudson, and now also called Jenkins, this continuous integration tool is a key part of Java Development Settings. Jenkins provides automated builds and tests for software projects. With the continuous integration of junit testing, Jenkins is a potential agile development on the Java platform. Although Hudson and Jenkins are now integrated, they do not deviate from the Kohsuke Kawaguchi effort, Kohsuke makes it a world-class continuous integration platform and improves the quality of most Java research and development.
6. Hadoop
Hadoop is the Java implementation of the famous MapReduce model. Its robustness makes it possible for the most "big data" systems to be made. By reducing the cost of extracting valuable data from a huge collection of data, Hadoop has been heavily used, such as Facebook to do massive data analysis, Yahoo's personal and advertising businesses, and many other companies. Just as Linux enables large Web sites to be built on inexpensive hardware, Hadoop makes large-scale distributed computing possible through high fault tolerance at the software layer. Hadoop and the aforementioned lucene are the result of Doug Cutting's efforts.
7. Android
Java's Attribution (Sun or Oracle) has been a constant controversy. Google has opted to use the Java language as the programming language for its very popular Android mobile operating system. This choice has aroused new attention in the entire community of developers. Android Program compilation process more than ordinary Java program to go through a step, the JVM binary code to convert to Dalvik binary code. (Dalvik is a virtual machine optimized for mobile devices) Google can already use Eclipse to provide software developers with a proven development environment for writing Android apps.
7 Java projects that change the world