Must-haves for Java Engineers: Comprehensive Analysis of the Java Ecological Knowledge Graph - Open up the road to success for engineers

 ​​​​​​

Computer Basics
|
|--- Data Structure and Algorithm
|--- Operating System
|--- Network Communication
|--- Database Basics

Java SE (Standard Edition)
|
|--- Language Basics
|--- Object-Oriented Programming
|--- Collection Framework
|--- IO Stream and NIO
|--- Multithreading and Concurrency
|--- Reflection and Dynamic Proxy
|--- Lambda expression
|--- design pattern

Java EE (Enterprise Edition)
|
|--- Servlet
|--- JSP
|--- JDBC
|--- Spring Framework
| |
| |--- IoC and DI
| |--- AOP
| |--- Spring MVC
| |--- Spring Data
| |--- Spring Security
|
|--- Hibernate/JPA
|--- Java EE container (such as Tomcat, WebSphere, etc.)
|--- RESTful Web service
|--- SOAP Web Service
|--- EJB
|--- JMS
|--- JPA
|--- JTA

Architecture Skills
|
|--- Distributed Architecture
| |
| |--- Distributed Cache (Redis, Memcached)
| |--- Distributed Message Queue (Kafka, RabbitMQ)
| |--- Load Balancing and Reverse Proxy (Nginx, HAProxy)
| |--- Distributed Transactions
| |--- Distributed Locks
|
|--- Microservice Architecture
| |
| |--- Spring Cloud
| |--- Microservice Communication (REST, gRPC )
| |--- service registration and discovery (Consul, Eureka)
| |--- fuse and downgrade (Hystrix, Resilience4j)
| |--- configuration center (Spring Cloud Config)
| |--- service gateway (Zuul, Spring Cloud Gateway)
|
|--- Cloud Native Architecture
| |
| |--- Docker Containerization
| |--- Kubernetes
| |--- Istio
| |--- Service Mesh

DevOps
|
|--- Continuous Integration (CI) and Continuous Delivery (CD)
| |
| |--- Jenkins
| |--- GitLab CI/CD
| |--- Travis CI
| |--- CircleCI
|
|- -- Automated Deployment
| |
| |--- Ansible
| |--- Chef
| |--- Puppet
|
|--- Container Orchestration and Management
| |
| |--- Kubernetes
| |--- Docker Swarm
|
| --- Monitoring and log collection
| |
| |--- Prometheus
| |--- Grafana
| |--- ELK Stack (Elasticsearch, Logstash, Kibana)

Advanced Skills
|
|--- Cloud Computing Platform
| |
| |--- AWS
| |--- Azure
| |--- GCP
|
|--- Big Data Technology Stack
| |
| |--- Hadoop
| | --- Spark
| |--- Flink
| |--- Hive
| |--- HBase
| |--- Kafka
|
|--- Message middleware
| |
| |--- Kafka
| |--- RabbitMQ
|
|--- gray release
| |
| |--- Nginx load balancing
| |--- dynamic routing
| |--- current limiting and circuit breaker
|
|--- container orchestration technology
| |
| |--- Kubernetes
| |--- Docker Swarm
|
|--- Security and Encryption
| |
| |--- HTTPS
| |--- Spring Security
| |--- OAuth2

Java is a widely used programming language. It has the characteristics of cross-platform, object-oriented, high performance, etc. It is suitable for developing various types of applications, such as desktop applications, web applications, distributed systems, microservices, etc. Java is also a language of continuous development and innovation, which covers many emerging technology fields, such as cloud native, grayscale publishing, big data technology, etc. Therefore, learning Java not only requires basic computer knowledge and Java grammar, but also advanced skills such as Java development framework, Java development tools, Java microservices, Java and cloud native, and JVM combat.

In order to help Java developers systematically master the Java technology system, improve Java programming ability and project experience, and pass the Java interview to become an excellent Java engineer, the Alibaba Cloud developer community provides a Java full ecological knowledge map, which covers Various stages from Java novice entry to advanced Java senior engineer, and from theoretical study to practical application, including the following knowledge points:

  • Basic knowledge of computers: This is a prerequisite for learning any programming language and the foundation for learning other advanced techniques. This knowledge point includes computer composition principles, operating systems, data structures and algorithms, programming languages, database systems, network communications, etc.
  • j2se: This is the standard version of the Java platform, which provides the core functions of the Java language, including basic data types, runtime environment, class library, exception handling, etc. This knowledge point includes the basics of Java grammar, object-oriented programming, collection framework, IO flow, multi-threaded programming, etc.
  • Database Development: This is an integral part of software development and it involves the storage and management of data. This knowledge point includes SQL language, relational database (MySQL), non-relational database (MongoDB), cache database (Redis), etc.
  • Java Web development basis: This is the basis for developing Web applications using Java technology, which involves Web servers, Web containers, and Web protocols. This knowledge point includes HTTP protocol, Servlet, JSP, Filter, Listener, etc.
  • Java Development Framework: This is the way to simplify and standardize the Java development process by utilizing off-the-shelf code libraries or tools, which involves various types of frameworks and technologies. This knowledge point includes Spring Boot, Spring Cloud, MyBatis, Hibernate, etc.
  • Java development tools: This is a software or platform that assists Java developers to improve development efficiency and quality, and it involves various types of tools and technologies. This knowledge point includes IDE (Eclipse, IntelliJ IDEA), construction tools (Maven, Gradle), version control (Git, SVN), unit testing (JUnit, TestNG), etc.
  • Java microservices: This is a software architectural style that decomposes a complex application into multiple small, independent, reusable services, each with its own business boundaries, data storage, and communication mechanisms. This knowledge point includes the principles and practices of microservice architecture, as well as related frameworks and technologies, such as Spring Cloud, Dubbo, Zookeeper, etc.
  • Java and Cloud Native: This is a way to build and run scalable applications using services provided by cloud computing platforms, which includes concepts such as containerization, microservices, service mesh, and immutable infrastructure. This knowledge point includes the principles and practices of cloud native, as well as related frameworks and technologies, such as Docker, Kubernetes, Istio, etc.
  • JVM combat: This is a method for in-depth understanding of the working principle and performance optimization of the Java Virtual Machine (JVM), which includes the structure of the JVM, class loading mechanism, memory model, garbage collection algorithm, etc. This knowledge point includes the principles and practices of JVM, as well as related tools and technologies, such as JVM parameters, JVM monitoring tools (jstat, jmap, etc.), JVM tuning skills, etc.
  • Java Tools: This is a topic that introduces some useful Java tools or libraries, including some tools or libraries that can improve the productivity and quality of Java developers. This knowledge point includes Lombok, Guava, Apache Commons, etc.


If the article is helpful to you, welcome to pay attention + like it, and you must return to close!

Guess you like

Origin blog.csdn.net/citywu123/article/details/132055481