作为java界的程序员,升级成为高级工程师是每个初级人员的梦想,那么,要想成为一名高级人员,需要掌握哪些技术呢?作为一名有过6年经验的java老兵,分享一下技术经验。
方法/步骤 1
java编程基础
万丈高楼平地起,像数据结构、IO流、反射、网络编程、多线程等,这些基础是java高级人员在工作中经常用到的技术。java8发布之后,函数式编程编程也成了一种流行元素,这些技术用起来得心应手,则可谓获得了进入中级的门票。
2
设计模式
初级编程时,为了实现业务逻辑,往往都是在做逻辑的堆砌,这样的堆砌,缺少结构,就像盖房子,砖是胡乱垒起来的,很容易倒塌,需要通过运用设计模式来将我们的代码理出层次和条理来。懂得代码结构,具备解耦思维,兼顾后期扩展,则可称之为中级程序员矣。
3
Spring
懂得初级和设计模式,代码有了深度,但仅仅有深度是不够的,还需要有宽度,那就是各种技术框架。现在风靡java界的框架,Spring那是当仁不让了。要懂得Spring的IOC、AOP思想,bean加载流程,常用注解及原理,而不仅仅是停留在会用的层面。
4
Mybatis
持久层的王者,就是他了。懂得常用标签如何使用,就基本掌握了他。建议有时间研究下源码,代理模式、装饰器模式在源码里被大量运用。阅读优秀框架的源码,是每个高级人必须经历的修行。
5
Mysql
当今最流行的数据库,掌握sql优化技术、能编写复杂sql、理解索引原理、理解主从库同步原理、理解数据库日志、理解锁机制,对于非DBA人员来说,基本足够了。
6
Nginx
可以说不懂Nginx,达不到对分布式架构庖丁解牛的水平。一个请求,一般都是经过nginx才能进入controller,掌握常用配置、理解反向代理、请求是如何被转发的、会查看请求日志,基本足够了。
7
Redis
互联网编程中常用的缓存技术,经常要用,如高频次的查询可以在redis中设置缓存,分布式锁的实现。懂得五种数据结构,会使用常用命令,应付日常编程基本足够了。如果高并发的场景很多,还需要懂得他的高级应用,如数据热点问题、缓存雪崩、击穿等。
8
Dubbo或Spring Cloud
这两个框架是分布式框架里的泰斗,两个必须会用一个,最好还要理解下原理。
9
Zookeeper
经常被用作服务注册中心。我们的代码里基本不会出现他的影子,只是在配置文件中会用到。懂得原理,会使用常用命令,基本足够了。
10
消息中间件
在消息中间件中,RocketMQ、RabbitMQ亮相最多,至少会用其中之一,并懂得原理,能处理常见问题,如重复消费问题、消息积压等。
11
Linux
没得说,linux命令是经常要用的,服务器性能问题排查、服务部署和重启、日志文件查阅等,不懂linux,你就是在用单腿走路。
12
maven、jekins、docker、k8s等工具
maven是常用的构建工具,要会用,自己多建几个project理解下。其他三个是部署工具,现在互联网公司都有专门的运维,研发会用就行,当然,懂得原理最好。
13
总结;以上所写,只是一名高级人员必须掌握的技术,知识的世界里,懂得越多、越深,当然越好。希望大家在工作中多总结、学习,不断提高自己的技术,量变引起质变,相信某一时刻,一定能感受到自己的技术有了质的飞跃。
END
标签:java,程序员