Java服务端技术基础、进阶、技术选型总结

在上一篇文章《零基础怎么学习Java技术》中有提到要单独写一篇Java该学什么内容,那么今天咱们就安排上。

语言选择

在开始前,先分享十五年前我开始学习Java的真实故事。当时快要毕业找工作了,才想起要学习一门技术了。于是就开始在C#、Java和PHP中做选择,经过各种调研,最后选择了Java(三个里面Java是学得最好的,也算是最有眼缘的吧)。

个人故事

当时手里的资料就只有一本《Java程序设计》,明显感觉只学这本是学不会技术的,更别谈找工作了。首先想到的是咨询老师都需要学习什么书籍,没有得到想要的答案,于是决定自学(从上高中到大学基本上都是自学了,年轻太飘了),从此就拉开了Java的一条不归路。去网吧下载了很多视频,又找了两本Java方面的书,剩下的就是学了。所以当有人告诉你学习路线的时候一定要格外珍惜,真的少走很多弯路。

学习总结

  • Java基础方面:,除了掌握语法外,要重点掌握线程、线程池、I/O、流、数据结构(list、set等)等
  • 数据持久化方面:MySql+mybatis-plus两者组合使用已是标配,分库分表的类库有route、myCat等
  • 基础框架方面:学习Spring5,了解Spring编程思想和设计原理,重点理解AOP和IOC。
  • 微服务方面:《Springboot》、《Springcloud Alibaba》/《Springcloud Tencent》Spring微服务全家桶,已经是业内标配。
  • 内存数据库:主要是Redis,性能相比关系型数据库是指数级增长,提高系统响应速度,保证高速稳定运行。
  • 消息队列方面:建议学习kafka和RocketMQ。
  • APM服务治理方面:建议使用skywalking或者prometheus+grafana+alertmanager组合套餐,主要做链路追踪、服务运行情况结果展示,异常监控和报警等
  • 日志分析系统方面,使用Elasticsearch , Logstash, Kibana三驾马车护航,日志分析方便、直观、快捷。
  • 定时任务调度类库:使用XXL-JOB,解决定时任务调度的相关业务。
  • JVM方面:了解Java虚拟机运行原理,内存管理、垃圾回收机制和问题运维方法是重点掌握对象。

前四个是基础篇,学会后可以胜任基本的工作任务;后面六个是性能优化和服务运维相关的,属于进阶篇。这十招会用,是一个层面,学精通又是另外一个层面,所以前五六年你基本上都会跟这打交道。另外每个方向的技术选型有很多选择,上面列举的都是最常用的,学了之后受众面会更广。

关注公众号:程序员的灯塔,回复【路线】获取,也可以添加个人微信:shishuai860505、coding_xiaohu


一千个人有一千个哈姆雷特,大家也可以把自己的学习感受在留言区分享出来,一起讨论。

猜你喜欢

转载自blog.csdn.net/shishuai4206/article/details/125495913