Java自学方法和路线

  • 了解Java知识体系

  • 自学Java前,要对Java和Java体系知识有一定认识,心中有个大概的轮廓去学习,方能更踏实。通过几个问题了解Java。

  • 什么是Java?
  • Java是一种可以撰写跨平台应用程序的、面向对象的程序设计语言。简单说,Java就是一种语言,不过是一种跑在JVM上的语言,Java编译后是字节码,而JVM会把这些字节码解释成机器码,然后做出相应的动作。
  • Java能干什么?
  • Java当前用的较多的就是做后端开发、大数据开发、安卓开发,这是当前Java技术栈较为热门的三种岗位,其中以Java后端的市场需求最大。Java也可以做桌面应用开发、游戏开发,但需求相对较少。
  • 国内大厂,像阿里巴巴、美团、京东、拼多多等,使用的主要语言都是Java,大部分中小企业为了成熟稳定也选择Java作为后端开发语言。此外,很多著名的中间件是由Java编写的,例如:Elasticsearch、RocketMQ、Hadoop等。
  • 2.Java有哪些知识?
  • (一)、Java基础

  • Java入门部分:
  • JDK、IDEA安装,了解Java编译过程

  • 基础内容:输入输出、命名规范、注释

  • 数据类型:基础数据类型(及其包装类)、引用类型

  • 修饰符:访问修饰符、非访问修饰符

  • 运算符:赋值、算数、自增自减、比较、逻辑、位、三元运算符及其优先级

  • 控制流程:条件判断、循环语句

  • 数组、字符型

  • 类与对象

  • 面向对象三大特征:继承、封装、多态

  • 日期、正则、大数运算(简单了解)

  • Java进阶部分:
  • IO常见文件操作

  • 集合框架:ArrayList、LinkedList、HashMap、HashSet、ArrayDeque等

  • 异常处理

  • 泛型

  • JDBC

  • 网络编程

  • Java8新特性(Lambda)

  • 反射、注解(有点难)

  • (二)、Java高级

  • 多线程、高并发

  • 23种设计模式

  • 树、红黑树、B树、散列、堆、图等

  • 算法:十大排序、二分查找、分治、贪心算法、位运算、回溯、动态规划、搜索算法(bfs、dfs)、最短路径(Dijkstra、Floyd)、最小生成树(Prim、Kruskal)、并查集、KMP等算法

  • (三)、JavaWeb:

  • HTML、JavaScript、CSS

  • XML、JSON

  • Tomcat

  • Servlet/JSP(以Servlet为主)

  • JQuery、Ajax

  • MVC

  • Cookie、Session

  • 过滤器、监听器

  • 文件上传下载(Servlet3.0)

  • Linux

  • (四)、常见框架:

  • ORM框架:Mybatis

  • Spring全家桶:Spring、SpringMVC、SpringBoot

  • 安全框架:Shiro、Spring Security(可选一种先学)

  • 其他框架:Swagger(在线接口)、Log4j2(日志)、Quartz(定时)等

  • 微服务:SpringCloud、Dubbo等

  • (五)、常见中间件和工具:

  • 版本控制:Git、SVN

  • 包管理:Maven、Gradle

  • 关系型数据库:MySQL、Oracle等

  • 非关系型数据库:Redis(缓存)、Memcached(缓存)、MongoDB(文档型)等

  • 搜索引擎:Elasticsearch、Solr等

  • 消息队列:RocketMQ、ActiveMQ、RabbitMQ、Kafka等

  • Web服务器:Apache、 Nginx

  • 容器:Docker、K8S

  • 大数据:Hadoop、Spark、Strom、Flink等

  • 当然,上面只是罗列了大部分知识点,还有很多知识比如日志分析监控(ELK)、持续集成、分库分表等也都是热门技术,Java后端技术体系庞大。这些内容可以根据你的工作或者兴趣,选择性深入学习。
  • JavaWeb学习阶段

  • JavaWeb部分,每天学习8小时,建议控制时间在30天左右,推荐学习方式以视频为主,教程网站为辅。这部分内容虽然相对简单,但涉及到很多新的技术和概念需要时间吸收理解(例如HTML,JavaScript,CSS,JQuery,MVC,Ajax等)。学习JavaWeb推荐B站狂神JavaWeb入门到实战视频(https://www.bilibili.com/video/BV12J411M7Sj?from=search&seid=5650664425103872007),大概25小时左右,同样也要倍速看。在学习JavaWeb的时候,会涉及一些其他领域的东西比如Html,JavaScript,CSS,MySQL等你不需要学的很深,先会一些基本的就可以。另外看视频的时候JSP部分可简略看,尤其是标签、EL表达式那块应用已经很少很少了,快速浏览即可。
  • JavaWeb部分,如果遇到一些错误很难解决跳过,可到Github找一些可运行的项目进行跑。有些东西不一定非要死扣,资源教程很多能跑出来对于初期才是最关键的。
  • 学习JavaWeb除了跟视频外,也可以跟着教程网站或者博客专栏进行学习(例如菜鸟教程的Servlet(https://www.runoob.com/servlet/servlet-tutorial.html)),因为跟着教程网站在代码学习上效率较高,当然在学习别人代码的时候要有自己的创新。
  • 学习JavaWeb 中Servlet/Jsp这部分内容的时候,除了要跟着教程的案例一个一个敲代码,最后一定要动手敲一个小网站,网站内容囊括 Servlet、jsp、Session、Cookie、JDBC、Ajax等相关技术,包含具体登录注册功能、文件上传下载功能、页面访问计数等功能,可以从网络上获取一些前端页面模板或者UI框架(推荐Layui或者EasyUI)进行修改。
  • 框架学习阶段

  • 框架学习+项目实战,每天学习8小时,建议控制时间在60天,推荐学习方式是视频+文档资料学习。
  • JavaWeb中Servlet/Jsp很少在企业直接使用,学习企业级开发框架才是重中之重,框架类如果单纯为了学习应用的话不要买书,因为主流框架技术更新迭代较快,大部分书籍跟不上技术的发展;如果为了深入理解框架设计、原理可以买对应框架的源码分析类书籍(要注意框架版本)。在寻找视频或者博客教程的时候要留意文章或者视频的发布日期,如果太早的话不建议观看。
  • 在框架中,重中之重的是Spring、SpringMVC、Mybatis、SSM、SpringBoot等。学习顺序的话建议从Mybatis到Spring到SpringMVC,三个框架单独学完之后再进行整合SSM框架,利用SSM写一些小案例。之后学习SpringBoot,再利用SpringBoot完成实战项目巩固学习。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值