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完成实战项目巩固学习。
Java自学方法和路线相关推荐
- 结合大学四年经验,带你揭秘高效自学Java的方法和路线(从认识、方法、反馈3个角度出发)
首发公众号:bigsai 收藏不是真支持,点赞.关注三连才是真支持! 前言 大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂.本文就自学Java的n个问题和n个方法做出一些建议,并 ...
- java自学方法_JAVA自学 方法
方法的分类(封装): 带参数的方法,带返回值的方法 带参数的方法: 在某些特殊时候方法在执行的时候需要调用提供值, 例如购买东西,调用处需要传入的参数:钱,物品名称 带参数的方法定义语法结构: pub ...
- 大学四年,总结一套适合小白的Java自学路线和方法
前言篇 无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班.报班通常太费钱,时间又不自由:自学又不知道如何下手,担心自己坚持不下来.怎么办呢? 本文将解答你自学Java的N种问 ...
- 自学java面向实习从零开始路线
自学java面向实习从零开始路线 Java 目录 Java基础 Java开发底层 感慨语录 bgm 1 2 文档注释 快速多行注释 停止运行程序 数据类型 浮点型 float&&dou ...
- 万字长文分享,新手小白如何自学Java(方法+步骤)
我准备从思想方法和具体的学习步骤上给大家聊一下我的做法,希望对大家有所帮助! 看完本篇文章你会得到如下收获: 学习Java的方法 学习Java的具体步骤 大学四年如何高质量度过 如何把我大学时光自学编 ...
- 五万字15张导图Java自学路线,小白零基础入门,程序员进阶,收藏这篇就够了
本文收录于<技术专家修炼> 文中配套资料合集 路线导图高清源文件 点击跳转到文末点击底部卡片回复「资料」领取 哈喽,大家好,我是一条~ 最近粉丝问我有没有Java自学路线,有了方向才能按图 ...
- 万字长文分享,如何自学Java(方法+步骤)
目录 收起 大家存在的问题 为什么我觉得方法很重要? 五个步骤学习Java 第一阶段:揽全局 「怎么办?你需要的是系统化学习!」 教程式笔记 我的大学 我准备从思想方法和具体的学习步骤上给大家聊一 ...
- 我与Java的故事以及0基础Java自学之路(2022最新版)
文章目录 我与Java的故事 一.JSP.Servlet推荐自学路线 二.Spring推荐自学路线 三 SpringMVC推荐自学路线 四 Mybatis.MyBatisPlus推荐自学路线 五 Sp ...
- [转]尚学堂科技 - 马士兵老师-JAVA自学之路
[原创 - 尚学堂科技 - 马士兵老师] JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同 ...
最新文章
- 驱动数字经济加速,摩尔线程发布全新元计算架构MUSA和GPU产品
- c语言经典算法大全pdf,c语言经典算法100例pdf版.pdf
- Spring中Bean的生命中期与InitializingBean和DisposableBean接口
- android多环境,Android多环境配置打包
- URL传递中文参数乱码问题
- 网吧服务器常用设置维护工具,某某网吧专用维护工具
- 极通EWEBS远程接入v4.2六步实施法
- 发生致命事故8个月后,优步被获准在匹兹堡恢复自动驾驶测试
- 公众号被关注后怎么发送多条自动回复消息?可以插入外链吗?
- 将已有的文件夹添加到git
- [Ynoi2016]炸脖龙I/Nephren Ruq Insania
- 机器学习 | 台大林轩田机器学习基石课程笔记5 --- Training versus Testing
- 插入法、选择法、冒泡法(C++实现)
- 是如何通过阿里面试的?
- 【学习笔记】NLP之影评情感分类
- 毕业设计之 --- 停车管理系统
- 美国标准的网络安全体系架构
- MySQL基本操作—DQL实训真题
- 宝尚快讯科技股属于超跌反弹,难持久
- 3d人脸对齐代码matlab,重磅!清华商汤开源CVPR2018超高精度人脸对齐算法LAB