# JavaEE Development
Alibaba Java Development Manual Ultimate Edition
java development foundations
java development advanced
Design patterns
- Creation mode
- Behavioral patterns
- Structural mode
- Functional programming
- Reactive programming
- Responsive Design Pattern
- Redis developed a network event processor based on the Reactor pattern
- Netty's overall framework adopts the Reactor model
- Non blocking I/O in NIO operates in Reactor mode
Development Framework
For architecture selection, the business has strong consistency (such as in the financial industry and e-commerce), and spring cloud is generally not used. In some cases, spring cloud may have some inconsistencies in order to meet high availability requirements. Dubbo is a good choice for architecture selection for strongly consistent business.
- spring (spring cloud/restful)
- Spring Foundation
- Spring Advanced
- dubbo (rpc)
Refer to the official websitehttp://dubbo.apache.org/ (opens new window)
- Transport layer netty
- Netty's nio is different from Java's nio (which solves the problem of empty polling)
- Reactor Thread Model
- Zero-copy
- Memory pool (reuse buffer)
- Provide high-performance serialization tool support: Kryo and FST
- Transport layer netty
- spring (spring cloud/restful)
Daily development and problem-solving tools
- Java comes with tools
- Visual Tools
- JHSDB: A Debugging Tool Based on Service Proxy
- JConsole: Java Monitoring and Management Control Platform
- VisualVm: Multi Joint Fault Handling Tool
- Java Mission Control: Sustainable online monitoring tool
- Command Line Tools
- jps: Virtual Machine Process Status Tool
- jstat: Virtual Machine Statistics Monitoring Tool
- jinfo:Java Configuration Information Tool
- jmap:Java Memory Imaging Tool
- jhat:Java Virtual Machine heap dump snapshot analysis tool
- jstack:Java stack tracing tool
- Visual Tools
- JProfiler/Eclipse Memory Analyzer
- Memory Analysis Tools
- JProfile has more powerful functions and can integrate ideas
- Arthas
- Arthas is an open-source Java diagnostic tool on Alibaba that is highly loved by developers.
- Arthas User Documentation:https://arthas.gitee.io/index.html (opens new window)
- IDEA plugin for easy command generation, recommended
- Brup Suite
- Packet capturing tool
- Java comes with tools
Personal learning methods sharing
Putting aside the learning methods during undergraduate professional courses, here are some methods for advanced learning after work
- Advanced Learning Evolution:
- Fundamentals of Java
- Deep understanding of jvm
- Principles of Java Concurrent Programming
- Analysis of Java and outsourcing
- Study Recommendation Letter
- Deep Understanding of JVM by Zhou Zhiming
- Principles of Java Concurrent Programming "by Wang Wenjun
- The Beauty of Java Concurrent Programming "by Zhai Luxu and Xue Bintian
- Advanced Learning Evolution: