Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.
It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.
Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.
1.Mockito
Mockito is an open source testing framework for Java released under the MIT License.
The framework allows the creation of test double objects (mock objects) in automated unit tests for the purpose of test-driven development (TDD) or behavior-driven development (BDD).
Mockito distinguishes itself from other mocking frameworks by allowing developers to verify the behavior of the system under test (SUT) without establishing expectations beforehand.
2.java-design-patterns
Design Patterns are already defined and provides industry standard approach to solve a recurring problem, so it saves time if we sensibly use the design pattern.
There are many java design patterns that we can use in our java based projects.
Using design patterns promotes reusability that leads to more robust and highly maintainable code.
It helps in reducing total cost of ownership (TCO) of the software product.
3.RxJava
RxJava is a Java VM implementation of ReactiveX (Reactive Extensions): a library for composing asynchronous and event-based programs by using observable sequences.
4.MPAndroidChart
Using MpAndroidChart Library, we can draw various graph but focus of this tutorial will be on Line chart in your Android Application.
A line chart or line graph is a type of chart which displays information as a series of data points called ‘markers’ connected by straight line segments.
It is a basic type of chart common in many fields.
The Library works for Android API 8 and above but if we are using animations, it works on API 11 and above.
5.guava
Guava is an open-source set of common libraries for Java, mainly developed by Google engineers.
Guava can be roughly divided into three components: basic utilities to reduce menial labors to implement common methods and behaviors, an extension to the Java collections framework (JCF) formerly called the Google Collections Library, and other utilities which provide convenient and productive features such as functional programming, graphs, caching, range objects, and hashing.
6.Spring
The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
A key element of Spring is infrastructural support at the application level: Spring focuses on the
"plumbing" of enterprise applications so that teams can focus on application-level business
logic, without unnecessary ties to specific deployment environments.
7.TDD
TDD requires a different way of thinking, so in order to start TDD you need to forget the way
you developed code before.
This process is very hard.
And it is even harder if you don’t
know how to write unit tests.
But it’s worth it.
Developing with TDD has valuable advantages:
• You have a better understanding of a feature you implement.
• You have robust indicators of feature completeness.
8.Apache Commons
The Apache Commons is a project of the Apache Software Foundation, formerly under the
Jakarta Project.
The purpose of the Commons is to provide reusable, open source Java
software.
The Commons is composed of three parts: proper, sandbox, and dormant.
9.ElasticSearch
The search API allows one to execute a search query and get back search hits that match the
query.
It can be executed across one or more indices and across one or more types.
The
query can be provided using the query Java API.
The body of the search request is built using
the SearchSourceBuilder.
10.hadoop
Apache Hadoop is a community driven open-source project governed by the Apache
Software Foundation.
It was originally implemented at Yahoo based on papers published by Google in 2003 and 2004.
Hadoop committers today work at several different organizations like Hortonworks, Microsoft, Facebook, Cloudera and many others around the world.
11. Android
Android is a mobile operating system developed by Google, based on a modified version of
the Linux kernel and other open source software and designed primarily for touchscreen
mobile devices such as smartphones and tablets.
In addition, Google has further developed
Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each with
a specialized user interface.
Variants of Android are also used on game consoles, digital
cameras, PCs and other electronics.