首页技术java自学 java学起来困难吗

java自学 java学起来困难吗

编程之家2024-05-30129次浏览

一、怎样学习Java

学习计划

java自学 java学起来困难吗

首先,我把Java系统学习分成两个阶段。

第一阶段:建立完整的的技术栈,成为一个有富于生产力的高级软件工程师。

在这个阶段要掌握一系列的基础知识和工具。这些东西前后关联,所以学习过程成线性顺序,要从上往下进行。

下面是第一阶段的学习路线:

第二阶段:这个阶段的目标是成为Java技术专家、架构师,因此必须在上一阶段的技术上,往高处(例如设计模式、大数据)走,往深处(Spring源码、Java虚拟机)走。

这个阶段的知识,并不存在前后的关联。在完成第一阶段的学习之后,完全看工作的需要,以及个人的兴趣,安排学习的优先级。

java自学 java学起来困难吗

下面是第二阶段的学习目标:

接下来,我就点一下这个学习计划中的“关键点”。

Servlet

要成为一个优秀的Javaweb专家。无论是你用SpringMVC实现的普通REST接口,还是微服务。往深地走,都要深刻理解Servlet以及容器(例如Tomcat).

因此,在深度学习微服务,以及SpringMVC之前,一定要把Servlet学精,因为他是整个Javaweb的基石。所以,在成为软件专家的路上,Servlet是最基本的垫脚石,务必重视。

SQL

java自学 java学起来困难吗

在我作为程序员入行的时候,没少在SQL语言下功夫,尤其是在SQL语言优化方面,包括在存储过程中各种折腾。

但现在,SQL优化在开发过程中的优先级显著降低,有几个原因:

各种ORmap框架(例如Hibernate、Mybatis)的出现,使SQL的工作量大大降低。各种ORmap框架本身也会对编写的、自动生成的SQL进行优化。当前的服务器架构,如果要提高性能,首先应该考虑架构的横向扩展性,而不是在SQL上进行极端优化。

但现在也不是说可以完全“任性”地编写SQL。只是说对于程序员,只要掌握最常见的SQL优化原则,做到工整就够了。

缓存、队列

缓存,队列。业界都有了较成熟的方案,例如Redis,ActiveMQ等。在学习的过程中,第一步是掌握核心概念,以及他们要解决的问题。然后就要亲自安装,使用这些软件,建立感性的认识。

其次就是在掌握核心概念的基础上,掌握这些开源软件的JavaAPI,然后试着在此基础上,编写典型的Demo,从而在Java语言层面上彻底掌握。

至于有些朋友提到的把概念再“实现一遍”。不知道朋友指的是使用API,还是把缓存和队列软件,用Java语言实现一下。如果是后者,不是说不可以,关键是太费时间。同时,就业界实践来说,不是特别必要。如果你真有兴趣,把优先级放低一点,作为一个更长期的目标。

Linux

这个学习计划是一个长期的,深入的学习计划。最终是要成长为技术专家、或架构师。那么有必要适时的掌握下Linux。因为在实践中,服务器往往委托于Linux服务器。而且将来,还有不少开源软件只能在linux上运行。

因此,在开始学习缓存和队列前,需要先掌握了Linux的基本用法。然后再学习的过程中,就把这些开源软件在Linux上运行。

这样,在你学习Java的过程中,顺便也把Linux学习了,这远比你将来单独学习Linux要有趣,印象要深刻。

微服务

微服务并不是一门具体的技术,而是一个设计理念,很多语言和框架都可以实现,例如Java中的SpringMVC等。

因此,如果已经掌握了SpringMVC、Springboot。那么对微服务的掌握是水到渠成的事情。你要做的就是注意力放在微服务的应用场景上。

设计模式

设计模式是较为靠上的东西。如果Java基础不是太好的话,很容易陷入空泛,眼高手低。

如果你的Java基础太薄弱,例如没有掌握“抽象类”。那么我建议你先把设计模式学习停一下,先把Java的基础知识补充下,至少要学完《Java核心技术》第六章,也就是掌握完整的现象对象的概念。然后再回来学习设计模式。

在学习设计模式的时候,一定要动手。最起码要把书中列举的设计模式,用Java语言实现一下。如果你阅读时是经典的GOF《设计模式》,其中的代码(用C++描述),就不容易用Java实现。建议你可以参照《HeadFirst设计模式》,其中的demo都是短小精悍,很适合用Java来实现。

这样,一则有利于理解设计模式。二则在学习设计模式的过程中,也进一步增强对Java基础知识的掌握。这种学习过程是一个相互促进的过程。

学习笔记很重要

特别重要的一点,学习的过程中,尽量的写学习笔记,其中包括难点和重点。

因为,系统深入的学习Java必然是一个长期的,综合的过程。到后期,一定会出现学着后面,忘了前面。如果你没有学习笔记,又没有实践中积累的代码,那么就会出现边学边忘的情况。

而有了学习笔记,可以给自己的学习留下了“踪迹”,以后复习的时候用来参考,很快就能把早前学习的记忆“唤醒”。

而且,这些学习笔记在后来的工作中,还能成为自己的参考手册,随用随查。

还有,那就是学习笔记还是一个特别好的面试宝典。因为既然你记下了笔记,这些东西往往经过你深度思考,深度消化的东西,也是你区别于其他工程师的卓越之处。

此回答转自乐字节

二、如何系统地自学Java

一、JavaSE基础篇

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

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

二、数据库篇

数据库是学习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,但是前端却可以完全不关心服务器后台的任何实现。

JavaEE内容:Servlet/JSP

虽然现在网上在传JSP很少用了,可能是被一些模板或JSAJAX方式代替了一些,但是我认为还是应该接触一下,万一要用到不会怎么办,而且它是JavaEE的动态网页实现标准组件。学习JSP过程也能更好的帮助我们理解web会话的过程,掌握web会话都有哪些我们必需知道的。如果学习Javaweb、JSP都不接触那就相当于学习使用Springboot而一点不接触SpringFramework一样,岂不是稀里糊涂。包括开发Javaweb我们必需知道的概念诸如Web应用上下文,请求对象,响应对象,HttpSession,Cookie等都是在接触学习JSP和Servelt中体现的,还有一些比较少见的EJBJSFJMS以及JavaFelix等。

一些初学者不清楚这些难免会有误区,尤其是有些较成熟的工程师也这么说,我只能说他们很无知,只是代码机器而已,其实对于应用开发设计也就稀里糊涂,人云亦云罢了。

永远没有被淘汰的技术也没有永远流行万能的技术,要看在什么环境和场合应用,符合我需求的技术和工具就是好的,就是对的。

四、高级框架

1、Springframework核心IOC容器

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

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

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

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

三、java入门需要多久

初学一门编程语言,如果可以用一种比较有趣的方式来入门的话,可以减少很多的问题,提升成就感,快速入门;

学习Java的时候,看的是“如鹏网”的《这样学Java不枯燥》视频教程,挺好玩的,课程体系的设置可以极大的激发对编程的兴趣,通过开发超级玛丽,飞机大战,吃金币,连连看,汤姆猫,电影的弹幕动画等来讲解Java的知识点,没想到Java还可以这么学,适合初学者学习;

有详细的课程体系,学习路线,可以参考一下;

第一部分:Java语言基础

第二部分:Java高级技术

第三部分:web前端

第四部分:Javaweb编程(核心阶段)

第五部分:企业框架

第六部分:项目阶段

第七部分:企业专题

有网络的地方就可以学习,根据自己的时间来灵活安排学习进度,有更多的时间来练习项目,夯实基础,掌握的更好;

有问题随时提问,老师实时在线答疑,每个章节的后面都有相应的练习题和面试口才题,需要以录音的方式进行提交,直到通过为止,为以后的面试做充分的准备,毕业前,会有专门的老师从写简历,投简历,模拟面试,就业,薪资洽谈等方面进行全方位的指导;

有新的课程更新了,也是可以继续申请了来学习的,口碑不错,基本上都是慕名而去的,拿着薪资上大学,具体的可以到如鹏网官网上去了解一下;

电视信号分配器(电视信号分配器有什么作用)5233刷机(诺基亚5233刷机教程需要注意哪些问题)