前言

最近春招开始了,很多校招同学想从事Java开发的工作,但是不是很了解这里可以把我之前的学习路线分享一下。有困难的同学私聊加群,一起学习备战春招。

基本大纲

上述这些,简单的说一下都有哪些重点和资料。

Java基础

Java基础指的是对Java语言的理解,主要包括Java语法,面向对象基础,Java关键字的使用和理解,集合类和常用类,异常机制,Java IO等。
关于这方面,有一个课程可以推荐:
Java300集
这个课程是尚学堂出品的,很经典,讲的也很通俗易懂。可以根据自己的情况选择一些章节。这个课程第四章可以跳过不看,因为Java桌面开发现在很少了,基本用不到,可以淘汰掉。
这个课程推荐学习一到两个月

Web开发基础

Java web开发是最终的目的,但是现在框架横行的年代,大部分开发者都跳过了这个环节,直接学习框架快速上手了,这对于哪些社招转行的,可以,但是对于校招同学一定要把这块给搞明白,这是Web开发的基础。
在早期Servlet和JSP是Web开发的基础,其实JSP也是一种特殊的Servlet。都是转化为理解Servlet,关于这个有很多参考资料,推荐一个学习教程:
JavaEE
这个教程从基础的JDBC开始讲起,然后是Servlet和JSP,以及JSP的高级用法,自定义标签等。后面几章讲解了几个常用的框架,但是这些现在基本都过时了,不过还是可以学习下,对后面学习其他框架有很大的帮助。

Java 多线程

首先要理解,Java的线程和系统的线程之间的关系,在Java代码里面启动了一个线程,对应到操作系统层面做了什么事情。
Java线程和系统线程的关系
理解了这个,接下来就是学会怎么使用线程:
例子1
例子2
做到这些基本上面试就已经足够了,但是可以再拓展点,比如实现几个经典的面试题:

  • 使用两个线程交替打印奇数偶数
  • 使用synchorized 实现1
  • 使用wait+notify实现1
  • Countdownlatch 和Sempre的使用
  • AQS基础
    如果能把1-5搞明白,那多线程这块,校招面试肯定够了。

网络编程

其实网络和IO紧密相关。
最基础的要学会:

  1. 编写socket server和client程序。例子
  2. 把1中的server端,改写成多线程模式,每个client连接一个线程处理
  3. 把1改写成单线程reactor模式
  4. 把1改写成多线程reactor模式
    最基本的,能够做到1-2,这样能够基本知道,IO流,socket api都有哪些,并且结合线程使用。最后进阶版的可以完成3-4,这样能够加深对reactor模式的理解。
    上述完成之后,你会发现其实一个client一个线程处理,是不够明智的
    因为线程的数量是有限的,但是client的数量可以很多,这样显示单机的处理能力是不够的。NIO可以解决这个问题
    关于Java NIO 推荐一个教程:Java NIO
    学会了这个,面试又能吹牛了!但是你可能还是发现,NIO有点复杂,比如哪些ByteBuffer需要你自己去控制顺序,需要flate等等,于是就有了一个经典的NIO框架:Netty。Netty是一个基于Java NIO实现的高性能网络处理库,有很多功能,但是也很复杂。关于Netty这里只是建议,会一点就行,要全会,那有点难。给个推荐:Netty学习教程
    到这里IO技术基本上就到位了。但是IO往往是和多线程结合起来的。
    所以二者可以放在一起学。

常用框架和工具

Java 开发中有很多的框架和工具。首先是maven,这是一个管理整个项目生命周期的工具,从依赖管理到打包编译,都可以使用maven完成。所以学会这个,能够在工作中更加快速的上手。主要是要理解maven lifecycle,这个理解了就好办了,以及maven的插件原理。
关于这个,尚硅谷的老师讲的也挺好的:maven学习教程
然后是一些常用的框架,其实不用太多,框架这个东西,设计之初就是为了简化开发,提高开发速度,如果一个框架你要学习很久,那这肯定是失败的,很多人都把框架理解错了,框架设计之初是没有把优化性能放在第一位的。所以框架基本都是很好用很好学的,校招一般也不会怎么问框架相关的话题,但是框架中优秀的设计思想,还是可以学习一下的。比如:

  1. Spring学习教程Spring是一个依赖管理的框架,这个依赖管理指的是类之间的依赖,不是jar包依赖。Spring的核心思想就是IOC和AOP。感兴趣的可以去了解下
  2. Mybatis这是一个ORM框架,解决JDBC重复开发的问题,实现基于配置开发的思路。
    其他的还有很多,但是就不介绍了,这两个足够了。

开源

要说Java项目开源最好的东西,都是大数据那一套,比如Hadoop,MapReduce这些,但是这些又比较的大,不是很容易看懂。所以对于开源项目,可以看看Kafka,RocketMQ的设计和实现。这个可以推荐一本书:
**《Kafka权威指南》**这本书很适合初学者,由浅入深的讲述了Kafka的整体设计和实现,绝对是帮助很大的。

结语

简单的罗列了一下Java后端或者Java技术栈需要的东西,看起来有点多,但是其实还是很少,这些只能说是大家接触的比较多的,对于一些特殊的开发场景,还是需要专门学习,但是校招万变不离其宗,都是对基础的考察。所以大家加油!

Java后端开发学习路线相关推荐

  1. web后端开发学习路线_学习后端Web开发的最佳方法

    web后端开发学习路线 My previous article described how you can get into frontend development. It also discuss ...

  2. 个人java后端详细学习路线(0→1)

    2022.3.9 今晚收看B站老师分析的学习路线,根据网友评论和自己总结,我用在C站的第一篇博文记录一下. 来源:[建议收藏]按这个学,找工作没问题!Java后端开发详细学习路线视频教程,串起Java ...

  3. Java后端工程师学习路线——大学版

    作为一名Java后端工程师,需要具备一定的计算机基础知识.Java语言基础和相关技术栈的知识,包括数据库.Web开发.框架等.在这篇博客中,我将从大一开始,讲解如何规划学习路线,以成为一名Java后端 ...

  4. 【实验室培训】大学生的Java后端开发学习之路(从App开发讲起)

    文章目录 前言 一.浅谈如何开发一款App 1.一个好的idea 2.根据这个idea完善好具体的需求 3.分工合作 4.设计阶段 ①UI设计 ②接口设计 ③架构设计 5.开发阶段 6.测试阶段 7. ...

  5. 阿龙的学习笔记---C++后端开发学习路线梳理、阶段性总结

    1. 前言 不是科班出身,机械学院下的机器人专业,乱七八糟QT.ROS.双目.单片机都接触一些,但是到现在没做过太多软件开发的活儿,所以对于未来找实习找工作没什么底. 研一就快要过去了,因为疫情研一下 ...

  6. C++后端开发学习路线及推荐学习时间

    实习面试基本情况 先说一下楼主面试的情况,参与面试的公司:CVTE.搜狐.东方财富.美团.腾讯.字节跳动.阿里巴巴 CVTE:笔试-技术面1-技术面2-hr面-offer 阿里巴巴提前批:技术面1-挂 ...

  7. Java 后端开发学习型网站汇总

    首页 - 不灭的焱:个人网站,汇集了大量开发实践经验文章,技术种类繁多,总结得也比较好,适合不时访问查看. 第十二章:技术总览_我是廖志伟的博客-CSDN博客:私人博客,收集了各种技术的官方网站. 网 ...

  8. 万字长文| 最详尽的JAVA后端开发求职路线

    本人 21届双非本科,在大二的时候开始学习Java感谢我的恋爱6年之久的女朋友哈(她也是Java

  9. 为学弟学妹熬夜的一份零基础 C++ 开发学习路线

    大家好,我是帅地. 之前写过几篇学习路线的文章 前端开发学习路线 Java 后端开发学习路线 一般开发岗主流的就是 Java 后台开发,前端开发以及 C++ 后台开发,现在 Go 开发也是越来越多了, ...

最新文章

  1. 智能安防赛道上 国产AI芯片力挫群雄
  2. 四、垃圾收集之垃圾收集算法
  3. 如何只使用标签来构建一个简单的电影推荐系统
  4. redhat6.5手动配置网络
  5. 鸿蒙公测报名表填写,鸿蒙2.0公测报名审核要多久_鸿蒙2.0公测报名审核时间
  6. LeetCode-数组-三数之和
  7. ubuntu系统没有声音解决方法
  8. Node.js验证码模块captchapng
  9. 只有我能做的工作,权限关了?
  10. ENSP实验五——三层交换机+二层交换机
  11. 13.计蒜客ACM题库.A1147 结果填空:礼物盒
  12. 《可穿戴创意设计:技术与时尚的融合》一一2.4 超级英雄和超级可穿戴设备...
  13. 八数码问题【人工智能实验】
  14. 谈一下对计算机网络技术的认识,浅谈对计算机网络的认识
  15. border-color属性设置单边边框和综合四边边框颜色
  16. oracle database lite,Oracle Database Lite Client 10
  17. 如何用python制作动画电影_用Python制作3D动画
  18. 智力答题源码php,php儿童智力测评系统
  19. 基于OpenCV DNN模块给黑白老照片上色(附Python/C++源码)
  20. ***无人驾驶***apollo 3.0 硬件系统

热门文章

  1. 三位一体计算机类自荐信范文,三位一体大学自荐信范文
  2. 六区哈卡服务器无限公会,六区哈卡LM54级小牧师很迷茫!(请高手指点)
  3. mixamo动画批量添加根骨骼与将动作处理成原地动作(blender)
  4. React-Native + Mobx项目实战--探花交友APP--项目搭建
  5. 拆机(装机)后开机黑屏并且一直发出滴滴滴的声音
  6. R与SPSS、SAS相比较_Python 在数据分析工作中的地位与R语言、SAS、SPSS 比较如何?
  7. Linux环境问题--Miniconda安装python环境搭建
  8. 大数据分析了50万条拼多多商品数据, 得出了这样的结论
  9. C# SQL Server笔记
  10. jsj中对象之间的赋值