自java出来之后,就被很多人欢迎,虽然开始的时候有点麻烦,但是发展到现在很多人企业都在使用java做一些应用,包括了一些政府部门,因此java工程师需求也越来越大了。那么下面小编给大家说说java编程学习入门,希望能对你有些帮助。
首先肯定要明白自己为什么学习java,兴趣占的比重大还是为了生活比重大;再者很重要的一点就是去互联网上的招聘网站搜索当下要成为一名java开发工程师应该至少具备哪些技能,现在一般的公司招聘员工都有自己的要求(这里不谈编程技术之外的要求),比如这些个要求,从招聘信息上我们的初学者就能有自己的目标,目标有了,剩下的就是向着这一步努力前进。定下目标这一步放在第一对于新人是及其重要的。
接下来就是按照目标前进,我们新人学习java要从基础学起,可以借助很多工具让自己成长的更快。1.借助网络学习,寻找网上的教学视频;2.进技术交流群找志同道合的人一起学习,互相探讨;3.花费费用参加技术培训,这是很有效率的方法,但是也是花费金钱较大的,缴费之后能回报多少看自己的努力和培训机构的实力。基本方法就例举这些,剩下的可以自己的思索总结,只要能学到技术,各种方法均可。
(资料图片)
找到了外部的基本方法,那就要看自己的执行力了。1.看书上互联网要用心,平时多查阅文档,多动脑,勤动手,实践很重要,新手每天编码500行有用代码,用不了多久你就能够成为大神;2.切记急功近利,新人前期编码因为看不到太多自己的成果容易自暴自弃;3.要注重本身的能力提升,培养自己的发现思考解决问题的能力,毕竟掌握在手里的技术才是自己的。4.按照前期制定的目标一步步前进,掌握一些知识点就做一些demo,巩固知识,每天提升一点点,不要多久下来基本上可以胜任一些工作了,但是距离大神还差的远。
###2多看java基础,打牢固你的基础能力,很多EE或者框架问题都可以迎刃而解,基础还是重点。还有数据结构,面向对象这些重点中的重点,绝对都是一生所用的。
多看一些源码,体会为何这样设计的思想,其中多看一些IO,反射相关的源码,这样有利于你的技术提升。
多看看书,书中对框架和应用都有很好的诠释,也有一些作者对java这门语言的理解。一切的目的都是应用,所以书中的运用例子要自己好好看看,尽量动手跟着一起做做。
看一些开源项目的源代码,主要看设计,看逻辑。
java的复杂在于面向对象的运用,所以要用一颗面向对象的心来对待代码,学会善于运用这些思想来自动装箱,来实体注入等。
学一下算法思想。其实算法在任何语言中都可以完美体现,java的复杂也在逻辑上,算法能改善逻辑的过程,是一个可遇不可得的重要思想。
###31、概述
整个学习Java的过程一共分为三个阶段:初级->中级->高级。其中初级阶段是整个学习的基础,中级阶段是基于初级阶段的进一步扩展,在初级阶段需要花费很多精力完成的工作,其实中级阶段只需几行代码就实现了,在初级阶段不能完成的事情,中级阶段就能够完成了,而高级阶段则是对中级阶段的进一步优化和补充。下图是三个阶段的划分:
2、初级阶段概述
初级阶段学习的目的是掌握Java的大部分语法,这个阶段学完后,可以完成一些实验性质的东西,比如做一个计算器计算加减乘除,这个阶段对类和接口等等面向对象的语法,只能做到从直观上有个了解,无法深刻理解,千万别以为学完这个阶段,你就真的懂面向对象了。这个阶段对计算机能利用的仅仅是内存和CPU,很多现代计算机的高级功能都无法使用。当然,对于仅仅只是实现算法,比如机器学习里面的各种算法,学习到这个阶段几乎能够完成大部分工作了。
3、中级阶段概述
中级阶段是在初级阶段的基础上做了进一步的扩展,它分为两个方面:1、充分利用了现代计算机的各种高级功能,比如I/O操作、网络操作、CPU多核下的并发操作 2、为Java开发者提供了一套方便的数据结构库以及文本和时间操作的工具库。
4、高级阶段概述
如上面所述,高级阶段是对中级阶段的进一步优化和补充:NIO是对I/O性能的一次优化,并发框架是对多线程同步原语的优化,JDBC则是提供了与数据库打交道的能力,而注解/反射/动态代理则是增强了Java语言的功能。
###4你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。
你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。
你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。
如果你将要写客户端程序,你需要学习WEB的小应用程序(applet),必需掌握UI设计的思想和方法,以及桌面程序的SWING,AWT, SWT。你还应该对UI部件的JAVABEAN组件模式有所了解。JAVABEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。
你需要学习java数据库技术,如JDBCAPI并且会使用至少一种persistence/ORM构架,例如Hibernate,JDO, CocoBase,TopLink,InsideLiberator(国产JDO红工厂软件)或者iBatis。
你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果,还需要掌握不同的数据库产品运用,比如:oracle,mysql,mssqlserver。
你需要学习一门轻量级应用程序框架,例如Spring,PicoContainer,Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。
你需要学习企业级JavaBeans(EJB)以及它们的不同组件模式:Stateless/StatefulSessionBeans,EntityBeans(包含Bean- ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者 Message-DrivenBeans(MDB)。
你需要JavaCommunityProcess(JCP)以及他的不同JavaSpecificationRequests(JSRs)