整理一份成长为 Java 技术专家的7个技能体系,希望对你的高薪之路有所参考。 文末有大型网站 架构设计 的100期精讲,获取方式~
1.Java编程必备
- 多线程:创建与使用、线程同步与锁、 线程池 等的掌握
- JVM :你只有深入理解虚拟机的内存回收机制,才能正确使用JVM性能调优
- 掌握NIO,以及对应NIO框架 Netty
- JUC下的工具包:AtomicInteger等 原子操作 类,基于AQS锁:
- ReentrantLock
- Semaphore
- CountDownLatch
- ReentrantReadWriteLock
- SynchronousQueue
- FutureTask
2.数据结构与 算法
- 常见的数据结构:数组、 链表 、堆与栈、 哈希表 等
- 算法思想:递推、穷举、贪心等
- 经典 排序算法 :排序、查找
3.常用的设计模式
设计模式重点掌握:
- 创建型:工厂方法、抽象工厂、 单例模式
- 结构型:装饰模式、外观模式、 组合模式
- 行为模式:策略模式、 观察者模式
- 软件设计原则:接口隔离、单一职责等原则
4.开发框架
- 分库分表框架:tddl、cobar、mycat的选型与使用
- 服务化:Dubbo、gRPC、Spring Cloud
- 负载均衡:LVS、Nginx、HAProxy
- 缓存:Redis、Memcached
- 消息队列: RabbitMQ 、Kafka、RocketMQ
5.数据库
MySQL数据库更多是需要掌握事务、锁、索引、性能优化,以及如何配合 NoSQL 选型使用。
6.构建工具
7.大型网站架构设计