贰:(注:只适用于后盾或2014的大蔀分教程)
叁:免费提供蓝丝雨哦(注:只适用于蓝丝雨XX是如何练成的等系列教程注意解压密码包括后面的中文!!!)
最近很多读者在问:Java 怎么学习啊有没有什么学习路线?
我相信这些读者或多或少都有一些 Java 基础但由于看不到全貌,学了一段时间很容易迷失所以我在寻思着能不能寫一个学习的地图或者路线,让读者能知道下一步该学什么自己离大厂的 offer还有多远的距离。
一个人最怕的不是路途遥远而是看不到胜利曙光。我希望下面这篇文章能给你的学习之路带来一丝曙光大家不妨试着读一下吧,如果有收获给我点个赞哟
温馨提醒:这篇文章寫着写着就一万字了,建议大家关注后再收藏以防走丢。
这篇文章主要内容包括(干货满满):
学Java有哪些就业方向
学习常见问题(FAQ)
买一瓶可乐,泡一杯咖啡lets go 学习~
在介绍 Java 怎么学之前我给大家介绍一下学完了能干什么因为有目标的学习才是最高效的。
佷多 Java 入门学习者对岗位或者方向的概念非常模糊今天学安卓、后天学大数据,三心二意的学习势必造成技术不精这就是面试官通常说嘚:这位面试者基础比较差。
学习技术首先要认准一个方向专注下去有了一定积累后再将自己的知识面扩宽,找到自己感兴趣的方向再沉下去学习周而复始你就成为这个行业的专家了。
Java 这门语言在公司里根据分工不同衍生出了众多的岗位或者技术方向。
我在 boss 直聘上搜索了 BAT 等大厂的岗位目前有以下三类岗位非常热门:
熟悉 Android UI 开发非常熟悉,对 UI 架构有理解并了解基础的 UI 交互知识;
熟悉 Android 调试工具和方法,可鉯应付各种 Android 复杂问题;
具备扎实的Java基础对JVM原理有扎实的理解;对Spring、MyBatis、Dubbo等开源框架熟悉,并能了解它的原理和机制具有大型分布式系统设計研发经验;
熟悉基于Mysql关系数据库设计和开发、对数据库性能优化有丰富的经验;
熟悉底层中间件、分布式技术(如RPC框架、缓存、消息系統等);
(3)大数据/数据仓库
精通sql及性能调优,熟练使用java、python、scala其中一种编程语言;
掌握数据仓库 (DW) / OLAP /商业智能 (BI) /数据统计理论并灵活的应用,具備大型数据仓库设计经验;
这里只列举了三类比较热门的技术岗位希望大家结合自己的经验思考一下方向。
敲黑板:认清自己找准方向,越早确定方向越容易成功!
有些同学可能要问了:我学 Java 的有必要学习算法吗答案是:别无选择
!
国内互联网面试的流程逐渐在向国外靠拢,像字节跳动、BAT 等大厂手撕算法题
已经成为了必选动作。
确实 Java 相对于 C、C++有着丰富的类库和三方框架,进入工作后大部分人都是在寫业务代码俗称 API boy 或者 Crud boy,算法看起来并不是那么重要但是考算法真的是公司面试筛选人的低成本办法,如果你写出了算法并且通过了偠么你聪明要么你勤奋(刷题了)。
所以不管你是学什么语言:C、C++、python、Java、GO算法这一关你必须得过。数据结构和算法的面试核心知识点我巳经列出来了大家可以参考学习,逐个击破
栈与队列:先进先出、后进先出
查找:顺序查找、二分查找
排序:交换类、插入类、选择類
树、二叉树、图:深度优先(DFS)、广度优先(BFS)
三大牛逼算法:回溯、贪心、动态规划(DP)
不要花太多时间学习 UML,简单理解入门即可
假设你已经入门 UML 了,那下面的这些书你可以考虑学习一下了:
Head First 是一个比较经典的系列丛书有些人非常喜欢这种风格。这本书讲枯燥的设計概念讲解的生动有趣作为一本入手书非常值得推荐。
大话系列是国内非常经典的系列丛书有众多粉丝。这本大话设计模式以对话的形式讲解知识在当时可开创了先河。虽然书中有些例子比较牵强但任然不失为一本入门的好书。
图解系列是日本的一位作者写的有┅本图解 HTTP 非常经典,这本图解设计模式也是类似的风格由于是翻译过来的,书中有些例子可能听起来比较奇怪貌似翻译过来的技术书嘟有这个问题。
《设计模式-可复用面向对象软件的基础》
又是一本黑色大部头书书的作者就是 GoF,大家都说经典但是呢,经典归经典讀起来真的是晦涩难懂,对新人非常不优化如果你想入门学习设计模式,这本书就不推荐了不推荐为什么要说出来?经典的书如果不提你们又要说我菜。(害)
这几本书都要看吗当然不是,如果你是在准备面试我个人建议是读其中一本就够了。至于说看哪一本伱可以找对应的电子书,挑一个章节试读一下符合你的胃口就选择这一本继续读下去。
如果你已经有几年的编码经验又想把代码写好,建议你多挑基本读读吸收每本书的精华。
科班出身的同学对《计算机网络》和《操作系统》这两门课应该不会陌生至于掌握了多少,你懂得都是在考前一两周突击学习的,哈哈
现在大公司对于应届生的要求越来越高,计网和操作系统这两门课是必考的那些拿了 SSSP Offer 嘚大牛计算机基础都非常扎实。
计算网络的协议非常非常多很多同学学完都一头雾水,或者仅仅懂一点 HTTP但是真正要掌握的东西可不少:
网络安全:非对称加密、数字签名、数字证书
计算机网络面试有一道非常经典的面试题:说说你从URL输入到最终页面展现的过程。这一题鈳以覆盖大部分计网的知识点可以从 DNS 解析到 HTTP、TCP/IP协议、物理层协议,一直到浏览器渲染页面你技术功底有多深你就可以聊多深。希望大镓学完了也能试着回答一下这个问题
推荐几本倍受好评的书:《网络是怎么连接的》
这本书是一本日本作者写的。文章围绕着在浏览器Φ输入网址开始一路追踪了到显示出网页内容为止的整个过程,图文并茂生动有趣非常推荐!
也是一名日本作者写的。这本书对 HTTP 协议進行了全面系统的介绍列举了很多常见通信场景及实战案例,相信读完会有恍然大悟的感觉书很薄,几天就可以读完强烈推荐!
《TCP/IP詳解卷1:协议》
计算机网络的经典教材, 大部头书籍很难啃。建议挑重点看
最后安利一款工具,学习网络必备的抓包神奇:wireshark如果你學网络没抓过包,那基本等于白学了(有点严重)
作为一名 Javaer 在平时的工作中可能不会直接跟操作系统打交道,因为 JVM 帮我们屏蔽了众多差異但是要想学好 JVM,懂一点操作系统更有助于你深刻理解 JVM 工作原理
Java 学习者这部分的要求可以稍微放低,但是你如果是搞 C++的那这部分可昰你的重点。
进程间的通信方式:共享内存、管道、消息
想要精通操作系统难度非常大但是在面试中你要能讲出一些具体的操作系统知識,面试官会对你刮目相看
推荐一些视频学习资料:
操作系统(哈工大李治军老师)32讲(全)超清:
《深入理解计算机系统 CSAPP》
《现代操莋系统 (第3版)》
操作系统领域的经典之作,因为是翻译过来的遇到比较晦涩的先跳过,多读几遍才能消化
Java 语言从诞生到现在已经有20哆年了,从Tiobe排行榜上来看Java 语言常年霸榜经久不衰,所以不要怕学完 Java 后突然不流行了至少这几年Java 就业机会非常多。
如果你有其他语言的基础比如之前学过 C、C++等,那学起 Java 应该是非常容易的也容易上手。如果你没有语言基础又不想了解太底层的东西,那学 Java 还是不错的臸于说 python,光从语言层面上看python 确实非常简单,估计你一周内就可以学会并且代码写的还不错但是 Java 不一样,一周你只能简单了解一下语法想写好代码几乎不可能。另外 Go 语言势头很猛大家也可以关注一下。
一般来说 Java 入门你需要掌握下面这些知识点:
面向过程 VS 面向对象
面向對象基本特征:封装、继承、多态
数据类型:基本类型、引用类型
如果你是零基础建议你可以找一些 Java 入门的视频看一下,网上视频鱼龙混杂大家注意甄别。推荐一个比较好的平台:B 站(/) 不是让你去看二次元的里面有很多学习资源。(嘿哈)
敲黑板啦:视频不要贪多因为没有一个大牛是看视频看出来的。
看视频是别人将知识点往你脑袋里灌最大的好处是能让你快速入门,如果你想学到更多你需偠的是自我学习
,带有思考的自我学习
看书是一种高效的自我学习方式,推荐基本比较好的书:
《Java 核心技术卷I》
这本书建议作为Java 之旅的苐一本书涵盖的内容非常全,比起那些30天学会 Java 之类的书这边书更加务实。书中有些章节其实不用看比如Swing GUI 的直接略过,因为用 Java 写桌面端应用已经过时了
《阿里巴巴 Java 开发手册》
大厂阿里巴巴出品的,这其实是一本 Java 编码规范编码习惯从一开始就要养好。
这是一本非常非瑺经典的书你要问搞 Java 的人如果没听过这本书那算是白学了,哈哈其实说实话这本书我试图看过几次,最终都没有看完一个原因是它呔厚了,另外我觉得讲得太啰嗦了所以我现在拿来垫桌子,高度合适挺好的所以呢,建议新人不要一开始看这边书不然你会怀疑人苼还没入门就放弃了,就把它当做编程圣经等你后面有经验了拿起来再翻翻吧。
敲黑板了:学习编程要有耐心不要急于求成,要打好基础也许你一个月两个月还在运行一些简单示例,这是正常的多学习多思考。
恭喜你终于Java 入门了大牛和菜鸟的区别在于菜鸟永远止步于入门水平,而大牛已经找到新大陆了翻过这几座山你离高手就不远了。
Java 高手进阶需要掌握的东西非常非常多这里列举一些核心知識点,必须全部掌握的这是 Java 面试高频考点,也是传说中 Java 八股文的一部分面好了进入下一面,面不好回家等消息
Java 已经入门了,你都想進阶了建议你不要再找视频看了,一边看书一边思考吧
书中列举了很多编程建议,其实就是告诉怎样去写好代码你需要从
能写代码
(入门)过渡到会写代码
,这本书值得一看如果你的编码经验比较少,那这边书你可以稍微往后延因为看完了你可能没有感同身受。
Java15 嘟出来了为什么还要学 Java8 因为现在很多公司都还停留在 Java8, Java8是继Java5之后改动很大的一个版本得好好学。Java8之后的版本非常不给力换一个 JDK 版本費时费力,收益也不明显公司肯定不愿意动了。这边书将 Java8所有的新特性都详细讲解了非常推荐。
《深入理解 Java 虚拟机 第3版》
周志明大神寫的非常非常经典,已经更新到第三版了Java 虚拟机也就是 JVM,JVM 是Java 面试必考的知识不懂这个直接回家等消息吧。这边书我看了很多遍每佽看完都有新的收获,墙裂建议大家看完
《Java 并发编程的艺术》
这是一本专门讲解Java并发的书,涉及到各种锁、常见安全的集合类基本就昰将 JUC(/
当做字典学习 redis 常见命令
Java 知识地图(推荐):/
印象笔记:/ 看个人习惯去选择,不推荐了
drawio:/ 各有特色,都推荐
学习常见问题(FAQ)
这昰大家学习会遇到的头号大问题,怎么解决重复学习。
打个比方假如你正在学习 spring 注解,突然发现了一个注解@Aspect不知道干什么用的,你鈳能会去查看源码或者通过博客学习花了半小时终于弄懂了,下次又看到@Aspect 了你有点郁闷了,上次好像在哪哪哪学习你快速打开网页婲了五分钟又学会了。
从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步
人的本性就是容易遗忘,只有不断加罙印象、重复学习才能真正掌握所以很多书我都是推荐大家多看几遍。哪有那么多天才他只是比你多看了几遍书。
推荐这么多书都要看完吗
当然不是!有一些书都是同类型的,作者写书的侧重点不一样大家要学会挑重点看。
拿到一本书首先要把目录多看一遍,一般而言书的前几章都是介绍型的内容如果你已经有了基础,可以直接跳到后面原理解析或者实战部分
需要学多久才能成为技术大牛?
業界说法通过不断努力学习,一到两年可以达到初级水平三到四年达到中级水平,五年可以达到高级水平
实际上每个人的学习能力囷精力不一样,时间参考意义不大
只要你在一个方向或领域有自己的建树,就可以叫你大牛;如果你在公司是技术骨干、技术专家、架構师也可以称之为大牛。
敲黑板:技术学习千万不要浮躁谦卑一点多学一点,天外有天
现在 python、Go 语言很火,要不要直接学它们
不要糾结语言,语言只是工具今天 Go 很火,明天会有其他语言
我有一个同学毕业去阿里写 Java,后面跳槽到深圳腾讯写 C++现在又跳到字节跳动写 Go,在大佬面前这些语言只是语法不一样而已所以建议大家打好基础,答应我一定打好基础
长按进入小程序,进行打卡签到 新一期打卡簽到奖品超多 (更多精彩值得期待……) 最近热文:新功能积分兑换上线了!!! 别瞎学了,这几门语言要被淘汰了! 新来的妹纸 rm -rf 把公司整个数据库删没了!!! 小姐姐盗用他人设计作品找工作入职京东... 2T技术资源大放送!包括但不限于:C/C++,LinuxPython,Java人工智能,考研软考,英语等等。在公众号内回复「资源」即可免费获取!回复「社群」,可以邀请你加入读者群! 明天见(??ω??)??
贰:(注:只适用于后盾或2014的大蔀分教程)
叁:免费提供蓝丝雨哦(注:只适用于蓝丝雨XX是如何练成的等系列教程注意解压密码包括后面的中文!!!)