Basic knowledge
What technologies and tools do you need to master for Java development - IT knowledge
Let me share what technologies and tools need to be mastered for Java development. Not to mention the basics of Java, which are essential for both Java and Android development.
frame
The advantage of doing Java development now is that even if you don't understand JSP, servlets, and so on, as long as you know how to use frameworks, you can still become a developer. Alternatively, mainstream frameworks have already helped Java developers host a lot of work, enabling them to focus more on code writing and functional implementation rather than deployment environments.
The mainstream framework used to be dominated by SSH, but later came with SSM. Recently, Spring Boot has gained momentum. Therefore, my recommendation is to mainly understand the Spring Framework and briefly understand how to use mybatis.
The most outstanding capabilities of the Spring Framework are IoC and AOP, and its Chinese name is inversion of control and aspect oriented programming. The biggest use of IoC is that when the caller object needs to use the ability of the called object, there is no need to participate in the lifecycle of generating the called object. Instead, it can be directly used from the IoC container, greatly reducing the burden on developers. AOP allows for horizontal slicing of code, which to some extent achieves code reuse and also improves developers' work efficiency.
The mybatis framework is much simpler than Spring. It is a persistence layer framework that is much lighter than the principle of hibernate, and is more flexible and simple to use and configure.
Linux
At present, it is known that the vast majority of Java projects are deployed in the Linux environment (because the Linux environment is much more stable than the Windows environment, Linux can run very smoothly without restarting for several years). So you also need to learn to implement your requirements through the command line instead of a graphical interface in the Linux environment. For example, to learn the basic CD command and switch folders; Use the mkdir command to create a folder; Cat command to view files; Vi command to modify files; The grep command allows you to view files conditionally; There is also the rz sz command to upload and download files to the local environment; Crontab to deploy scheduled tasks; Tail - f to print the real-time output of a file on the screen; Du - sh * to view the size of each sub file (folder) in the current folder, and so on.
development tool
In the Java development process, Maven, a project management tool, is often used. Its package hosting ability can effectively improve the work efficiency of developers, reducing the process of finding third-party dependencies on jar packages online, downloading and then introducing dependencies.
Due to the fact that programmers usually collaborate on development, the use of git is also essential. It is also important to learn the commands for using git, such as using git add to submit local files, git push to push files to remote warehouses, git commit to submit files to local warehouses, git checkout to switch branches, and so on.
In addition, some programmers also need beyond Compare, Jenkins, etc., depending on the company's situation. At present, some companies prohibit the use of Jenkins due to concerns that the vulnerability issue of Jenkins may lead to issues that touch the security red line, and so on.
The above content introduces the technologies and tools that need to be mastered in Java development. This article is personally written by multiple testers, hoping to be helpful to everyone.