This article focuses on some basic and advanced tools that Java programmers should learn in 2019. If you’re an experienced Java developer, you’re probably familiar with these tools, but if not, now is a good time to start learning them. There are many tools in the Java world, starting with well-known ides like Eclipse, NetBeans, and IntelliJ IDEA, to JVM analysis and monitoring tools that Java developers should know about, such as JConsole, VisualVM, Eclipse Memory Analyzer, etc. In this article, though, I’ll focus on generic tools for Java developers of all kinds, such as core Java developers and Web developers. If you have any questions about learning Java (learning methods, learning efficiency, how to obtain employment), you can come to consult me at any time, this is my Java exchange learning group: 934623944 we communicate a lot of problems, help each other, there are good learning tutorials and development tools in the group. Notes: Nuggets

Atlassian’s JIRA is one of the most important tools in agile development today. It is used for error tracking, problem tracking, and project management. If you follow agile development methods, such as Sprint and Scrum, then you must understand JIRA. It allows you to create Spring loops and track the progress of software development. JIRA is a popular Java-based management system. Atlassian offers defect tracking services free of charge to many open source projects, so it is much more recognized and easier to use in the open source space. Git Git is another must-have tool for Java programmers. It is a free, open source distributed version control system designed to handle versioning of projects from very small to very large quickly and efficiently. Git is easy to learn, takes up little space, and has superior performance. Git was originally developed to aid in the Linux kernel development process, but it has been found to be used in many other free software projects. Jenkins Jenkins is an open source automation server written in Java. It helps automate software development, such as compiling projects, running unit tests, integration tests, generating documentation, and uploading artifacts to local and remote repositories. ● Continuously and automatically build/test software projects, such as CruiseControl and DamageControl. ● Monitor some scheduled tasks. It is one of the most popular tools for continuous integration in projects. If you haven’t already started using Jenkins, start now. Selenium is one of the best software testing frameworks for Web applications. It provides a playback tool for authoring tests without having to learn the test scripting language. Java developers can use Selenium to test their HTML and JSP files. It also provides various tools and libraries for Web browser automation. Selenium currently exists in two versions, one called Selenium-Core and the other called Selenium-RC. Groovy is an agile jVM-based development language that combines many of the powerful features of Python, Ruby, and Smalltalk. You can use it for build scripts, test scripts, and even popular frameworks like Gradle and Spock. If you have any questions about learning Java (learning methods, learning efficiency, how to obtain employment), you can come to consult me at any time, this is my Java exchange learning group: 934623944 we communicate a lot of problems, help each other, there are good learning tutorials and development tools in the group. Spock is a testing framework suitable for Java and Groovy applications. Thanks to its JUnit running program, Spock is compatible with most ides, build tools, and continuous integration servers. If you want to improve your unit testing skills, it’s always a good idea to spend more time learning Spock. If you’re an experienced Java developer, you’re familiar with Maven. Apache Maven is a build and project management tool that can be used to manage project generation, reporting, and documentation based on project Object Model (POM) concepts. Another useful feature of Maven is dependency management, and since we use a lot of third-party libraries in our Java project, manually managing each JAR and its dependencies can be cumbersome, Gradle Gradle is a project automation tool based on the concepts of Apache Ant and Apache Maven. It is also the default build tool for Android. It introduces a Groovy-based domain-specific language (DSL) rather than the XML Apache Maven uses to declare project configuration, which facilitates the configuration of project dependencies and user project customization why choose Gradle over Ant or Maven? Because it combines the best features of other build tools, such as Ant’s flexibility and control, Ivy’s dependency management, Maven’s configuration and plug-in conventions, and the ability to use the Groovy DSL on Ant. This makes it the best build tool for Java projects. Docker is an open source application container engine that allows developers to package their applications and dependencies into a portable container and then distribute them to any popular Linux machine, as well as virtualization. Containers are completely sandboxed and have no interface to each other (like iPhone apps). It has almost no performance overhead and can easily run on machines and data centers. Most importantly, they don’t rely on any language, framework, or packaging system. It’s best to start with the basics of the Linux command line. Linux is the free and open source UniX-like operating system that has played an important role in your career. Every Java developer should learn Linux. If there’s anything you haven’t learned yet, don’t miss it. Once again, if you have any questions about learning Java (learning methods, learning efficiency, how to get employment), you can come to consult me at any time. This is my Java exchange learning group: 934623944, we can exchange questions and help each other. There are good learning tutorials and development tools in the group. Notes: Nuggets