JAVA主要学些什么东西?
对于初学者来说,只要在学习过程中,掌握科学的学习方法,即使零基础的入行者也能充分掌握Java开发技术,那究竟如何才能学习Java呢?
第一阶段:企业入门级项目阶段,可掌握Java核心基础、面向对象、JavaSE API、MySQL数据库、JDBS、HTML+CSS、Servlet、JSP、JavaScript等,可以完成常见中小型互联网项目开发,达到初级Java开发工程师能力。
第二阶段企业框架级项目阶段是进阶阶段,增强Java基础、web基础、CSS/JavaScript进阶、Maven项目管理、Spring5、SpringMVC、Mybatis、SMM综合项目、学员项目等,完成本阶段学员可以胜任各行业企业级项目中高级工程师岗位。
第三阶段亿级大并发分布式项目阶段,掌握Linux、Docker、Vue、SpringBoot、项目整合Vue、分布式项目、Zookeepr、Dubbo、Springcloud、Redis、Elasticsearch、Quartz、RocketMQ、FastDFS、Mycat、CAS、分布式锁、分布式事务、微信开发、学生项目等,学员学完后可以胜任大型、超大型互联网项目开发高级工程师岗位。
初学Java虽然有一定的难度,但Java学习并不是不可逾越,只要你明确方向,找到有效的学习方法,坚持学习,一定能攻克Java难关,成为一名合格的Java开发工程师。
一定要好好学,很多人都不明白基础的重要性。上来就什么ssm,springBoot,redis。比谁认识的单词多吗?面向对象、字符串处理、集合、IO一定要重点学!
2.JavaWeb前端:
不要老一副吊样,觉得自己出去就是后端工程师,不学什么HTML, CSS, JavaScript。老铁,不存在的。进了外包公司你万一发现后台逻辑简单的一逼,就几个接口,反而前端页面切个图都要一天,难道你还好意思暗搓搓问老板:怎么我们公司没有前端的吗?所以前端一定要重视。div+css布局一定要麻溜的,js的dom操作必须给力。jQuery/bootstrap你必须会吧!
3.JavaWeb服务器端:
Tomcat目录结构必须了如指掌吧。让你手动部署个webapp总要会吧。哪里配置虚拟主机,哪里改端口号,web-info文件夹下的内容外部无法访问这些都要懂一点吧?这些皮毛都不懂,怎么好意思说自己搞服务器端?jsp和servlet什么关系,servlet最常见的三种创建方式,Javaweb四大域对象,jsp九大内置对象都要知道吧?el表达式必须熟悉吧?mysql增删改查sql语句要会写吧,多表关联、左外右外不能怂吧?jdbc是干嘛的,sql注入是啥,如何用jdbc实现事务等等都要知道吧?
4.框架预备知识:
xml读写操作要知道,反射、内省、泛型不要求精通,但怎么用总要心里有点那个什么数吧。不然你框架学起来就是懵逼的。
5.ssh、ssm框架:
不要求你精通底层原理,但是山寨版的原理总要略知一二吧。如何山寨实现IoC容器,如何对dao进行抽取,如何借助反射实现同一个servlet处理多个请求,这些最好都要了解吧。在理解山寨版框架的基础上,把配置多配几遍,做到心里有数。明白每个配置大致起到什么作用。另外,我一向觉得,学习框架必须带着下面的疑问:这个框架没有出现之前,我们的前辈们如何解决的?它的出现解决了哪些痛点?又有什么缺点没有?都是需要去琢磨的。
学好JDK后,还有其他几种软件如果你感兴趣也可以学一学,这几种软件分别为:Eclipse:一个开放源代码的、基于Java的可扩展开发平台;EditPlus:文本编译工具,初学者可以使用EditPlus编译执行Java程序;NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用;IntelliJ IDEA:可以用于代码自动提示、代码分析等;MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境;SQL Server:数据库软件,做web开发会用到这个软件。
综上可以看出,学习Java需要的软件不少,如果自学一个个了解过去的话比较费时间,而报班就不同了,报班学习会有老师带着你一步步下载、安装、学习各个软件,这样不但能节省很多时间,还能让你把这些软件掌握得更好。
Java学习上手比较难,需要的软件也多种多样,不过只要你坚持学习,多看书、学习中有问题及时解决,小编相信你还是可以学懂Java的。
2019-09-05
熟悉语言之后,接着可以学习数据结构,研究下常用的包(List,Map, Queue, Set)
进一步学习多线程,IO,反射这些进阶知识。
JAVA 开发还必须要了解关于数据库(常用MYSQL,MyBatis),一些分布式技术(如消息队列,负载均衡,分布式计算等)。现在基本都需要WEB开发相关知识,需要学习Spring相关框架,SpringMVC之类的技术, 还有一些HTTP相关的知识。
这样就基本是一个优秀的初级程序员啦
接着可以学习一些关于虚拟机,内存,垃圾收集,字节码原理等更加底层的知识。
使用的开发软件:Intellij IDEA 或者 Eclipse