In this article, we will introduce the commonly used development tools in Java. It is said that if you want to do your job well, you must first sharpen your tools. If you want to learn the Java language well, it is essential to choose an easy-to-use development tool. In addition, the use of development tools when interviewing for Java jobs is also an important assessment point. So everyone should study hard in this lesson. I'll try to be as comprehensive as possible. Let everyone have a simple understanding of commonly used tools.
To fully understand Java development tools, we first need to understand the development process of Java programs. Through this process, we can understand what tools are needed for Java development?
First we understand the complete project development process, as shown in the figure:
httpArchitecture, Design database, writedebugprogram code. For ordinary programmers, the main thing is to write and debug programs.
1. If you want to write a program, you need an editing tool that can write source code. For example: Notepad++; 2. If you want to write a program. To test the program, you need a compilation and execution tool. For example: JDK; 3. To test a unit separately, you need a
Unit Test
tool. For example: JUnit, TestNG; 4. To write development documents, you need Develop document editing tools. For example: word, Excel, PPT; 5. To analyze and design programs, you need program analysis and design tools, such as StarUML; 6. To facilitate source code management and version upgrades, you need source code management and version maintenance tools. . For example: SVN, Git; 7. If you want to collaborate with multiple teams or use a lot of third-party libraries and Jar packages, you need an automated build tool. , gradle; 8. If you want to use all the above functions in one tool, you need to use an integrated development tool IDE. For example: Eclipse; Is it a headache for everyone to see so many tools? Haha: ) So the threshold for entry into java development is a bit high. It doesn’t matter. I will introduce it to you in detail one by one in the following courses. ##First, let’s take a brief look at these common java development tools. Introduction to commonly used source code editing tools by scholars
Java source code is essentially an ordinary text file, so in theory any editor that can edit text files can be used as our java code editing tool. : WINDOWS Notepad, WordPad, Word, etc. However, these simple tools do not have syntax highlighting, automatic completion and other functions. The lack of these functions will greatly reduce the efficiency of code writing, so we generally do not choose these simple tools when learning development. Text editing tools. We generally use some powerful Notepad-like tools, such as: Notepad++, Sublime Text, editplus, ultraedit, vim, etc. The specific introduction is as follows: ##Notepad++
Notepad++ is a text editor under the Windows operating system (software copyright license: GPL), with complete The Chinese languageinterface
and the function of supporting multi-language writing (UTF8 technology). Notepad++ is more powerful than Notepad in Windows. In addition to being used to create general plain text description files, it is also very suitable for writing computer program codes. Notepad++ not only has syntax highlighting, but also has a syntax folding function, and supports macros and plug-in modules that expand basic functions. Notepad++ is free software, free to use, comes with Chinese language, and supports all mainstream computer programming languages.
EditPlus is a small but powerful program produced by South Korea's Sangil Kim (ES-Computing) that can process text, HTML and Windows editor for programming languages, you can even use it as a simple IDE for C, Java, PHP and other languages by setting up user tools. EditPlus has powerful functions, a simple and beautiful interface, and fast startup speed; it has good Chinese support; it supports syntax highlighting; it supports code folding; it supports code auto-completion (but its function is relatively weak), and it does not support the code prompt function; its configuration function is powerful, and It is easier and more scalable.
ultraedit
programming editor with a friendly interface and supports advanced syntax. Bright, code folding and macros, as well as a lot of other functions, built-in support for HTML, PHP and JavaScript and other syntax, can edit multiple files at the same time, and even if you open a large file, the speed is not It will be slow. Because it charges a fee, it is not as popular as the above two software. But it is very useful when editing hexadecimal. In addition, whether we charge fees in China has little impact on us :).
Sublime Text
Linux
, Mac OS X and other operating systems. Sublime Text has a beautiful user interface and powerful Functions, such as code Thumbnails, Python plug-ins, code snippets, etc. Key bindings, menus and toolbars can also be customized. The main features of Sublime Text include: spell check, bookmarks, full Python API, Goto functionality, instant project switching, multi-selection, multi-window and more. It is currently a very popular editor, especially for front-end development, and has basically become standard. vim
For more development tool downloads, please pay attention to the php Chinese website tool download site: http://www.php.cn/xiazai/gongju
##二, Introduction to java compilation and execution tools
The main function of the above tools is to write java source code. To compile and execute the written java code, we also need a compilation and execution tool. That is the JDK (Java Development Kit) officially provided by java, also called java development tool kit. About the installation and configuration of JDK. We will explain it specifically in the next section. Let’s take a brief look at it here.
JDK is a Java language software development kit. JDK is the core of the entire Java development. It includes the JAVA running environment, JAVA tools and JAVA basic class libraries. After we write the java source code, we use the java tools provided by the JDK to compile and execute the java program. Therefore, to do Java development, the first step is to install JDK on the development computer. In the next lesson, we will specifically introduce the installation and configuration of JDK.
3. Introduction to java unit testing tools
Unit testing (module testing) is a small piece of code written by the developer, which is used to check the code under test. Whether the very clear function is correct. Generally speaking, a unit test is used to determine whether the behavior of a specific functionunder a specific condition (or scenario) is reasonable and correct. For example: In the real world, a company produces a part for Shenzhou-11 and must independently test whether there is any problem with this part. If no individual part is tested. Wait until everything is integrated into the product before testing. When encountering problems, the cause often cannot be found, which can cause very large losses. Therefore, all problems must be solved before the parts are integrated into the product. This is unit testing.
JUnit
JUnit is a Java language unit testing framework. It was founded by Kent Beck and Erich Gamma and gradually became the most successful of the xUnit family derived from Kent Beck's sUnit. JUnit has its own JUnit extension ecosystem. Most Java development environments have integrated JUnit as a unit testing tool. JUnit is a regression testing framework written by Erich Gamma and Kent Beck. Junit testing is programmer testing, the so-called white-box testing, because programmers know how (How) the software being tested completes its functions and what (What) functions it completes. Junit is a set of frameworks. Inherit the TestCase class, and you can use Junit for automatic testing.
TestNG
4. Java source code management and version control tools
Java projects are generally developed by teams, when multiple people work together to write a project. Code integration requires the use of specialized source code management tools. In addition, the Java project version is constantly
SVN is the abbreviation of Subversion. It is an open source version control system. Compared with RCS and CVS, it adopts the branch management system. Its design goal is to replace CVS. Many version control services on the Internet have migrated from CVS to Subversion. To put it simply, SVN is used for multiple people to jointly develop the same project and share resources. The disadvantage of SVN is that it relies too much on the network and is not suitable for distributed development. The workflow of using svn is as follows: 1. Download the latest code of the project team from the slave server in the morning. 2. Enter your own branch, work on it, and submit the code to your own branch on the server every hour (many people have this habit. Because sometimes they change the code over and over, and finally want to restore it to the previous hour) version, or see what code you modified in the previous hour, you need to do this). 3. The off-duty time is coming soon. Merge your branch to the main branch of the server. The day's work is completed and reflected to the server.
Git
Git is an open source distributed version control system that can handle projects from small to very large efficiently and quickly. Version management. Git is an open source version control software developed by Linus Torvalds to help manage Linux kernel development. Different from commonly used version control tools such as CVS, Subversion, etc., it adopts a distributed version library and does not require server-side software support (ps: this score depends on what kind of server is used, whether it uses http protocol or git protocol, etc.). . And there is still interaction with the server during push and pull.), which makes the release and communication of source code extremely convenient. Currently, GIT can be used under windows. There are two main methods: msysgit and Cygwin. The usage of Cygwin is similar to that of Linux. The Windows version of GIT provides a friendly GUI (graphical interface) and you can get started quickly after installation.
5. Automated construction tools
The development of a large java project often requires loading a lot of various third-party jar package dependencies. In this case, it is necessary Special tools are needed to maintain these complicated jar packages, otherwise the version issues and dependency issues of each jar package will cause you a big headache. When multiple teams collaborate on development, the standard framework configuration of the project also needs to be able to be quickly copied between different teams. , In addition, the entire project life cycle from creation, development, testing, and release also requires specialized tools to maintain. Automated build tools are designed to solve the above problems. Currently, the more mainstream automated build tools include: Maven, gradle, Ant, etc. Among them, Ant has gone downhill. Apart from maintaining old projects, it is basically no longer used by companies. In the past few years, Maven has become the de facto build tool for Java projects. In the past two years, Gradle has been used by more and more people, and many Maven users have been diverted away. Here we mainly learn about Maven and gradle. Maven
model (POM) to manage projects. All project configuration information is defined in a file called POM.xml file, through which Maven can manage the entire life cycle of the project, including compilation, building, testing, publishing, reporting, etc. gradle
Gradle is an automated project construction tool based on the concepts of Apache Ant and Apache Maven. It uses a Groovy-based domain-specific language (DSL) to declare project settings, abandoning various cumbersome XML-based configurations. Mainly for Java applications. The languages currently supported are limited to Java, Groovy and Scala, and it is planned to support more languages in the future. Like Maven, Gradle only provides a framework for building projects, and Plugin is what really works. Gradle provides us with many commonly used Plugins by default, including Plugins for building Java projects, as well as War, Ear, etc. Unlike Maven, Gradle does not provide built-in project life cycle management, but the java Plugin adds many Tasks to the Project, and these Tasks are executed in sequence, creating a Maven-like project build cycle for us.
6. Introduction to java integrated development tools
In order to better master the writing of java code for beginners, we usually choose an advanced notepad-like tool As a development tool, when developing actual projects, more integrated IDEs are used as development tools, such as the two most popular tools at the moment: Eclipse and IDEA. The so-called integrated IDE means that the writing, debugging, compilation, and execution of the code are all integrated. It is integrated into one tool, so there is no need to use separate tools for each link. There has been controversy among netizens about these two softwares in recent years. Some say IDEA is the most popular, while others say eclipse is the most popular. I guess no one can tell the actual situation clearly. While everyone is studying, try using both software. The specific introduction is as follows:
Eclipse
IDEA
, Python, etc. The free version only supports a few languages such as Java.
7. Introduction to java project analysis and design toolsDue to the development of
object-oriented technology, the development process of traditional java projects requires a lot of work Object-oriented analysis and design. Throughout the analysis and design process, professional tools are needed to describe and record the results of analysis and design. Special tools are also needed to help clarify the analysis ideas, and UML is such a tool. UML's full name is Unified Modeling Language (UML, Unified Modeling Language), which is a standardized modeling language for object-oriented software. UML has become the industry standard for visual modeling languages because of its simple and unified characteristics and its ability to express dynamic and static information in software design. In the software development process, the unified modeling language can be used throughout the design cycle, helping designers shorten design time, reduce improvement costs, and optimize software and hardware segmentation. It should be noted that in the current popular agile development. UML's status is far less important than before. In addition, database analysis and design also require specialized tools to describe and clarify the relationships between databases. Below we will briefly introduce two such software.
Staruml
##
StarUML is an open source UML development tool, a product developed by a Korean company. It is a tool for creating UML class diagrams, generating class diagrams and other types of Unified Modeling Language (UML) diagrams. It can draw 9 commonly used UML diagrams, and it is completely free. The software is also relatively small. It is a very easy-to-use software, but the author has not updated it for many years. This software extends a new software: StarUML2. But this new software is a paid software.
PowerDesigner
##PowerDesigner was originally developed by Xiao-Yun Wang at SDP Technologies . PowerDesigner is Sybase's enterprise modeling and design solution. It adopts a
modeldriven approach to combine business and IT to help deploy effective enterprise architecture and provide support for the R&D life cycle. Management provides powerful analysis and design techniques. PowerDesigner uniquely integrates multiple standard data modeling technologies (UML, business process modeling, and market-leading data modeling) and integrates with mainstream development platforms such as .NET, WorkSpace, PowerBuilder, Java, and Eclipse to provide Traditional software development cycle management provides business analysis and standardized database design solutions. Additionally, it supports over 60 relational database management system (RDBMS) versions. PowerDesigner runs on the Microsoft Windows platform and provides an Eclipse plug-inAlthough the content of this lesson is simple, it is very important for beginners. These tools are often used in future development.
Recommended development tools:
Recommended MAC version of php development tools: 10 of the most popular MAC version of php development tools
Recommended 9 best PHP development tools in 2017
The above is the detailed content of What are the Java development tools? Recommended 16 Java development tools. For more information, please follow other related articles on the PHP Chinese website!