Learning the way to Java development
Basic knowledge of
- Programming language: Java Python C
- The basic algorithm
- Basic network knowledge: TCP/IP HTTP/HTTPS
- Basic design patterns
tools
- Operating system: Linux (CentOS, Ubuntu)
- Code management: SVN/Git
- Continuous integration (CI/CD continuous deployment) : Jenkins
- Java project management tool: Maven/Gradle
Framework for
Application framework
ssh spring + struts + hibernate- SSM: Spring + SpringMVC + Mybatis
- spring boot
Various middleware
- MQ message queue
- RPC communication framework gRPC Thrift Dubbo SpringClooud
- Elasticsearch Database search engine
The database
- SQL: MySQL/PostgreSQL
- NoSQL: Redis/Memcashed/Mongodb/Elasticsearch
Framework for
Distributed/microservice architecture
- spring cloud
- dubbo
- RPC communication
Virtualization/containerization techniques
- Docker container,
- K8s kubernetes
Focus on source code/performance
- JDK source code and some design ideas
- The Spring source
- JVM details and troubleshooting
- High concurrency/high availability