不想当将军的兵不是好兵,就程序猿不想当架构师就不是好的程序员!
Java架构师主要需要做哪些工作呢?
1、负责设计和搭建软件系统架构(平台、数据库、接口和应用架构等),解决开发中各种系统架构问题。
2、优化现有系统的性能,解决软件系统平台关键技术问题攻关、核心功能模块设计、核心代码开发。
3、在项目需求不断细化的工程中校正整体的架构设计,以及详细模块拆分设计。
4、营造技术学习氛围,带领团队不断完善开发开发方法及流程,提升开发效率与质量,加强技术标准及规范。
5、带领团队攻克例如大数据量、高并发、高稳定性等带来的各种挑战及技术难关。
6、责任心强,有团队合作精神,工作认真负责高效并具有一定抗压能力。
7、参与讨论公司产品发展方向,完整的规划和把握产品研发架构。
Java架构师要学习哪些知识点呢?
希望以下的学习路线能对你有帮助
1、并发编程
JAVA内存模型(JMM)
-
java当中的线程通讯和消息传递
-
什么是重排序和顺序一致性?Happens-Before?As-If-Serial?
Synchronized的概念和分析
-
同步、重量级锁以及Synchronized的原理分析
-
自旋锁、偏向锁、轻量级锁、重量级锁的概念、使用以及如何来优化他们
Volatile和DCL的知识
-
Volatile的使用场景和Volatile实现机制、内存语义、内存模型
-
DCL的单例模式,什么是DCL?如何来解决DCL的问题
并发基础之AQS的深度分析
-
AbstractAueuedSynchronizer同步器的概念、CLH同步队列是什么?
-
同步状态的获取和释放、线程阻塞和唤醒
Lock和并发常用工具类
-
java当中的Lock、ReentrantLock、ReentrantReadWriteLock、Condition
-
java当中的并发工具类CyclicBarrier、CountDownLatch、Semphore
-
java当中的并发集合类ConcurrentHashMap、ConcurrentLinkedQueue......
原子操作常用知识讲解
-
基本类型的原子操作比如经典的AtomicBoolean、AtomicLnteger、AtomicLong
-
数组类型的原子操作代表几个类AtomicIntegerArray、AtomicLongArray、AtomicReferenceArray
-
引用类型的原子操作的典型AtomicReference、AtomicReferenceFieldUpdater......
-
CAS的概念和知识、Compare And Swap 以及他的缺陷
线程池和并发并行
-
Executor、ThreadPoolExecutor、Callable &Future、ScheduledExecutorService
-
ThreadLocal、Fork & Join?什么是并行?线程池如何保证核心线程不被销毁?
2、框架和源码应用
mybatis应用和源码解析
-
mybatis优缺点、spring 与mybatis 集成
-
Config、Sql配置、Mapper配置、有几种注册mapper