学习java难吗?一般要学多久?

如题所述

前言

回想几年前的自己,在学校里面左手稳着键盘,右手捏住鼠标,不停的动着右手的中指,一声Penta KIll把自己带入了一个虚幻的世界


日复一日,之前那个好学又勤奋的自己慢慢开始转变,从每天的外卖到内急的时候都感觉在浪费时间,此时我已经知道现在的自己已经颓废了,就这样浑浑噩噩的过了三年

直到有一天,在睡梦中听到一声尖叫“啊!!!我找到工作了!!!面试官跟我说给我6.5K的实习工资!!!啊!!!”


此时的我只能在被窝里面默默的哭泣,回想自己的三年时光,通过自己的努力上了黄金,然而这些跟室友找到工作相比,我的内心是无比的空虚、害怕

眼里已经打湿了我的枕头,擦干眼角上的泪水,用被子掩盖住泪湿了的枕头,起床洗漱,我发誓,我的人生转折点就从此刻开始,我要努力学习Java,每天必须保持6个小时的时间去学习,一定要保持自己精神状态,利用好每一分每一秒


开始整理我的学习路线,保存到我成为高级Java工程师

阶段1 java语言基础

1-1-Java基础语法

1、第1节 java运行环境

2、第2节 HelloWorld案例

3、第3节 关键字&标识符

4、第4节 常量&变量

5、第5节 数据类型转换

6、第6节 运算符

7、第7节 方法入门

8、第8节 JDK9新特性-Jshell

9、第9节 选择结构-if语句-switch语句

10、第10节 循环结构-for-while-do..while

11、第11节 开发工具-IDEA

12、第12节 方法复习

13、第13节 方法重载

14、第14节 数组


小总结:

这个阶段我花了半个月的时间去学习,也就是90个小时的时间,其中有27个小时是我用来看理论的知识,另外的63个小时是我用来给自己练手的,每一个知识点我都要做很多的题目,直到自己拿到题目的时候,能够把自己的思路转为代码实现

毫无疑问,这个阶段最耗时的自然是循环结构、选择结构,因为这两个知识点对于一个初学者来说很不友好,不仅代码量增加了,逻辑思维也是很绕的,如果不保持自己的思路清晰,你就理解不了他每一步的结果

然后就是数组,这一个阶段可以说是全新的阶段,我们可以把我们需要的数据都保存在数组里面,在这个知识点结束之后我还做了一个数组版的学生管理系统

1-2 -面向对象和封装

1、1_2_1_01_面向对象思想的概述

2、1_2_1_02_面向对象思想的举例

3、1_2_1_03_类和对象的关系

4、1_2_1_04_类的定义

5、1_2_1_05_对象的创建及其使用

6、1_2_1_06_手机类练习

7、1_2_1_07_一个对象的内存图

8、1_2_1_08_两个对象使用同一个方法的内存

9、1_2_1_09_两个引用指向同一个对象的

10、1_2_1_10_使用对象类型作为方法的参

11、1_2_1_11_使用对象类型作为方法的返

12、1_2_1_12_成员变量和局部变量的区别

13、1_2_1_13_面向对象三大特征之封装性

14、1_2_1_14_private关键字的作用及使用

15、1_2_1_15_练习使用private关键字定义

16、1_2_1_16_this关键字的作用

17、1_2_1_17_构造方法

18、1_2_1_18_定义一个标准的类

小总结:

这一个阶段花的时间足足有一个月,时间的分配也是按照30%的时间去看理论,70%的时间去动手敲代码

我觉得这个阶段每一个知识点都是特别的重要,在这个阶段我学会了什么是对象,学会了如何面向对象编程,也学会了如何使用对象编程去偷懒,把重复的事情都封装成了一个对象,交给这个对象去帮我做

1-3-Java语言高级

1、01-常用API_1

2、02-继承与多态

3、03-常用API第二部分

4、04-集合

5、05-异常与多线程

6、06-File

7、07-网络编程 提取码:s5ks

8、08-JDK8新特性

9、09-基础加强

10、10-MySQL

11、11 -JDBC


小总结:

是的,这个阶段我花了两个月,一个月学完JavaSE,然后一个月学完了MySQL跟JDBC,话说这个阶段是最难的,也是最重要的,这个阶段的东西你学不懂就代表你后面的知识都处于一个危机边缘

在这个阶段我做了四个小项目,和一些零零碎碎的练习题,代码加起来应该有三四万行了吧;其中有三个项目是学生管理系统,我从数组版把它改为了集合版,然后又改为了IO版,最后改为了MySQL版;然后还做了一个ATM小型的桌面程序

然后个人感觉我在这个阶段学得是比较扎实的,期间还去看了许多的集合的源码,虽然有的看不懂,但是对于我一个初学者来说已经很了不起了

阶段2 JavaWeb+旅游网

小总结:

这个阶段的知识非常多,我不仅学习了前端三剑客,还学了JavaWEB、JSP、JSTL、EL,然后为了做一个项目去练手,还学习了Redis和Maven

这个阶段我花了两个月的时间,包括跟着做好这个项目,因为我前面的基础部分学得比较扎实吧,所以感觉这部分比较简单,难点就是JavaWEB的过滤器,这个知识点我花的时间比较多

然后就是大概的从面向对象编程转为了面向接口编程了

01 HTML和CSS

1、第1节 概念介绍

2、第2节 基本标签

3、第3节 表单标签

4、第4节 CSS概述

5、第5节 CSS_选择器

6、第6节 CSS属性

7、第7节 CSS_案例-注册页面


02 JavaScript

1、01 JavaScript_简介

2、02 JavaScript基础语法

3、03 JavaScript运算符

4、04 JavaScript特殊语法

5、05 JavaScript_语法_流程控制语

6、06 JavaScript_对象

7、07 DOM和事件的简单学习

8、08 BOM对象

9、09 DOM对象

10、10JavaScirpt中的事件


03 BootStrap

1、01 快速入门

2、02Bootstrap_栅格系统

3、03Bootstrap_全局CSS样式

4、04Bootstrap_组件和插件

5、05案例_旅游网


04 XML

1、01 xml基础

2、02 xml_约束

3、03 xml_解析


05 Tomcat

1、01web相关概念

2、02 tomcat基本操作

3、03 tomcat_部署项目


06-Servlet和HTTP请求协议

1、01Servlet_快速入门

2、02Servlet_生命周期方法

3、03Servlet_3.0注解配置

4、04 IDEA与tomcat相关配置

5、05 Servlet_体系结构与urlpartten配置

6、06 HTTP请求协议

07 -Request和Respons

1、01 Request原理和继承体系

2、02 Request_获取请求数据

3、03 请求转发和request共享数据

4、04 Request_获取ServletContext

5、05 request登录案例

6、06 HTTP响应协议

7、07 response之重定向

8、08 response之相对路径和绝对路径

9、09 response之输出数据

10、10 response之验证码

11、11 ServletContext对象

12、12 文件下载


08-Cookie和Session

1、第1节 Cookie快速入门

2、第2节 Cookie_细节

3、第3节 Cookie案例

4、第4节 JSP改造Cookie案例

5、第5节 Session快速入门

6、第6节 Session细节

7、第7节 Session之验证码案例


09-JSP,EL和JSTL

1、第1节 JSP基础语法

2、第2节 MVC

3、第3节 EL介绍和运算符

4、第4节 EL获取域中存储的数据

5、第5节 JSTL常用标签


10-综合案例(用户信息)

1、第1节 登录功能

2、第2节 添加删除修改功能

3、第3节 删除选中功能

4、第4节 分页查询功能

5、第5节 复杂条件查询功能


11-Filter和Listener

1、第1节 Filter快速入门

2、第2节 Filter细节

3、第3节 Filter案例

4、第4节 监听器


12-Jquery

1、第1节 JQuery基础

2、第2节 JQuery选择器

3、第3节 Jquery基础案例

4、第4节 JQuery动画和遍历

5、第5节 JQuery事件绑定和切换

6、第6节 Jquery高级案例


13-Ajax和JSON

1、第1节 原生JS方式实现Ajax

2、第2节 JQuery方式实现Ajax

3、第3节 JSON基础语法

4、第4节 JSON_解析器


14-Redis

1、第1节 Redis环境搭建

2、第2节 Redis命令操作

3、第3节 Redis持久化

4、第4节 Jedis代码操作

5、第5节 Jedis连接池

6、第6节 redis案例


15-Maven基础

1、第1节 基本概念

2、第2节 maven的安装和仓库种类

3、第3节 maven标准目录结构和常用命令

4、第4节 maven生命周期和概念模型图

5、第5节 使用骨架创建maven的java工程

6、第6节 maven工程servlet实例


16-旅游网

1、01 准备工作

2、02 注册功能

3、03 登陆和退出功能

4、04 BaseServlet抽取

5、05 分类数据展示功能

6、06 旅游线路分页展示分页展示

7、07 旅游线路查询

8、08 旅游线路详情

9、09 旅游线路收藏


阶段三:基本框架SSM

小总结:

这个阶段相对于JavaWEB来说还是比较简单的,少了很多的代码量,但是却多了很多的配置,稍微不注意就会把这些配置给搞错,期间出现了好几次注入bean失败的错误,这是我最不能够容忍的,同样的错误居然出现了好几次,而且都是没有给service加上@Service这个注解导致的;所以,在同一个地方跌倒多次是最不应该的,以后一定的加强注意了

在此期间,我还把JavaWEB做的那个项目改为了SSM版的,在改的过程中才体会到这些代码真的是很浪费,之前一个一个参数的接收,现在只需要一个对象就可以接收到了,而且更加的让我明白面向接口编程的含义了

阶段3 1.Mybatis

1、01.Mybatis课程介绍及环境搭建

2、02.Mybatis入门案例

3、03.自定义Mybatis框架

4、04.自定义Mybatis框架基于注解开发

5、05.使用Mybatis完成CRUD

6、06.使用Mybatis完成DAO层的开发

7、07.Mybatis的连接池及事务

8、08.动态SQL

9、09.Mybatis的多表操作

10、10.JNDI扩展知识

11、11.Mybatis的缓存

12、12.Mybatis注解开发


阶段3 2.Spring

1、01.Spring框架简介

2、02.程序间耦合

3、03.Spring的 IOC 和 DI

4、04.Spring的常用注解

5、05.基于XML的IOC的案例1

6、06.Spring的新注解

7、07.银行转账案例

8、08.面向切面编程 AOP

9、09.JdbcTemplate的基本使用

10、10.Spring中事务控制


阶段3 3.SpringMVC

1、01.SpringMVC概述及入门案例

2、02.参数绑定及自定义类型转换

3、03.SpringMVC常用注解

4、04.SpringMVC返回值类型及响应数据类型

5、05.文件上传

6、06.异常处理及拦截器

7、07.SSM整合案例




阶段四:高级框架

小总结:

这个阶段可不止Spring Boot,还有springcloud,springsecurity等等这些框架,就不一一列出来了,资料网上一大堆

学了Spring Boot之后你才会发现,SSM是多么的麻烦,Spring Boot为不仅为我们减少了代码量,还为我们减少了很多的配置,采用注解的方式

当然,这么智能的框架,我能不把做的项目改为Spring Boot版本吗?

阶段4 4.Spring Boot

1、01.spring boot 介绍

2、02.spring boot 入门

3、03.spring boot 原理分析

4、04.spring boot 配置文件

5、05.spring boot 集成 提取码:ywin


阶段4 5.Git

1、01.Git简介及安装使用

2、02.连接远程仓库

3、03.Git分支

参考:《2020最新Java基础精讲视频教程和学习路线!》


原文链接:网页链接

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-18

Java语言是目前主流的软件开发语言,也是使用最广泛的编程语言,在最新一期的TIOBE开发语言排行榜上继续排名第一。Java语言学习入门或者简单地使用的话,并不是很难,如果有C++语言或者C#等比较标准的面向对象语言开发基础的情况下会更容易一些。

Java学习建议:

1,首先要学习Java基础,数据类型、基本语法、常用数据结构和类,网上资源很多。

2,然后结合工作内容,学习常用框架,比如Web开发常用Spring Boot,注意框架学习时要挑选当前的Top3,已经过时的或者太新还看不清楚未来的,都不太适合新手学习。

3,随着学习进阶,逐步可以独当一面,在工作中积累项目经验、提高技术水平,现在技术发展迭代很快,终身学习。

零基础学Java估计要学5个月以上。

第2个回答  2020-12-18

学习Java不难:Java学起来其实比C或C++要简单的多, 主要是面向对象这一块,相对比较抽象,对初学者有一定难度,但一旦入门,还是容易掌握的。

主要原因:

    Java是一个面向对象的编程语言,容易理解。而且略去了多重加载、指针等难以理解的概念。并且实现了自动垃圾回收,大大简化了程序设计;

    Java学习资料较多,在官网上可以找到很多。

具体学习方法供参考:

如果你是零基础开始学习 Java 还是建议你从基本的语法和数据类型学起,多做一些小例子,把基本的用法都理解了。之后就要看你想去做哪个方向了,做 Web 的话就要学一些框架和数据库了,框架方面建议先从 Spring 开始着手,这是目前大多数做项目都用到的框架,之后把数据库也要学习了,比较常用的有 MySQL、Mongodb、Redis 等等。当然随着学习的深入也要把相关的概念性知识补齐,比如 MVC、ORM、IOC 啊等等,很多时候需要用到单元测试,Junit 也需要了解下。

第3个回答  2020-12-21

这个问题关键要看自己本身,俗话说兴趣是人最好的老师,对一件事感兴趣才回去想做成功它,第二这个你不能问别人,学会的肯定会说不难,相反学不会的会觉得很难,难不难在于学习程度深浅的问题,JAVA基础学习肯定是易于学习,已于上手的,

自学Java难不难,应该还算是挺难的吧??纯自学还是有点难度的?

为什么?自制力的问题。并不是谁都可以坐在那一天去学习Java的。就比如我当时的班级,毕业后做程序员的也没一半(还是计算机专业了),自学难度可能就更大了。

如果自学没有基础一般能学到什么程度3-5个月这个是真的很难说,每个人的进度和学习效率都不一样。还得看你每天花在学习Java的时间多久,估算一把,如果每天学习8小时以上,5个月能摸到实习生的门槛。(零基础学Java,要学的东西可太多了)。

所以学java要看你是怎么学,建议你去培训一下。

第4个回答  2022-01-12

你好,学习java只要掌握好方式和方法,其实学起来并不是非常难。比如你可以自学也可以选择机构学。

java学的内容主要有:

①JAVA编程基础(基础语法、面向对象、和谐特性等)

②WEB应用开发(静态网页制作、Oracle数据库、Java Web开发技术、Linux技术、网站性能与安全、软件工程开发流程、Java Web和谐等)

③企业级框架开发(数据结构与算法、SSH框架、JavaEE和谐等)

④项目实训

想要系统学习,你可以考察对比一下开设有相关专业的热门学校。好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝学有所成!望采纳!