想要自学JAVA,应该如何入门?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想要自学JAVA,应该如何入门?相关的知识,希望对你有一定的参考价值。

全面系统的Java内容如下:

一、JavaSE基础篇

JavaSE就是一种标准版,是Java语言的基础部分,Java衍生出来的各种框架(如Spring系列)各种产品都是基于JavaSE标准,JavaSE是Java向上发展的基础,Java任何高级产品的底层基础都是JavaSE,通俗来讲这是所有孩子的”爹“。JavaSE如果学不好,理解不透彻,后面学习框架时就有如天书一般,所以JavaSE这部分的重要性是不言而喻的,希望各位初学者铭记。

主要包含内容:数据类型、基础语法、运算符、流程控制、数组、面向对象、常用类、异常处理、集合、IO流、多线程、反射、注解、解析、网络编程。

PS:JavaSE的内容非常庞大,任何一套JavaSE教程都不会把所有的方法讲一遍,只会挑平时工作中常用的内容来讲解,所以JavaSE里面的内容很多都是课后自己在API文档中慢慢宽咐了解的,你自己一定要学会主动学习,不能坐以待毙。

推荐学习书籍:Java核心技术

二、数据库篇

数据库是学习Java语言必学的一项内容,常见的数据库就是mysql和Oracle这两种,作为初学者一般都是学习MySQL为主,一般情况下中小型企业都会选择MySQL数据库,比较大型的互联网公司会选择用Oracle,而学习Oracle相对于MySQL也要复杂一庆乎些,建议是主要学习MySQL数据库,Oracle作为了解即可。学习数据库较为简单,基本的操作就是增删改查。

三、Web开发

Web前端内容:html/CSS/javascript/(前端页面)

注意:Java后端开发可以不用过多关注HTML页面及CSS的处理,但是最起码要会用简单的HTML,JavaScript是必须要会的,因为Javaweb后端程序员毕竟要接触使用AJAX方式处理数据及显示。当然如果只关注服务器端实现而不考虑任何用户界面,则HTML、CSS、JavaScript都不用关注,但是完全脱离前端的开发现在虽然也不少,但是绝对不关心前端是不可能,尤其是JavaScript,但是前端却可以完全不关心服务器后台的任何实现。

推荐学习书籍:《JavaScript DOM编程艺术》(第二版)

四、高级框架

1、Springframework 核心IOC容器

2、Spring boot 在Spring基础上的更全面提升效率的Spring工具

3、ORM 框架当今流行使用较多的是Mybatis 和 MP(Mybatis插件),Hibernate是可选性学习的

4、模板技术,比较成熟的Freemarker

5、Spring Cloud 微服务框架,Spring Cloud提供的全套的分布式系统解决方案。

五、工具

maven 是构建管理项目的工具,svn 和git是团队协作开发的项目源代码及相关文档资料管理工具,需要学习者初步掌握其应用。

像Tomcat,jetty ,resin,JBoss,GlassFish 等都是部署运行Java web应用的服务器。

以上就是初学者大概学习的内容,我是尽量站在初学者的角度来说的,没有写得特别复杂,怕初学者看不懂,没有实质性的帮助。所以我尽量用白话把话说的简单一些,给大家罗列出主要学习的Java知识点。

Java学到什么程度才能达到就业的水平?

不同的软件公司对研发人员的水平要求存在一定的差异,如果从大多数中小型企业来看能接受一个入职到本企业的IT技术人员通常需要具备以下能力。

1 理解掌握Java核心面向对象的设计思想和代码构建,能以面向对象方式设计编写业务功能;

2 熟练掌握至少两种数据库的开发,如Oracle,mySql,能熟练编写基本常用及高级的SQL语句;

3 必需掌握并熟练应用Springframework IOC容器,深入了解IOC及AOP概念并应用,使用MVC实现对web 请求做出处理;

4 熟练掌握Java处理数据库的ORM框架myBatis,JDBCTemplate,对Hibernate也应有所了解;

5 熟练应用Spring 增强工具集合Spring boot;

6 至少熟练使用Eclipse及IDEA集成开发工具构建应用程序;

7 能够基本掌握MVN GIT Maven 在项目中的使用;

8 前端开发必需掌握JavaScript和常用的JS框架

以上这些都是中小型软件企业的入职基本要求,如果你能够达到这个水平,找到一份Java工作应该是不难的。

推荐的学习方式:系统视频教程+书籍辅助+有人指导

视频教程:对于Java初学者来说,看视频学习也是最普通的方式,视频教程会把工作中常用的知识进行讲解,而且视频一般都是分章分节,每一个小节都只讲一个知识点,学习起来较为明确。但是视频教程尽量要完整,最好是一整套视频学习。

书籍辅助:书籍便于对理论知识的补充,以便更容易理解Java面向对象核心设计理念和代码实践功能。

PS:但是大部分人都没有耐心看不下去书,所以大部分人都是只看视频教程学习。如果自己能看的下去就看,看不下去就不看。

有人指导:大部分人都不可能全靠自己的能力把Java学的特别好,因为你不了解这个行业,也不知道怎么学,完全零基础自学Java想要找到工作,概率极低。所以建议如果真的想要做这行,尽量找人去带带你,有不懂的问题可以直接请教,少走弯路,提高效率。学习的质量决定以后工作的薪资以及起点,所以还是应该重视起来。

项目的重要性

很多Java初学者看完一些视频,学过一段时间就说自己“会了”。这里我需要给大家纠正一个问题,希望每个学习Java的知友都能明确学习编程的中心是什么。

其实在我看来,学习编程从来都不存在会不会这样的说法。学习编程不同于初中学的数学、物理、化学,记住一些公式,做同样一种类型的习题,就证明类似的题型你会做了。

编程只讲技术能力是什么水平、什么级别的,最能证明技术水平处在什么阶段的,就是在做项目的过程中,研发好的互联网产品,写代码的质量怎么样,排错能力怎么样,找BUG的能力怎么样,构思功能模块整体布局的能力怎么样等等。

做作为初学者想要达到入门的水平,就是自己具备了一些简单项目的编码能力,初学者最重要的一点就是培养自己的编程思维,每一个程序都是不一样的,你不可能都背下来,学编程也不是靠死记硬背的,你只有能去独立编码写一些东西的时候,才有就业的机会。

所以做项目的能力才能去衡量一个学习的水平处在什么阶段,而往往那些嘴上说“会了”的人,往往没写过多少代码,也一个项目做不了出来,这就是纸上谈兵,完全曲解了学习编程到底在学什么,也不知道应该往哪里去。

所以一个Java初学者在学习的整体过程中,必须要有两个能拿得出手,能写在简历上的项目作为找工作的资本,并且要对于这两个项目的前前后后相当了解,才可能最后面试成功,一个初学者在学习完Java所有内容后,如若还达不到可以做简单项目的水平,那么他整个学习过程还是白费,没有达到最终的学习目的,就是学习质量不过关。所以项目的重要性希望大家都明确,因为有太多Java初学者不知道最后学习的目的是什么,最后白白的浪费时间。

学习心态:

学习编程一定不是一个简单的事情,换句话说它还是挺困难的,毕竟能出去找到工作,就是少则五六千,多则上万的工种。这些知识都不是随随便便就是任何一个人都能学会的。关于这个学习心态,希望提示大家要把重心放到“学习”这件事上,因为我发现有很多Java初学者都是像“完成任务”一样去学习,所谓完成任务就是“我把这些视频看完就能找到工作吗”“我把这些都学完就能找到工作吗”学完并不等于“学会”,这是两种不同的概念。

你到底理没理解?

你到底能不能应用起来?

你到底用没用心?

你自己应该是最清楚的,我发现那些把学习当做完成任务一样去对待的,这样的人没有一个是有耐心的,自己在心里欺骗自己“把这些视频看完我就能找到工作”,到了最后自己就逐渐明白,完全是自欺欺人,最后放弃说自己不适合学这个。其实揭开这些人的面具真相就一个:他们没有耐心学习,也不喜欢学习,这是以前经历造成的,是多年的习惯导致的。

所以正确的学习心态一定是把关注点放到学习这件事本身,你要学会这些知识,这些内容,这些技术,这是需要一天一天逐渐积累起来的,并不是短时间就可以达到什么结果。

PS:如果你对于学习没什么耐心,没什么兴趣,我劝你不要来学习编程,学习编程绝对是一个耐心的活,也是需要不断学习和充电的行业。或者说已经到了信息时代,不爱学习的人,很难有耐心去学习知识的人,在信息时代是混不下去的,任何行业都是如此,不学习不进步不紧贴时代的人就一定会被淘汰。

最终自学Java能就业的人基本具备以下几点:

1、有超强的学习耐心及进取心

2、手不懒,代码写的足够多,熟能生巧

3、有一定的学习能力,善于自学善于自己解决问题

4、可以独立写一些简单的项目

参考技术A

自学java怎么算入门? 衡量标准是什么?

我从个人角度分为三个阶梯: 初学,入门,高手

第一: 初学   (理论知识阶段)

很多同学刚刚入门学习java,看书,或者看视频。这个阶段是积累理论知识的时候,相对比较容易,一个小知识点,信息量少,跟着老师的思路走就可以。

在这个阶段,很多同学学得很快,感觉编程好简单。

随着学习的深入,大多数同学会产生混乱。 为什么? 所有的技术背后都有原理,前面都有应用场景,不同应用场景有不同使用方法。 信息量逐级增加。

信息量逐级增大后,会有什么问题?

    学到后面忘记前面。

    新技术不断出现,感觉永远学不完。 丧失兴趣或信心。

理论知识阶段,更重要的是理解原理和规律, 知识点的细节记不住可后面查找。学习方法更重要的是 交流讨论,理解和总结。 多问为什么是关键!

第二: 入门  (熟练度)

一个项目从0到1的过程才是最宝贵的,也是初学者提升最大的部分。 但从书本或者视频中,很难学习这个过程。

技术的应用能力换句话说是 技术的分解排序能力, 当遇到一个需求,该如下实现?

基本的思路是 把需求分解成原子操作。 原子操作代表开发当中的基本操作,也就是在知识点当中学到的,比如数据库操作,sql,框架的基本使用等等。

如果能把需求分解为原子操作序列,开发完成只是时间快慢的问题。往往刚刚开始学习编程的同学,不善于或者懒得去思考。毕竟看视频是被动的,分析问题是主动思考。学习只是看看视频,本质上是思考的懒惰

所以需要找大量的练习和项目案例进行实践!!!

第三:  高手(业务和性能)

程序员是把理论知识组合应用起来解决用户的问题。(或者提高用户的效率)

第三个等级的知识更加多元化,不同行业涉及不同的领域知识,信息量也是增大。

    业务解决用户的问题,可以赚钱。

    性能用最小的资源,解决用户的问题,可以省钱。

所以在企业开发中,需要考虑更多和成本,时间,用户等相关的问题。

总结:  掌握理论知识后,需要大量的代码去实践,才算入门。

分享下我们的学习路线,供你参考一下!

希望能帮到你,望采纳!

参考技术B Java自学的顺序首先是javaSE:基础语法、递归、面向对象来、异常处理、数组、常用类、IO、线程、网络编程基本的章节顺序就是这样的。学好了javaSE就是java基础的一些东西之后,有两个方向,JavaEE(某宝京东等)与android(移动APP,近期Android需求没那么大自了)。如果是百JavaEE方向,就可以学习JavaWeb了,包含(HTML、CSS、servlet、jsp等),Web后可以做个web项目。之前都是为后面框架打基础,值后就会学习各种框架(如:Spring、SpringMVC、Mybatics简称SSM等)。当框架学完后,这个时候会发现度很得心应手。而在自学java过程一定要理论结合实践,多操作,在实践中才能发现问题问,解决问题,这样才能提高。
一、找一本好教材
好的教材,可以让你更快更好的进入Java的世界。在校学生的话,你们的教材通常都是不错的也可以到网上或书店选择合适的教材。
推荐java初级的书
1《Head First Java》
Head First系列的教材,看起来都特别轻松,图文并茂,简单易懂,适合初学者选择。
2《java从入门到精通》(第3版)
本书内容详尽,实例丰富,非常适合作为编程初学者的学习用书
3《java核心技术卷一》
本书出版以来,深受广大读者的喜爱,它全面介绍了Java SE的基础知识,不但具有使用价值,而且易于阅读,易理解,它必成为想进军Java和基础薄弱同学的不二之选。
4.《java编程语言》
本书介绍的是Java语言的最新版本,该版本在《Java Language Specification,Second Edition》中定义,在Java2SDK1.3标准版中实现。本书已是第三版,在经构上相对前两版有所调整,重点讲述了新的语言特征,并提供了新API的使用实例。本书完全覆盖了Java语言当前版本的特征和类库,可以作为Java语言的入门向导,也可作为高级Java开发及Java语言教学的参考用书。

二、学好基本语法
学习Java,说白了,就是学习它的语法、功能、结构等。然后按照它的语法编写代码。Java语法是学习的根本。开始学习时,可能有些难懂。没关系,这很正常。多看多问,多实践,慢慢的你就入门了。
三、多动手实践
学习Java,和学数学一样,在学懂理论后,一定要实践。学习Java不能搭便车。有时候,语法和例子很简单,很容易看懂,但到自己动手写的时候,又是另一种感觉。只有多动手编程,哪怕是简单的小程序,重复实现书上简单的例子,也是在积累和提高。动手编码离不开编程工具的支持。
四、多看别人的代码
对同一种功能的实现,可以有很多种编码方式。多读别人的代码,非常有利用开拓思路,提高编码的灵活性。甚至经常可以从别人的代码中得到启发,产生灵感,创作出优秀的代码。
五、掌握常用的几种设计模式
设计模式就是高手们总结的一些关于编程方法的总结。非常的有用。学习设计模式,可以提高我们编程的灵活度以及设计的合理性。不仅 Java,其他编程语言,如C#、C++中,设计模式也在大行其道。所以,你没有理由错过高手们总结的编程精华。 多学习,多交流
这对提高你的Java非常有帮助。个人的智慧是有限的。如果你汇集了众多高手们的编程经验,那么你的大师之路必将走的更顺利哦。
坚持是制胜法宝
Java的学习,容易入门,却难以精通。永远不要因为害怕困难,而减少你对它的兴趣。每年都有很多人在学习Java,因为它很强大。如果你能坚持下去,那么你也是强大的。
如果你依然觉得自学是一件很难的事情,需要耗费你大量的精力,你急需找到一个更轻易高效的学习方法,那么参加培训是你最好的选择。
学习java最重要的是有一个完整的学习路线图和全套的学习资料,如果没有一个完整的学习路线图的话你学习起来是非常笼统的,毕竟你该学什么知识点不该学什么知识点这你都是不知道的。当然另一个重要的点就是视频教程,视频教程好不好也关乎着你能不能学的好java。
参考技术C 1、 java语法。
通过任何一本Java入门书籍,都可以学会Java的基本语法。千万不要认为,你把书上的例子程序都能写出来就算学会了Java语法。要想真正掌握,还需要做大量的测试题。对语法不准确的理解,会使你写的代码出现逻辑错误。而这些错误会使你在真正的项目开发中吃尽苦头:你认为正确才会写上去。而在几十万行代码中找出几行有逻辑错误的代码,非常困难。因为你几乎不会怀疑你认为正确的代码存在错误。
2、 常用类。
永远不要写别人已经实现的代码。有很多功能,用JDK中现有的类就可以完成。你需要熟悉JDK.可以通过研究JDK帮助文档和JDK源代码的方式,逐渐了解,你需要的类都在什么地方。一方面,要熟悉有哪些可以直接使用的资源,另一方面,学习一下,SUN公司的工程师怎样写代码。
3、 IDE 集成开发环境。
现在企业最常用的是IBM公司的eclipse ,类似的还有JBuilder 、Idea,NetBeans等等。毕竟,只有5%的顶尖高手在使用简单的文本编辑器在写Java代码。多数程序员都是在使用这些东西。
4、 数据库。
MySql,Oracle,DB2.小项目多数使用MySql这样的免费数据库。大一些的项目会考虑使用Oracle或者DB2. Java项目很少使用SqlServer。因此,你还需要学习数据库方面的一些知识。可以从SQL语言开始。这些数据库都支持标准SQL.学会基本的SQL,参考具体的数据库手册,就可以完成一般的项目开发了。当然,要想使你的程序运行的效率更高,需要更深入的学习。大部分的程序优化,都是从这部分开始的。
参考技术D 第一阶段:JavaSE基础
Java入门基础必须学习的一些技术要点有:
Java基础语法、面向对象、核心类库、集合、IO流、多线程、并发、异常、网络
编程、反射、JDK新特性等。
基础很重要,所以开始一定要把每个技术要点都学懂学通,后面才能编写程序功
能,进行做项目开发。
第二阶段:数据库
互联网最具价值的是数据,任何编程语言都需要解决数据存储问题,而数据存储
的关键是数据库。目前企业应用最多的数据库是MySQL和Oracle,我们可以先
学比较简单的MySQL数据库基础操作。
这里主要先学习数据库的基本操作如:创建数据库,对数据库进行增、删、改、
查等操作,删除数据库等。
Java程序和数据库通信的最常见技术是JDBC,所以想要程序能和数据库进行通
信,JDBC技术也是必须要学的。
第三阶段:JavaWeb开发
Java语言最主要的用途之一就是开发网站,所以Web前端网页技术也是必须要
学习的,其中要学的前端知识点有:
HTML5、CSS3、JavaScript、Servlet、JSP、AJAX、jQuery、Bootstrap等。
第四阶段:Java框架
框架技术是实际项目开发中非常重要的一环,它可以帮助我们减少代码冗余,提
高程序运行速度,便于维护,规范编程。目前Java主流框架应用主要有以下这些:
Maven、Spring、SpringMVC、MyBatis、Hibernate、WebService、SVN、
Activiti。
关于框架我们可以先学习Spring、SpringMVC、MyBatis这三种基础框架,
Maven的功能属于项目构建管理也是必须要学习的。学完上述这四个阶段就可以
尝试自己做项目了,项目是最主要的,找工作时候一般都要有项目经验,做项目
的同时,还可以实际应用,并且复习一遍之前学过的所有技术要点。

自学Java应该怎么入门?

此篇文章主要涉及到:

Java从入门到进阶需要经历哪些
如何学习Java入门
还没开始实践就有一堆烦恼,该怎么办?
自学Java应该怎么入门?
第一个呢就是Java学习路线是什么,Java各个阶段需要学的知识点有什么,课程大纲,就是和课本上似的都有目录包含了所有的哪些知识点Java,从基础到入门再到精通应该如何学?先学什么知识点再学什么?包含了什么知识体系Java里,辛苦你能不能和我仔细说说呢

答:

Java 现在主要是作为后端应用在发展,尤其是他的微服务领域。很多国内外知名的大厂在广泛使用 Java,甚至有人认为,在微服务领域 Java目前还是王者。

所以,我们学习 Java 的更进一步的目标就是把自己培养成微服务的人才。

Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 OOP 特性:封装、继承、多态。

关于基础知识学习
学习基础知识,就是让你对Java语言有一个初步的了解。话又说回来,基础知识是学习一门编程语言的必备条件,而且大部分语言的基础知识都是大同小异,包含基本的数据类型以及基本的面向对象知识,面向对象是重中之重,只有掌握面向对象的知识,在后续的开发中才会有更好的成长。

基础知识包括(这部分主要参考《Java核心技术卷》):

基本程序结构:基本变量类型、运算符、字符串、流程控制、数组
类与对象:类的定义和使用、静态属性和方法、继承、包管理、枚举、反射
接口和抽象类:接口的定义及实现、抽象类的定义及实现
泛型:泛型类、泛型方法
集合:集合接口、列表、Map、树、排序和查找
异常与调试:内置异常、声明异常、自定义异常、捕获异常、日志
多线程:多线程概念、使用线程、同步

关于 Spring 等学习
有了第一部分的基础知识,那我们第二步就是直奔主题。在领域里,Spring就是需要学习的利器。下面是掌握 Spring 相关,需要掌握的知识(可能不止,也可能有遗漏,后续可以再补充)

Maven:Maven与包管理、POM文件、生命周期等
Spring Core:依赖注入与控制反转、Spring概述、Spring容器与生命周期、自动装配、注解装配、切面编程(AOP)
HTTP协议
JSON知识
Servlet概念
Spring MVC概念:配置Spring MVC、参数传递、实现REST、权限控制等
RPC框架
RESTFul
关于Spring的学习资料,推荐《Spring实战》,之前跃哥的朋友有从我这里拿走奖励,口碑还是不错滴

关于应用中间件的学习
中间件涵盖的领域比较多,包括持久化、缓存、队列、反向代理等,这些是完善一个程序的重中之重。前面的那几个知识属于基础框架,那么中间件就是给框架里填充一些增强的部分,让程序健壮稳定。

主要包括但不限于

MySQL:关系型数据库概念,数据库的CRUD操作
MyBatis:OR映射概念,配置,映射,基本Java库,和Spring集成
Redis缓存:缓存概念、Redis的使用
NoSQL:NoSQL概念,Mongodb的使用
队列:队列概念,RabbitMQ、Kafka
反向代理:反向代理概念,Nginx的配置和使用
Linux:远程连接Linux,Linux的常用命令
其他补充
这部分和非技术相关,但是在往后的项目使用中,是肯定需要用到的,属于神兵利器吧。

开发工具:IDEA、Eclipse、VS Code
版本控制工具:Git、SVN
Docker容器:环境部署
大体上就分为上面的三个部分,但是每个部分都有很多小的部分,基础知识最容易,也是重中之重,因为后面所有的代码编写,没有基础知识,一些都执行不了。

自学Java应该怎么入门?
第二个就是学习方法没有找到,不知怎么学,什么方法学起来很容易还不会忘记也不会不想学,我现在真的很迷茫,想学但是不知道该怎么学,特别是在你说的多实践敲代码问题上也就是第三点敲代码

我现在的顾虑就是不知道该怎么去灵活地敲代码,还有怎么才能做到编写代码很准确速度提上来呢现在吧脑子里还没有学究一想编写代码就无所适从,不知该怎么敲,心里就是觉得敲代码很困难,无法下手去敲,更别说多去实践了

还有就是在敲代码问题上如何才能按照给出的题意或者产品开发旨意编写出代码来呢?问这个就是我现在感觉这个很困难,之前在学校刚学c的时候根据课本源代码敲都敲错了,更别说布置的根据意思敲我直接不会,一想到这个我真的怕了所以才问自己适不适合,辛苦你了哥希望能给我仔细跟我说说

答:

Java开发也好,C语言也罢,还是其他的语言学习,都是需要实践的;这个你就把自己当成一名技术工人,泥瓦工也是经过千锤百炼才能造房子;包装工也是经历过千万次的包装才能做到得心应手;语言组织也是如此,作文就是一字一句积累起来的。

编程是一门技术活,不是靠单纯的体力活动能胜任的,所以想提升能力方面这个无他,唯有熟能生巧。写代码这个要求太低了,还远远不够,我们还是想让自己更加优秀,那就需要做更多的努力

我经常和群友说,编程到最后并不是写代码,写代码是最最容易的事情。在写代码之前,还有需求分析,技术选型(选数据库,选中间件等),架构设计,流程设计,算法选择,这些都完成了,那你把这些转换成代码就是水到渠成。

我是一名多年开发经验的老程序员。如果大家对于学习Java有任何的问题,关于如何提升学习Java以及学习方法、学习技巧、快速达到就业的技术水平,都可以随时来问我,这是我建立了5年的Java学习交流QQ群:634930465。
有不懂的问题可以随时在里面问,需要Java各个阶段的学习资料也可以在里面进行下载。关于前端和Python的问题也可以问,我都懂。

这里只是给出一个最终的目标,针对初学者,一开始不能好高骛远,也不能被困难所吓倒。我上面给了学习路线,你看明白了吗?所以,你现在心里有数,有没有被吓到,如果没有,那么请你仔细阅读《Java核心技术卷1》,把上面的基础知识都先掌握,出现的代码都在编译器上实践,一行一行编写,理解他。如果已经被打倒,那后面就没有什么事了,好好选择一个更好的出路即可。

等基础知识都慢慢地学会,然后再去找一些小Demo,比如说实现一个计算器,就能检验你的学习成果。写代码是一个循序渐进的过程,基础先学会,逐渐就有成就感,那后面的困难就迎刃而解,否则等到后面学习算法,项目时间,困难重重。

这里再聊一点学习的方式 :

人的学习分为「被动学习」和「主动学习」两个层次

被动学习:如听讲、阅读、视听、演示,学习内容的平均留存率为 5%、10%、20% 和 30%。
主动学习:如通过讨论、实践、教授给他人,会将原来被动学习的内容留存率从 5% 提升到 50%、75% 和 90%。
这里可以理解出来,你听别人讲,或是自己看书,或是让别人演示给你,这些都不能让你真正获得学习能力,因为你是在被别人灌输,在听别人说,在看别人的成果。

只有你开始自己思考,开始自己总结和归纳,开始找人交流讨论,开始践行,并开始对外输出,你才会掌握到真正的学习能力。

学习不仅仅是为了知道,而更是为了思考和理解。在学习的过程中,我们不是为了知道某个事的表面是什么,而是要通过表象去探索其内在的本质和原理。真正的学习,从来都不是很轻松的,而是那种你知道得越多,你的问题就会越多,你的问题越多,你就会思考得越多,你思考得越多,你就会越觉得自己知道得少,于是你就会想要了解更多。如此循环,是这么一种螺旋上升上下求索的状态。

在学习的过程中,我们要不断地问自己,这个技术出现的初衷是什么?是要解决什么样的问题?为什么那个问题要用这种方法解?为什么不能用别的方法解?为什么不能简单一些?……

这些问题都会驱使你像一个侦探一样去探索背后的事实和真相,并在不断的思考中一点一点地理解整个事情的内在本质、逻辑和原理。一旦理解和掌握了这些本质的东西,你就会发现,整个复杂多变的世界在变得越来越简单。你就好像找到了所有问题的最终答案似的,一通百通了。

学习是为了改变自己的思考方式,改变自己的思维方式,改变自己与生俱来的那些垃圾和低效的算法。总之,学习让我们改变自己,行动和践行,反思和改善,从而获得成长。

总结
大家读完了这几个问答是什么感受呢?这里我简单地总结一下。

首先,就是都关心的问题,我选择了Java,那么我以后能做什么。其实Java能做得很多,只是在现阶段,我们通过编程语言排行榜也能看到,Java是稳居前三,说明它有庞大的用户群体,那么就代表着网络上有海量的 Java 学习资料,良好的社区环境,优秀的解决方案,以及超级多的框架学习,你丝毫不用担心自己找不到问题的解决方案,找不到学习的路径。

我列举了 Java 后端的学习路线,是因为现在 Java 主要在后端发挥着作用。后端 Java 一家独大,几乎大型的互联网和大厂,银行,金融体系后端都是 Java。

其次就是如何学习,我列举的 Java 学习路线也是根据后端的学习路线来,其实还有挺多没涉及到,但是给入门,是足够了。

第三,就是学习方法,怎么学。说实话,编码一直都是取决于个人的学习情况以及自律能力。很多人在学校里努力,在校招的时候就能有一个好的offer,有些在学校里没能坚持下来,可能毕业之后就放弃这条路了;还有些是一开始觉得很感兴趣,后来发现自己不适合,要么学校里选择转专业,要么出来之后转产品,转实施等也算是改行。那么,就是两个结果,用篮球季后赛的术语就是 Win or Go Home。

判断自己是否有毅力学习下来,可以参考下我在上面的建议,当然,如果小伙伴们有更好的建议,给我留言,让大家一起交流交流。

千万不要什么都没去实践,但是一直在担心担心,担心自己不能写代码。如果你不开始实践,怎么知道自己是不是适合,是不是喜欢,是不是会走这条路呢,对吧。其实我刚读大一,接触 C 语言的时候,尤其是到了指针,链表,想过放弃,但是最后我断了这个念头,我要是不写代码,我大学不是白考了,转专业?现实点,能转专业的,都是班里的女生,死磕学习成绩,名额都抢光了。那么你还能怎么办,硬着头皮继续吧。

就这样,一直到毕业,我在实验室里看着书,敲着代码,大家的暑假有两个月,我的暑假就只给自己一个月,另外一个月都在学校里渡过,就是为了让自己能不辜负父母的付出。

以上是关于想要自学JAVA,应该如何入门?的主要内容,如果未能解决你的问题,请参考以下文章

想要自学Java编程,有啥书籍推荐么?

自学Java去面试,哪种能力最重要?

我想要自学java,请教自己java的方法,实用的,非诚勿扰。

自学Java如何入门?

自学 Java 怎么入门

自学JAVA用啥书,想制定个详细学习计划