问题：﻿自学 Java 怎么入门？ 在大学自学 Java。看视频教程和代码能看懂 自己写就写不出来，怎么样能够入门？
话题：﻿生活方式、Java、Java编程、Java程序员、Java入门
回答：﻿为什么这么多收藏，这么少的赞同，各位老哥如果觉得不错的话，点个赞同吧！文末有彩蛋！！！Java学习如何入门？这个问题应该是大部分初步跨入Java学习大门的朋友关心的问题。如果你只是为了找一份工作而学习Java的话，那太简单了。网上提供的什么各种学习路线我觉得都是浮云，最直接的就是看黑马或者尚硅谷系列的视频。下面我贴出了黑马和尚硅谷Java培训班系列视频的图片，可以说非常推荐了，这些视频我也安利给了我自己的小学弟们。为什么安利给别人？因为我自己大二系统学习Java就是看的这个，我本人觉得全网可能找不到比这个更好或者更系统地能让你入门并具有实际开发经验的东西了。黑马视频：上面发的最新的黑马视频可能有一些知识点没有比如：SpringBoot、Github、SpringCloud、Jenkins等等。这些东西尚硅谷视频的学习路线图：如果需要上面资源的话，我可以免费分享给大家。大家可以添加我的微信bwcx9393回复关键字“1”或者关注我的公众号（ID:Java_Guide）回复关键字“1”即可。你把上面的视频老老实实地看完，项目老老实实的跟着做完，然后再稍微花点时间准备一下面试，我觉得找到一份工作就很容易了。如何获得大厂offer但是，如果你想找到一个大厂的offer该怎么办。我们首先肯定要搞清楚大厂到底青睐什么样的人呢？大厂到底青睐什么样的人(1)高学历的的确更有优势我们第一个想到的肯定是高学历，这一点是毋容置疑的。不信的话，大家可以参考下面这份数据。但是！！！你肯定要问“我是双非/三本/专科学校的，我有机会进入大厂吗？”我的回答是当然可以！！！我自己也是非985非211学校的，结合自己的经历以及一些朋友的经历，我觉得让我回答这个问题再好不过。首先，我觉得学校歧视很正常，真的太正常了，如果要抱怨的话，你只能抱怨自己没有进入名校。但是，千万不要动不动说自己学校差，动不动拿自己学校当做自己进不了大厂的借口，学历只是筛选简历的很多标准中的一个而已，如果你够优秀，简历够丰富，你也一样可以和名校同学一起同台竞争。企业HR肯定是更喜欢高学历的人，毕竟985，211优秀人才比例肯定比普通学校高很多，HR团队肯定会优先在这些学校里选。这就好比相亲，你是愿意在很多优秀的人中选一个优秀的，还是愿意在很多普通的人中选一个优秀的呢？双非本科甚至是二本、三本甚至是专科的同学也有很多进入大厂的，不过比率相比于名校的低很多而已。从大厂招聘的结果上看，高学历人才的数量占据大头，那些成功进入BAT、美团，京东，网易等大厂的双非本科甚至是二本、三本甚至是专科的同学往往是因为具备丰富的项目经历或者在某个含金量比较高的竞赛比如ACM中取得了不错的成绩。一部分学历不突出但能力出众的面试者能够进入大厂并不是说明学历不重要，而是学历的软肋能够通过其他的优势来弥补。所以，如果你的学校不够好而你自己又想去大厂的话，建议你可以从这几点来做：①尽量在面试前最好有一个可以拿的出手的项目；②有实习条件的话，尽早出去实习，实习经历也会是你的简历的一个亮点（有能力在大厂实习最佳！）；③参加一些含金量比较高的比赛，拿不拿得到名次没关系，重在锻炼。(2)你的这些经历/技能或许会为你的简历加分不少从阿里、腾讯等大厂招聘官网对于Java后端方向/后端方向的应届实习生的要求，我们大概可以总结归纳出下面这4点能给简历增加很多分数：参加过竞赛（含金量超高的是ACM）；对数据结构与算法非常熟练；参与过实际项目（比如学校网站）；参与过某个知名的开源项目或者自己的某个开源项目很不错；除了我上面说的这三点，在面试Java工程师的时候，下面几点也提升你的个人竞争力：熟悉Python、Shell、Perl等脚本语言；熟悉Java优化，JVM调优；熟悉SOA模式；熟悉自己所用框架的底层知识比如Spring；了解分布式一些常见的理论；具备高并发开发经验；大数据开发经验等等。Java该学习那些东西很多初学者或者有经验的开发者都会陷入这个泥潭：“不知道自己该学什么？”。我觉得最简单的方法就是你去招聘官网上看看公司要求什么技能，比如初级Java工程师的招聘要求肯定和高级Java工程师的招聘要求不一样，阿里的Java工程师的招聘要求肯定和普通公司的Java工程师招聘要求不一样。阿里：阿里巴巴招聘官网我在我的Github开源了一个【Java学习+面试指南】:JavaGuide，上面也总结了一些Java学习必备的知识。目前已经接近19kStar，应该对大家有帮助。JavaGuide地址：https://github.com/Snailclimb/JavaGuide下面是JavaGuide的目录：总结：初中级Java程序员必须掌握的知识。熟练掌握数据结构、算法、操作系统、计算机网络等基础知识熟练掌握Java编程、熟悉Java高并发开发手段、对JVM虚拟机（Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理）有一定研究熟练掌握SOA分布式系统开发，具有优化系统性能、提高系统并发量以及系统可用性的实际经验熟练掌握Struts2、Spring、Hibernate、Mybatis等框架的使用，熟悉Spring原理熟练掌握Dubbo、Zookeeper、常见的消息队列（比如ActiveMq）的使用熟悉Linux系统的使用，在Linux系统下具有实际的开发经验熟悉MySQL数据库的使用、常见SQL语句的书写以及常见的优化手段掌握SpringBoot+SpringCloud+Docker了解Hadoop生态相关技术中的HDFS、Storm、MapReduce、Hive、HbaseJava程序员必备书单这些书籍大部分我自己都看完了，非常不错。大家如果需要这些书籍的PDF资源可以关注我的公众号之后回复关键字“1”获取。我的公众号ID：Java_Guide。核心基础知识《图解HTTP》（推荐,豆瓣评分8.1,1.6K+人评价）：讲漫画一样的讲HTTP，很有意思，不会觉得枯燥，大概也涵盖也HTTP常见的知识点。因为篇幅问题，内容可能不太全面。不过，如果不是专门做网络方向研究的小伙伴想研究HTTP相关知识的话，读这本书的话应该来说就差不多了。《大话数据结构》（推荐，豆瓣评分7.9,1K+人评价）：入门类型的书籍，读起来比较浅显易懂，适合没有数据结构基础或者说数据结构没学好的小伙伴用来入门数据结构。《数据结构与算法分析：C语言描述》（推荐，豆瓣评分8.9，1.6K+人评价）:本书是《DataStructuresandAlgorithmAnalysisinC》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一，作者MarkAllenWeiss在数据结构和算法分析方面卓有建树，他的数据结构和算法分析的著作尤其畅销，并受到广泛好评．已被世界500余所大学用作教材。《算法图解》（推荐，豆瓣评分8.4，0.6K+人评价）：入门类型的书籍，读起来比较浅显易懂，适合没有算法基础或者说算法没学好的小伙伴用来入门。示例丰富，图文并茂，以让人容易理解的方式阐释了算法.读起来比较快，内容不枯燥！《算法第四版》（推荐，豆瓣评分9.3，0.4K+人评价）：Java语言描述，算法领域经典的参考书，全面介绍了关于算法和数据结构的必备知识，并特别针对排序、搜索、图处理和字符串处理进行了论述。书的内容非常多，可以说是Java程序员的必备书籍之一了。Java相关《Effectivejava》（推荐，豆瓣评分9.0，1.4K+人评价）：本书介绍了在Java编程中78条极具实用价值的经验规则，这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述，揭示了应该做什么，不应该做什么才能产生清晰、健壮和高效的代码。本书中的每条规则都以简短、独立的小文章形式出现，并通过例子代码加以进一步说明。本书内容全面，结构清晰，讲解详细。可作为技术人员的参考用书。《HeadFirstJava.第二版》(推荐，豆瓣评分8.7，1.0K+人评价)：可以说是我的Java启蒙书籍了，特别适合新手读当然也适合我们用来温故Java知识点。《Java多线程编程核心技术》：Java多线程入门级书籍还不错，但是说实话，质量不是很高，很快就可以阅读完。《JAVA网络编程第4版》：可以系统的学习一下网络的一些概念以及网络编程在Java中的使用。《Java核心技术卷1+卷2》（推荐）:很棒的两本书，建议有点Java基础之后再读，介绍的还是比较深入的，非常推荐。这两本书我一般也会用来巩固知识点，是两本适合放在自己身边的好书。《Java编程思想(第4版)》（推荐，豆瓣评分9.1，3.2K+人评价）：这本书要常读，初学者可以快速概览，中等程序员可以深入看看java，老鸟还可以用之回顾java的体系。这本书之所以厉害，因为它在无形中整合了设计模式，这本书之所以难读，也恰恰在于他对设计模式的整合是无形的。《Java并发编程的艺术》（推荐，豆瓣评分7.2，0.2K+人评价）：这本书不是很适合作为Java并发入门书籍，需要具备一定的JVM基础。我感觉有些东西讲的还是挺深入的，推荐阅读。《实战Java高并发程序设计》（推荐）：豆瓣评分8.3，书的质量没的说，推荐大家好好看一下。《Java程序员修炼之道》：很杂，我只看了前面几章，不太推荐阅读。《深入理解Java虚拟机（第2版）周志明》（推荐，豆瓣评分8.9，1.0K+人评价）：建议多刷几遍，书中的所有知识点可以通过JAVA运行时区域和JAVA的内存模型与线程两个大模块罗列完全。《Netty实战》（推荐，豆瓣评分7.8，92人评价）：内容很细，如果想学Netty的话，推荐阅读这本书！《从Paxos到Zookeeper》（推荐，豆瓣评分7.8，0.3K人评价）：简要介绍几种典型的分布式一致性协议，以及解决分布式一致性问题的思路，其中重点讲解了Paxos和ZAB协议。同时，本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper，并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧，旨在帮助读者全面了解ZooKeeper，并更好地使用和运维ZooKeeper。JavaWeb相关《深入分析JavaWeb技术内幕》：感觉还行，涉及的东西也蛮多。《Spring实战（第4版）》（推荐，豆瓣评分8.3，0.3K+人评价）：不建议当做入门书籍读，入门的话可以找点国人的书或者视频看。这本定位就相当于是关于Spring的新华字典，只有一些基本概念的介绍和示例，涵盖了Spring的各个方面，但都不够深入。就像作者在最后一页写的那样：“学习Spring，这才刚刚开始”。《JavaWeb整合开发王者归来》（已过时）：当时刚开始学的时候就是开的这本书，基本上是完完整整的看完了。不过，我不是很推荐大家看。这本书比较老了，里面很多东西都已经算是过时了。不过，这本书的一个很大优点是：基础知识点概括全面。《Redis实战》：如果你想了解Redis的一些概念性知识的话，这本书真的非常不错。《Redis设计与实现》（推荐，豆瓣评分8.5，0.5K+人评价）《深入剖析Tomcat》（推荐，豆瓣评分8.4，0.2K+人评价）：本书深入剖析Tomcat4和Tomcat5中的每个组件，并揭示其内部工作原理。通过学习本书，你将可以自行开发Tomcat组件，或者扩展已有的组件。读完这本书，基本可以摆脱背诵面试题的尴尬。《高性能MySQL》（推荐，豆瓣评分9.3，0.4K+人评价）：mysql领域的经典之作，拥有广泛的影响力。不但适合数据库管理员（dba）阅读，也适合开发人员参考学习。不管是数据库新手还是专家，相信都能从本书有所收获。深入理解Nginx（第2版）：作者讲的非常细致，注释都写的都很工整，对于Nginx的开发人员非常有帮助。优点是细致，缺点是过于细致，到处都是代码片段，缺少一些抽象。《RabbitMQ实战指南》：《RabbitMQ实战指南》从消息中间件的概念和RabbitMQ的历史切入，主要阐述RabbitMQ的安装、使用、配置、管理、运维、原理、扩展等方面的细节。如果你想浅尝RabbitMQ的使用，这本书是你最好的选择；如果你想深入RabbitMQ的原理，这本书也是你最好的选择；总之，如果你想玩转RabbitMQ，这本书一定是最值得看的书之一《SpringCloud微服务实战》：从时下流行的微服务架构概念出发，详细介绍了SpringCloud针对微服务架构中几大核心要素的解决方案和基础组件。对于各个组件的介绍，《SpringCloud微服务实战》主要以示例与源码结合的方式来帮助读者更好地理解这些组件的使用方法以及运行原理。同时，在介绍的过程中，还包含了作者在实践中所遇到的一些问题和解决思路，可供读者在实践中作为参考。《第一本Docker书》：Docker入门书籍！操作系统《鸟哥的Linux私房菜》（推荐，，豆瓣评分9.1，0.3K+人评价）：本书是最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇》的最新版，全面而详细地介绍了Linux操作系统。全书分为5个部分：第一部分着重说明Linux的起源及功能，如何规划和安装Linux主机；第二部分介绍Linux的文件系统、文件、目录与磁盘的管理；第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本，另外还介绍了文字编辑器vi和vim的使用方法；第四部分介绍了对于系统安全非常重要的Linux账号的管理，以及主机系统与程序的管理，如查看进程、任务分配和作业管理；第五部分介绍了系统管理员(root)的管理事项，如了解系统运行状况、系统服务，针对登录文件进行解析，对系统进行备份以及核心的管理等。架构相关《大型网站技术架构：核心原理与案例分析+李智慧》（推荐）:这本书我读过，基本不需要你有什么基础啊~读起来特别轻松，但是却可以学到很多东西，非常推荐了。另外我写过这本书的思维导图，关注我的微信公众号：“Java面试通关手册”回复“大型网站技术架构”即可领取思维导图。《亿级流量网站架构核心技术》（推荐）：一书总结并梳理了亿级流量网站高可用和高并发原则，通过实例详细介绍了如何落地这些原则。本书分为四部分：概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩容、队列等多方面详细介绍了亿级流量网站的架构核心技术，让读者看后能快速运用到实践项目中。《架构解密从分布式到微服务（Leaderus著）》：很一般的书籍，我就是当做课后图书来阅读的。代码优化《重构_改善既有代码的设计》（推荐）：豆瓣9.1分，重构书籍的开山鼻祖。与我交流大家如果想与我交流，可以关注我的公众号“JavaGuide”,微信搜索“Java面试通关手册”第一个就是我!公众号有我的联系方式以及上面提到的一些资源和其他没有提到的Java学习必备的资源。笔主2019毕业生，非982、211学生，在2019年秋招末尾获得了ThoughtWorks武汉office的offer。不能说自己很有经验，但是如果你有学习方向或者Java面试方面的问题欢迎来咨询，我一定会认真帮你解答。另外，我自己也整理很多非常不错的学习资源以及一些Java面经，可能是你学习Java最好的帮助。这些资源我就不在这里分享了，任何问题可以关注我的公众号（也算是推广一下自己优质的公众号了，哈哈）或者加我的微信联系。我的联系方式在下面链接中关于个人[Snailclimb的个人博客]​snailclimb.top文中提到的一些常用的资源都放在了我的公众号上，回复关键字“1”即可免费领取，无任何套路。如下：