search
HomeJavajavaTutorialA roadmap for learning Java

A roadmap for learning Java

Jun 20, 2017 am 09:39 AM
javastudyprogrammermy own

The following are some technologies and tools that I have often used in development over the past few years. Of course, these technologies also need to be strengthened (some of them are what I have always used, but I don’t go into depth, and some internal principles are not very clear)

Front-end part:

1) HTML: The core language of web pages, forming the basis of web pages

2) CSS: A powerful tool to make web pages more colorful and brilliant

3) JavaScript: The fundamental to moving the webpage has strengthened the interaction between web pages and users

4) HTML DOM: From a more vivid perspective to look at the web pages, let us control more convenient control more conveniently Web page

5) HTML BOM: an indispensable tool for interacting with the browser

6) JavaScript libraries, mainly: jQuery and its plug-ins, YUI and its plug-ins, making writing web pages more convenient A convenient, fast and robust powerful tool

7) AJAX: Asynchronous submission, enhances the user’s good interactive experience using web pages

8) JSON: Smaller, faster and easier to parse than XML Data transfer tool

9) FLEX: Provides rich and colorful animation effects

10) Puyuan Workflow: Helps users handle business processes more clearly

11) JSP: The presentation layer of Servlet separates web page logic from the display of web design

12) JSTL: Strengthens and simplifies the development of JSP pages

13) EL: Enables JSP page writing It’s simpler

Backend part:

1) Basic part of JAVA language programming: Rich content is the core and foundation of Java knowledge architecture

2) JDBC: Provides a A benchmark from which more advanced tools and interfaces can be built to enable Java developers to write database applications

3) JavaMail: for email-related programming work

4) JUnit: unit testing, the status of the entire working test is always very important

5) Log4j: allows us to control the log generation process in more detail

6) Servlet: the core of JavaWeb

7) Struts2: The star-level framework in JavaWeb programming. Its advantages and multi-functions make programming work easier. It is mainly used to control jumps

8) Spring: The star-level framework in JavaWeb programming , the same advantage of multi-function makes programming work easier, mainly used for managing objects

9) iBatis: a star-level framework in JavaWeb programming, also has the advantage of multi-function, making programming work easier, mainly used for Interaction between program and database

10)SQL: An essential tool for interactive programming with the database

Version control:

1)SVN: Version control, convenient for the team Collaborative work

WEB server:

1) Tomcat: Excellent free small and medium-sized WEB server

2) Weblogic: Very powerful WEB server

Development tools:

1) Eclipse: an open source and powerful Java programming tool

2) MyEclipse: a powerful enterprise-level integrated development environment developed on the basis of eclipse with its own plug-ins.

Database:

1) Oracle: The leader in the database industry. Of course, this is commonly used. It is just some commonly used functions and needs to be strengthened

2) MySQL: The most common One of the best relational databases

3) SqlServer: One of the best relational databases

Database client:

1) Toad: A great database client Terminal software

Operating system:

1) Windows

2) Linux

Remote login session tool:

1) SSH : Been using it, very good

Others:

Various types and versions of browsers (FireFox is recommended), office software series, various text editors (Sublime is recommended), Various readers, etc.

Well, looking back, I have used a lot of things for development work, but I can’t be said to be proficient in any of them. I just use them frequently and use those commonly used ones. The functions I recorded here are just to add them one by one. Of course, I will definitely need to continue to learn some other new technologies and tools! It’s a reminder to yourself! Point out the direction of your efforts!

The following are three pictures I found on the Internet, which better illustrate the learning road map of being a Java programmer. I put them here as a self-reminder tool. I will look at them from time to time and will quickly repair my own. Knowledge tree!

1: Java’s knowledge architecture

2 : Basic learning roadmap for JavaWeb development

3: Growth roadmap for JavaWeb development

Well, I have read a lot of books this year, and I feel that I have gained a lot. I look forward to a better start in 2018! The goal is already set, now it’s time to take action! Remember: learning is always your own business. If you don’t study, you won’t have much time. If you do learn, sometimes you can use the knowledge you have learned in exchange for more free and good time! Time is the basic component of life and the fundamental measure of the existence of all things. Where our time is, our life will be there! Our value will also be improved or eliminated there! Come on, young man!

Final suggestion: When learning various technologies, go to the official website of the corresponding technology (you can find it on Baidu!), and buy books published by professional publishers and professionals. English is a big hurdle and a distinction. A website for programmers at all levels. My English is also relatively poor, but as I continue to study, I believe I can win it. Recently, when I study technology, I also prefer to go to the official website to study English, and I feel These foreign technologies are so amazing! Of course, they are the originators! come on!

The above is the detailed content of A roadmap for learning Java. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How does the JVM manage garbage collection across different platforms?How does the JVM manage garbage collection across different platforms?Apr 28, 2025 am 12:23 AM

JVMmanagesgarbagecollectionacrossplatformseffectivelybyusingagenerationalapproachandadaptingtoOSandhardwaredifferences.ItemploysvariouscollectorslikeSerial,Parallel,CMS,andG1,eachsuitedfordifferentscenarios.Performancecanbetunedwithflagslike-XX:NewRa

Why can Java code run on different operating systems without modification?Why can Java code run on different operating systems without modification?Apr 28, 2025 am 12:14 AM

Java code can run on different operating systems without modification, because Java's "write once, run everywhere" philosophy is implemented by Java virtual machine (JVM). As the intermediary between the compiled Java bytecode and the operating system, the JVM translates the bytecode into specific machine instructions to ensure that the program can run independently on any platform with JVM installed.

Describe the process of compiling and executing a Java program, highlighting platform independence.Describe the process of compiling and executing a Java program, highlighting platform independence.Apr 28, 2025 am 12:08 AM

The compilation and execution of Java programs achieve platform independence through bytecode and JVM. 1) Write Java source code and compile it into bytecode. 2) Use JVM to execute bytecode on any platform to ensure the code runs across platforms.

How does the underlying hardware architecture affect Java's performance?How does the underlying hardware architecture affect Java's performance?Apr 28, 2025 am 12:05 AM

Java performance is closely related to hardware architecture, and understanding this relationship can significantly improve programming capabilities. 1) The JVM converts Java bytecode into machine instructions through JIT compilation, which is affected by the CPU architecture. 2) Memory management and garbage collection are affected by RAM and memory bus speed. 3) Cache and branch prediction optimize Java code execution. 4) Multi-threading and parallel processing improve performance on multi-core systems.

Explain why native libraries can break Java's platform independence.Explain why native libraries can break Java's platform independence.Apr 28, 2025 am 12:02 AM

Using native libraries will destroy Java's platform independence, because these libraries need to be compiled separately for each operating system. 1) The native library interacts with Java through JNI, providing functions that cannot be directly implemented by Java. 2) Using native libraries increases project complexity and requires managing library files for different platforms. 3) Although native libraries can improve performance, they should be used with caution and conducted cross-platform testing.

How does the JVM handle differences in operating system APIs?How does the JVM handle differences in operating system APIs?Apr 27, 2025 am 12:18 AM

JVM handles operating system API differences through JavaNativeInterface (JNI) and Java standard library: 1. JNI allows Java code to call local code and directly interact with the operating system API. 2. The Java standard library provides a unified API, which is internally mapped to different operating system APIs to ensure that the code runs across platforms.

How does the modularity introduced in Java 9 impact platform independence?How does the modularity introduced in Java 9 impact platform independence?Apr 27, 2025 am 12:15 AM

modularitydoesnotdirectlyaffectJava'splatformindependence.Java'splatformindependenceismaintainedbytheJVM,butmodularityinfluencesapplicationstructureandmanagement,indirectlyimpactingplatformindependence.1)Deploymentanddistributionbecomemoreefficientwi

What is bytecode, and how does it relate to Java's platform independence?What is bytecode, and how does it relate to Java's platform independence?Apr 27, 2025 am 12:06 AM

BytecodeinJavaistheintermediaterepresentationthatenablesplatformindependence.1)Javacodeiscompiledintobytecodestoredin.classfiles.2)TheJVMinterpretsorcompilesthisbytecodeintomachinecodeatruntime,allowingthesamebytecodetorunonanydevicewithaJVM,thusfulf

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.