Java程序员养成篇——面向大厂(2500字细数Java学习之路)

大家好,我是一只半路转到计算机做程序猿的生物狗,之前由于对计算机编程方面的不了解,直接入手了Python,看了一本厚厚的入门书(Python Crash Course)后,发现只是学了一些基本语法,要想使语言成为生产力工具,当时只能是望尘莫及,而且整个行业对Python程序员的要求远不止我所学的这些内容,于是,在我正式跳坑到计算机专业之后,对以后的路进行了一番思考,决定还是学Java这个技能栈吧,姑且也算个万金油,也方便找工作,Java这个技能栈到底要怎么学呢?学习哪些知识,读哪些书,学到什么程度?希望我的这篇文章能帮你做个规划~

Java程序员养成篇——面向大厂

注:以下提及书籍PDF可私信俺发你,学习不易。
⭐越多代表学习内容的量越大和重要性越高。

  1. ⭐⭐⭐ 计算机基础知识
  • 操作系统
    学习Linux的使用,对操作系统理论知识做了解。
    推荐《深入理解操作系统》、《鸟哥的Linux私房菜》和《Linux就该这样学》二选一,后者是针对RedHat 7、CentOS 7这个Linux系统的学习,通俗易懂。
  • 数据结构与算法
    了解计算机编程中的众多数据结构,数组、队列、栈、树、图等,以及利用它们实现的基本算法的思想,应用到平时的工作中可以提高效率。
    推荐《剑指offer》(用C++写的),不想看可以到LeetCode上找,上面有这本书的所有题目,方便刷题。还有用Java写的红宝书,人邮社的《算法(第4版)》,有点厚(我还没看)。
  • 计算机网络
    主要是TCP/IP协议族HTTP的学习。
    入门推荐人邮社的《图解TCP/IP》、《图解HTTP》以及《网络是怎样连接的》,它会串一遍从你点击网页上的button到返回view这个几毫秒的时间里发生了什么,强烈推荐,我也正在看,一起加油~进阶推荐大部头《TCP/IP详解 卷1:协议》,
  • 计算机组成原理(了解即可)
    可以看看MOOC上面哈工大的课,两倍速过一下,老师讲的不错,PPT图文并茂。
  1. ⭐⭐⭐⭐⭐ Java语言基础
    这我就不用多说了。包括Java API中的容器(HashMap、List、set等)、多线程(synchronized关键字)、反射(Class类,spring等框架IOC控制反转有用到反射,反射可以在程序运行时创建对象、修改对象)
    推荐B站上动力节点杜老师讲的Java基础和进阶课,800+p,看完可以打一个不错的底子(我看完了,2倍速)。
  2. ⭐⭐⭐⭐ Java虚拟机
    java虚拟机不止一种,所有的Java程序最后都要在Java专有的虚拟机上运行,所以虚拟机是Java的灵魂所在,学习这个东西意味着Money、Money还有Money,所以硬着头皮学一下吧,也挺有趣的☺。
    推荐国产经典大部头《深入理解Java虚拟机(第3版)》,最新版是第三版,19年末的,算是比较新的,就是有点贵,网上也没有能看的PDF。
  3. ⭐⭐⭐⭐ 设计模式
    强烈推荐结城浩的《图解设计模式》,小白入门看它就对了,里面有很多非常恰当的比喻,让你理解设计模式的思想以及为什么要用设计模式去编程——减少代码冗余,对修改关闭、对扩展开放,LSP原则(你想的是什么😂,里氏替换原则,自己百度一下)。
    想成为大佬,就再看一下《Head First 设计模式》,GoF设计模式的由来之书。
  4. ⭐⭐⭐⭐⭐ Spring框架
    实战中使用的都是框架,很少有起手自己造轮子coding的,所以学习框架就是在为自己打造一把武器,这个武器厉不厉害取决于你的努力,厉害的话就能找到看得过去的工作,不厉害上帝就会把窗户也关上,所以框架的地位你懂的。
    目前最流行的就是Spring全家桶框架,有Spring Boot快速开发框架、Spring MVC(Model View Controller Java web框架)、Spring JDBC(可以用Mybatis、Hibernate等持久层框架代替)、Spring AOP(面向切面编程)等。
    入门推荐朱要光的《Spring+Mybatis:从入门到项目实战》,书中有不少错误,这些也是锻炼自己的机会,书最后有一个Web项目,水果销售平台,包括零售商管理、水果管理、合同管理等功能,用到了Spring MVC、Mybatis、Mysql、Maven、JSP、HTML、CSS、JavaScript等,还是有用的。
    另外,对Spring源码进行阅读也是一个很加分的项。
    进阶推荐国产经典《精通Spring4.x》,对Spring框架进行系统的学习,我正在看了。
  5. ⭐⭐⭐ 数据库
    主要学习SQL语言、经常用到的Mysql数据库还有redis缓存数据库。学习DBMS数据库管理系统(MysqlRedis)、事务、范式、索引、共享锁排他锁、InnoDB存储引擎、性能优化等。
    SQL语言的学习推荐《SQL必知必会》。数据库系统学习的额话推荐国外大部头《数据库系统概念》(这个也有精简版的薄本),针对于Mysql的话推荐《Mysql技术内幕》。
  6. ⭐⭐ 消息队列
    消息队列的作用就是分布式、解耦合,从而提高整个系统的可用性。有两种热门的MQ——Kafka和RabbitMQ,Kafka的话网上有很多,RabbitMQ推荐《RabbitMQ实战指南》,我还没有搞这些,只是搞过一些Kafka的内容,都不了解,你知道的话可以cue我一下。
  7. ⭐⭐⭐⭐ 分布式&微服务等前沿知识
    Kubernetes(K8s)这个分布式管理系统要学一下,其源码托管在Github上,与其关联的知识有Docker容器。
    Spring cloudzookeeper要学,阿里国产的Nacos微服务管理平台也看一下,Eureka服务发现也看一下,针对于日志收集管理的ELK套件一定要学。
    企业项目监控推荐Prometheus(普罗米修斯),与其关联的监控数据可视化工具是Grafana
    以上推荐看的书有(精心筛选):《大型网站架构》、《从Paxos到zookeeper》、《大规模分布式存储系统》、《微服务设计》
  8. ⭐⭐⭐⭐⭐ 项目积累
    这个对于找工作来说四很重要的,面试官会从你所做过的项目里面找话茬,这也是你表现自己的时刻,所以要注重项目经验,不管是一个简单的管理系统还是分布式微服务等加持的大型高可用系统,都可以,慢慢积累,毕竟时间还早(额,我还有两年毕业),学习的过程也是一个积累的过程。
    去哪儿找项目呢,推荐B站(老学习网站了),上面有很多UP主上传的项目视频,根据自己当前所学的内容,有针对性的做一些项目,巩固所学知识,相信你会有发光闪耀的那一天,祝福你,旅行者(原神串场了~)。

好,这就是我分享的内容,记得私信找我。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值