我刚毕业,该如何入门学好java

    在知乎上经常碰到这种问题:“我刚毕业,怎么入门java?”;“我是初中生、高中生可不可以自学java?”作为一个已经工作三年多的老鸟,我想说:

 

    如果你是一个遇到困难就望而却步的人,大可不必浪费时间接着把这篇文章看下去,真的不用因为java就业前景好,上升空间大,工资高就去学他。如果你热爱技术,耐得住寂寞,肯钻研,那么请接着往下看,这个行业也许适合你!

 

    首先,学习java难吗?要说难,其实也不难,随便在网上找些入门的视频,从头开始看,大部分人都可以看得懂。基本的数据类型、判断语句、循环语句、面向对象以及Html入门,大家都可以看得懂。但是你如果想走的更远,请做好准备

不断学习,不断汲取知识;前期放弃王者、LOL不要吃鸡,多花点时间将学过的代码多敲几次,熟能生巧。

    这里再说下,初中生、高中生可不可以学习java,答案当然是可以的,但是!注意了,初中生、高中生学习这行第一个是需要付出的更多;再者成功率更低。一方面是心智方面还没达到一定层次,再者社会对你的学历认可程度低,所以各位初中、高中童鞋还是努力学习,先考上大学再说吧!

 

确实,也不是说这行什么门槛都没有。至少英语单词得多认识几个不是~

 

    那么初学者该如何学习Java呢,前面有说到,在网上找一个java基础视频,大家都可以看懂。但是难就难在坚持和连贯。所谓坚持,就是你可能得花上2到3个月的时间去系统的学习Java基础、前端基础、主流框架(spring、SpringMVC、mybatis),再一个就是连贯~很多人就败在这个上面。如果你前面学的知识不牢固、没有充分的练习和消化,那么对你来说后面学的东西会非常吃力甚至不懂。慢慢的你会放弃学习。

    上面说的基本上是你在通往Java学习的道路上必须去做到。相信我,我曾经在这条路上走过很多弯路。记得刚学习java那会,笔者抱着雄心壮志,急于求成,想着一鼓作气的把学习视频都看完,但是由于联系得不够,自己根本消化不了。最后不得不重头再学。

    有了学习方法,接下来我们该遵循什么样的路线去学习呢!笔者也是精挑细选,将必须学习和掌握的知识进行一个梳理,掌握以下知识,你将成为一名合格的入门者。后续只需要学习了解一些热门的知识,就可以去面试找工作了。

1、基础入门必备

 

  • Java简介

    • 了解什么是Java

    • 代码语法基本格式和输出表达式。

    • 了解Java大致的编译、执行过程

  • Java语言基础、判断、循环、数组 、类和对象

    • 掌握Java的基本数据类型和引用数据类型有哪些;

    • 掌握强制数据类型转换和自动类型提升规则;

    • 常量如何声明及赋值;

    • 判断、循环的语法及作用;

    • 数组的声明及定义;

    • 掌握类的概念以及什么是对象。

  • OOP封装、继承、多态

    • 面向对象的三大特征,本节内容非常重要也相对来说较为难以理解,一定要耐下心来好好理解。

  • IO流操作,多线程及Socket

    • 掌握IO读写流相关的类,了解字节流,字符流和字符流缓冲区;

    • 掌握线程的概念,多线程的创建、启动方式,锁和同步的概念及运用;

    • 掌握Socket通信的概念,如何声明客户端服务端,如何完成双端数据通信。

  • 数据库基础(Mysql、Oracle)及JDBC

    • 掌握数据库的基本概念,Mysql的安装、启动与停止

    • Mysql数据库客户端的安装与使用

    • JDBC的概念,在Java中使用Mysql驱动包连接Mysql

    • 要求可以熟练的手写JDBC操作代码,面试经常问到

    一阶段学习的都是概念、定义和基础,就像在建房子的时候打的地基,只有地基足够牢固,房子才会稳而且安全。以上所列除了多线程和socket,其余均需要重点学习,重点掌握和理解。另外java还有一个Swing编程,java的界面编程,此模块可以忽略,市面上有更好的解决方案,所以基本上没有公司需要用到此技术,我们也不必浪费时间在这个上面。

    学习完一阶段,可以在网上找找一节简单的管理系统、学生成绩、银行存取款等等,自己尝试的先去模仿然后自己编写一个新的系统,当你解决完所有bug,调通系统后会有无比的成就感~~

但是!~~~~注意了,这还只是基础,还有很多路要走~

我们接着往下看第二阶段的学习内容!

 

2.前端入门基础

  • HTML基本标签、表格、表单和框架;

    • 掌握网页的基本构成;

    • 掌握HTML的基本语法;

    • 表格的作用以及合并行、合并列;

    • 表单标签的使用,提交方式get/post的区别;

    • 框架布局的使用

  • CSS样式表;

    • 掌握CSS的语法及作用,在html中的声明方式;

    • 掌握CSS布局的函数使用;

    • 掌握CSS外部样式的引入。

  • JavaScript;

    • 掌握JS的语法及作用,在HTML中的声明方式;

    • 掌握JS的运行方式;

    • 掌握JS中的变量声明、函数声明、参数传递等;

    • 掌握HTML中的标签事件使用;

    • 掌握JS中的DOM原型

以上内容可以自行百度W3School,进行学习相关的知识

 

  • jQuery

    • 了解如何使用jQuery

    • 掌握选择器、文档处理、属性、事件等语法及使用;

    • 能够灵活使用选择器查找到想要查找的元素并操作他们的属性;

    • 动态声明事件;

    • 动态创建元素。

  • Servlet

    • 掌握Java中的Web项目目录结构;

    • 掌握Java Web项目的重要中间件Tomcat;

    • 掌握Servlet中的Request和Response;

    • 掌握Servlet的基本运行过程。

    • 掌握Servlet的声明周期

  • 动态网页技术

    • JSP在Java Web中的角色;

    • JSP的编码规范,以及JSPServlet;

    • JSP显示乱码的解决办法等。

  • JSP数据交互

    • JSP中如何编写Java代码,如何使用Java中的类;

    • JSP中的参数传递。

  • 状态管理Session和Cookie

    • 掌握Session的作用及作用域;

    • 掌握Cookie的作用及作用域;

    • 掌握Session及Cookie的区别,存储位置,声明周期等;

    • 掌握Session及Cookie分别在JSP和Cookie中的使用

  • JSTL和EL表达式

    • 使用EL表达式输出page、request、session、application作用域中的值

    • 使用JSTL来做逻辑判断或循环控制

  • Ajax

    • 掌握Ajax的基本概念;

    • 掌握jQuery中的Ajax请求;

    • 掌握JSON

  • Filter、Listener;

    • 掌握Filter和Listener

    • 掌握Session过滤器和编码过滤器

学完以上知识,可以说你已经学完了要准备的基础知识了,还是和前面一样,自己琢磨一个系统,练练手,如果身边有这方面的熟手,建议这时候自己不耻下问一下,编程一直都是程序猿与bug不停的斗争过程,此时的你知识面还不够宽,知道的东西也不多,很容易碰到一些bug没办法自己去解决。

接下来我们可以开始学习主流框架的应用了

3.主流框架技术

  • Mybatis的应用

    • Mybatis的Mapping与实体映射;

    • Mybatis中的SQL语句写法;

  • Spring应用

    • Spring容器的作用;

    • Spring的AOP和IOC;

  • SpringMVC的应用

    • SpringMVC中的控制器注解、请求注解、参数注解、响应注解等;

    • SpringMVC中的静态资源处理;

    • SpringMVC的容器。

  • Spring+SpringMVC+Mybatis整合

    • SSM的整合使用;

    • Spring容器和SpringMVC容器

  • Maven

    • Maven的作用

    • Maven项目的创建

    • Maven的生命周期

    • Maven中央仓库及私服

  • Log4J2日志

如果你是一个持之以恒的学习者,坚持学完以上知识,那么恭喜你,已经成功入门java。此时你自己使用SSM框架开发一个小的系统,再跟之前自己学习的JDBC+Servlet+JSP开发做对比,相信你会有更多的收获。我们再学习一些常用技术,就可以大展身手,开始找工作啦!

 


4.需要了解的常用技术

    如果你准备找工作,并且要拿到一份不错的薪资,那么以下技术是必须去了解熟悉的:

 

  • SpringBoot 的应用

    • 了解SpringBoot的起源及优势

    • 了解SpringBoot项目的格式以及创建方式

    • yaml语法特性

    • application配置文件及静态资源处理

    • Thymeleaf模板引擎

    • SpringBoot核心之WebMVCConfigurer

  • Struts2应用(了解即可)

    • 什么是Struts2

    • Struts2的用法

    • Struts1和Struts2的区别

  • Hibernate应用(了解即可)

    • Hibernate在项目中的作用及优势;

    • Hibernate中的hbm与实体类之间的关系;

    • 什么是HQL,什么是关系映射(一对一,多对一,多对多);

  • Redis入门和使用

  • Linux操作系统

    • Linux中的常用命令;

    • Linux下的jdk、tomcat安装;

    • Linux下的项目部署方式。

  • 消息中间件的使用

    • 推荐activemq的基础和与Spring的整合

  • 学习SVN的使用,了解GIT

  • 学习一下分页的使用方法

  • 前端框架推荐学习BootStrap、EasyUI

    以上四阶段都可以在网上搜到对应的内容,只是会踩坑很多罢了,我也是对相关资料做了对应的整理,这里推荐大家关注一下“墨叔杂谈”,微信搜索公众号即可关注,回复java,即可收到下载地址。并且公众号会定期给大家推送学习技巧和资料。

    最后重点强调一下,身边如果有已经入门的学长,一定要用好资源,多问多请教,再就是学习的过程中一定要多动手,多敲代码,不要被当时学习敲了一次,感觉自己就懂了的错觉给误导,可能第二天你就忘了前天所学的内容。看博客、看视频无非是让你了解、知道这个知识点,但是如果你想消化他,把他变成自己的东西,那么请你一定要多动手、多思考!只有把代码敲烂、键盘敲垮(这里夸张了~)你才会有所收获!

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值