A high-level programming language used to create complete applications that may run on a single computer or be distributed among servers and clients in a network.
This competency area, advanced Java, contains aspects beyond core Java such as servlet programming, web services, and the JDBC API. It is a web & enterprise application development platform which in general makes use of client & server architecture. Advanced Java key competencies include multi-threaded programming, socket programming, and project management tools like Maven, Git.
- Object-Oriented Programming - An understanding of the concept to model real-world problems into a set of programmable objects and establish the relationship among them.
- Database Programming - Understanding of the proper and efficient use of the JDBC framework. Use of ORM frameworks like Hibernate.
- Parallel and Concurrent Programming - Understanding of the proper usage of threads, executor services, fork-join framework, and synchronization.
- Java Native Interface(JNI) - Ability to use third-party API written in C/C++ via Java using the JNI framework.
- Socket and Servlet Programming - Understanding the usage of Java socket and web APIs and writing network applications and web applications
- Project Build Tools - Usage of project build tools such as Maven, Gradle, etc. Virtually all advanced java projects make use of build tools to manage project structures and artifacts.
- Version Control Systems - Understanding the usage of version control systems like Git, SVN, etc. Virtually all advanced java projects make use of VCS tools to manage the project feature development.