⑴ 90后二流大学程序员自述:从“菜鸟”到“辣鸡”,我到底经历了什么
程序员高手和菜鸟,不仅仅是技术上的差距,还体现在习惯、经验、看问题的角度等各个方面。
1.代码规范:代码写得不好,其实一眼就能看出来;比如代码里面的各种命名(包、类、方法、变量等等)。在最初写程序的时候,很多人都会起没有含义的变量命名,比如 String str;其实我们完全可以把变量名称起成带业务含义的,比如在运用中慢慢发现用String username我们会越来越熟练,写的也越来越好。
⑵ java程序员的职业规划是什么
如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学。
一、Java基础首先去找一个Java的基础教程学一下,这里可以推荐一个地址,或者你也可以参照这个地址上去找相应的视频。学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试。学完以上内容以后,你应该对Java有一个基本的了解了,你可以用Java语言写出一些简单的程序,并且你用的是最简单的编辑器,比如记事本。这个时候,不要急于进入下一部分,留下几天好好写一些程序,尽可能熟悉这些基础内容。
二、Web开发等你写上几天程序以后,你往往会比较迷茫,因为你写的东西似乎看起来毫无用处,比如实现一个简单的计算器,读取一个文件等。这个时候你就应该去学着写一些让你觉得有意思的东西了,所以你应该学习更多的知识。这些内容主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面),这部分内容你可以去上面的那个runoob网站上找。
你可以试着自己写一些页面,当然,你可以尽你最大的努力让它变得最漂亮。这部分内容对于后端Java来说,理论上不是特别重要,但至少要达到可以自己写出一些简单页面的水平。接下来,你需要学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发必须非常精通的部分,因此这部分是这三部分中最需要花精力的,而且这个时候,你要学会使用开发工具,而不能再使用记事本了,可以选择eclipse。当你下载安装好eclipse以后,请视频中的教程一步一步去学习,一定要多动手。关于Servlet/Jsp部分视频的选择,业界比较认可马士兵的视频,因此推荐给大家。
当然了,我本人并没有看过他的视频,所以不好说的太绝对,如果大家自己有更好的选择,可以坚持自己的,不要被我干扰。原本我也是打算出教学视频的,但是由于时间问题,还是决定放弃了。但是如果你看视频的过程中遇到了问题,欢迎来我的交流群提问,或者去斗鱼观看我的直播提出你的问题,直播地址和群号都在我的个人博客左侧。最后一步,你需要学会使用数据库,mysql是个不错的入门选择,而且Java领域里主流的关系型数据库就是mysql。这部分一般在你学习Servlet/Jsp的时候,就会接触到的,其中的JDBC部分就是数据库相关的部分。你不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如navicat,sqlyog,二选一即可。
三、开发框架当你学会以上内容以后,这个时候你还不足以参加工作,你还需要继续深造。公司里为了提高开发的效率,会使用一些Java Web框架,因此你还需要学习一些开发框架。目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。
但你一定要可以快速的利用它们三个搭建出一个Web框架,你可以记录下你第一次搭建的过程,相信我,你一定会用到的。还要提一句的是,你在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。
关于学习SSM框架的地址给大家推荐一个,这里面有视频,大家可以去观看。四、找工作当你完成开发框架的学习以后,你就该找工作了,在校的找实习,毕业的找全职。与此同时,在找工作的同时,你不应该停下你的学习,准确的说,是你在以后都不能停下学习。上面这些内容你只是囫囵吞枣的学会了使用,你可以逐步尝试着去了解更多的东西,网络是你最重要的老师。
第二部分:对于参加工作一年以内的同学。恭喜你,这个时候,你已经拥有了一份Java的工作。这个阶段是你成长极快的阶段,而且你可能会经常加班。但是加班不代表你就可以松懈了,永远记得我说的那句话,从你入行那一刻起,你就要不停的学习。在这一年里,你至少需要看完《Java编程思想》这本书。这本书的内容是帮助你对于Java有一个更加深入的了解,是Java基础的升级版。这本书很厚,当初看这本书,我花了整整三个月。正常速度的话,应该可以在半年左右看完。我这里不要求过高,只要你在一年以内把这本书看完即可。当然了,我所说的看完,是充分吸收,而不是读一遍就完事了,因此有些内容你可能会看不止一遍。总而言之,这个阶段的核心学习思想就是,在工作中实践,并且更加深入的了解Java基础。
第二部分:对于参加工作1年到2年的同学。这部分时间段的同学,已经对Java有了一个更加深入的了解。但是对于面向对象的体会可能还不够深刻,编程的时候还停留在完成功能的层次,很少会去考虑设计的问题。于是这个时候,设计模式就来了。我当时看的是《大话设计模式》这本书,并且写了完整版的设计模式博客。因此,我要求大家,最多在你工作一年的时候,必须开始写博客,而设计模式就是你博客的开端。
请记住,我所提的基本都是最低要求,因此不要有任何松懈的心理,否则五年后,你不要去羡慕别人高于你的工资,也不要去羡慕别人进入了某公司。这一年,你必须对于设计模式了如指掌,《大话设计模式》可以作为你的开端。此外,设计模式并不是你这一年唯一的任务,你还需要看一些关于代码编写优化的书。比如《重构 改善既有代码的设计》,《effective java》。总而言之,这个阶段,你的核心任务就是提高你的代码能力,要能写出一手优雅的代码。
第三部分:对于参加工作2年到3年的同学有的同学在这个时候觉得自己已经很牛逼了,于是忍不住开始慢慢松懈。请记住,你还嫩的多。这个阶段,有一本书是你必须看的,它叫做《深入理解Java虚拟机》。这本书绝对是Java开发者最重要的书,没有之一。在我眼里,这本书的重要性还要高于《Java编程思想》。这本书的内容是帮助你全面的了解Java虚拟机,在这个阶段,你一定已经知道Java是运行在JVM之上的。所以,对于JVM,你没有任何理由不了解它。
另外,在过去2年的工作当中,你肯定或多或少接触过并发。这个时候,你应该去更加深入的了解并发相关的知识,而这部分内容,我比较推荐《Java并发编程实战》这本书。只要你把这本书啃下来了,并发的部分基本已经了解了十之六七。与此同时,这个阶段你要做的事情还远不止如此。这个时候,你应该对于你所使用的框架应该有了更深入的了解,对于Java的类库也有了更深入的了解。
因此,你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口,它看起来好像很多余?由此也可以看出,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了,或者说是一步慢步步慢。而且我很负责的告诉你,我在这个阶段的时候,所学习的东西远多于这里所罗列出来的。
因此千万不要觉得你已经学的很多了,我所说的这些都只是最低要求,不光是我,很多人在这个时间段所学习的内容都远超本文的范围。如果你不能跟上节奏的话,若干年后,如果不是程序猿市场还不错的话,你很可能不仅仅是工资比别人低,公司没别人好,而是根本就找不到工作。总而言之,这个阶段,你需要做的是深入了解Java底层和Java类库(比如并发那本书就是Java并发包java.concurrent的内容),也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架,方式比较推荐看源码或者看官方文档。另外,还有一种学习的方式,在2年这个阶段,也应该启用了,那就是造轮子。不要听信那套“不要重复造轮子”的论调,那是公司为了节省时间成本编造出来的。重复造轮子或许对别人没有价值,因为你造的轮子可能早就有了,而且一般情况下你造出来的轮子还没有现存的好。
但是对别人没有价值,不代表对你自己没有价值。一个造轮子的过程,是一个从无到有的过程。这个过程可以对你进行系统的锻炼,它不仅考察你的编码能力,还考察你的框架设计能力,你需要让你的轮子拥有足够好的扩展性、健壮性。而且在造轮子的过程中,你会遇到各种各样的难题,这些难题往往又是你学习的契机。当你把轮子造好的时候,你一定会发现,其实你自己收获了很多。所以,这个阶段,除了上面提到的了解JVM、JDK和框架源码以外,也请你根据别人优秀的源码,去造一个任何你能够想象出来的轮子。
第四部分:参加工作3年到4年的同学这个阶段的同学,提升已经是很难了,而且这个阶段的学习往往会比较多样化。因为在前3年的过程中,你肯定或多或少接触过一些其它的技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等等。这些技术,你能精通任何一项,都将是你未来面试时巨大的优势,因此如果你对某一项技术感兴趣的话,
这个时候可以深入去研究一下。这项技术不一定是你工作所用到的,但一定是相关的。而且在研究一门新技术时,切忌朝三暮四。有的同学今天去整整大数据,搞搞Hadoop、hbase一类的东西。过不了一段时间,就觉得没意思,又去研究分布式缓存,比如redis。然后又过不了一段时间,又去研究分布式计算,比如整整Maprece或者storm。结果到最后,搞得自己好像什么都会一样,在简历上大言不惭的写上大数据、分布式缓存、分布式计算都了解,其实任何一个都只是浮于表面。到时候面试官随便一问,就把你给识破了。
一定要记住,作为一个程序猿,平日里所接触的技术可能会很多,但是想要让一门技术成为你的优势,那么一定是你对这门技术的了解强过绝大多数人才行。因此在这个阶段,你就不能再简单的去学习前3年的内容了,虽然前面的学习如果还不够深入的话依旧要继续,但这个时候你应该更多的考虑建立你的优势,也可以称为差异性。差异性相信不难理解,就是让你自己变得与众不同。你前面三年的学习足够你成为一名基本合格的Java开发者,但你离成为一名优秀的Java开发者还有很大的距离。
所谓优秀,即能别人所不能。而你前三年所学习的内容,是很多做过几年的Java开发都能够掌握的。那么为了让自己有差异性,你就需要另辟蹊径,找一个方向深入研究下去,以期在将来,你能够成为这个领域的专家,比如分布式计算领域的专家,大数据领域的专家,并发领域的专家等等。此外,你除了建立你的差异性之外,还要去弥补你基础上的不足,直到现在,我都没有提及基础知识。原因是基础是很枯燥无味的,学的太早不仅容易懵逼,而且懵逼的同时还容易产生心理阴影,以至于以后再不想去研究这些基础。但基础又是你深入研究一些领域时所必须掌握的,比如你去研究分布式计算,你不懂算法你玩个毛毛?比如你去做分布式缓存,你对计算机系统的内存不了解,你如何去做缓存?
如果你的基础本来就非常强,那么恭喜你,相信你在之前的工作中已经充分体会到了这些基础对你的帮助。但我相信大部分人的基础都很薄弱,哪怕是科班毕业的人,很多人也不敢说自己当初的基础学的多么强大,比如算法、计算机系统原理、编译原理这些。但是每个人时间都是有限的,而且这些基础的书籍每一本读下来,没个一年半载的,还真拿不下来,因此还是要有所抉择的。虽然艺多不压身,但问题是艺多是有代价的,是需要你付出时间和精力的,而我个人更赞成在同等代价的情况下获取最大的收获。
首先,我比较推崇的基础书籍有三本,分别是《深入理解计算机系统》,《tcp/ip详解 卷一、二、三》,《数据结构与算法》。其中TCP/IP有三本书,但我们这里把这三本看成是一本大书。这三本分别适合三种人,《深入理解计算机系统》比较适合一直从事Java Web开发和APP后端开发工作的人群。《tcp/ip详解 卷一、二、三》比较适合做网络编程的人群,比如你使用netty去开发的话,那么就要对TCP/IP有更深入的了解。而《数据结构与算法》这本书,则比较适合做计算研究工作的人,比如刚才提到的分布式计算。另外,我要强调的是,这里所说的适合,并不是其它两本对你就没有用。比如你做Java Web和APP后端开发,《tcp/ip详解 卷一、二、三》这本书对你的作用也是很大的。这里只是分出个主次关系而已,你要是时间足够的话,能把三本都精读那当然最好不过了。
但如果时间有限的话,那么就先挑对你帮助最大的书去读。理论上来讲,这一年你能把这三本其中一本精读下来,就已经非常厉害了。有了基础,有了前面的工作经验,你就可以去开拓属于你的领域了。在这一年里,一定要规划好自己的领域,建立好自己的优势,制造出差异性。如果你对自己的领域不够清晰的话,随着你工作的时间日益增多,你接触的技术会越来越多,这个时候,你很容易被淹死在技术的海洋里,看似接触的技术越来越多,会用的也越来越多,但你毫无优势。有的同学可能会问,“我,我也不知道我的领域是什么啊?怎么办呢?”对于这种人,我只想说,“卧槽,这还问我?要不干脆我替你学习得了,好不好?”
第五部分:参加工作4年到5年的同学经过前面一年的历练,相信你在自己所钻研的领域已经有了自己一定的见解,这个时候,技术上你应该已经遇到瓶颈了。这个时候不要着急提高自己的技术,已经是时候提高你的影响力了,你可以尝试去一些知名的公司去提高你的背景,你可以发表一些文章去影响更多的人。当然,你也可以去Github创建一个属于你的开源项目,去打造自己的产品。
这次的开源项目不同于之前的造轮子,你这个时候是真的要去尽量尝试造出来真正对别人有价值的轮子。技术学到这个阶段,很容易遇到瓶颈,而且往往达到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是专门搞学术研究的。然而很可惜,大部分程序猿做不到这一步,那是科学家做的事情。这个时候提高影响力不仅仅是因为技术上容易遇到瓶颈,更多的是影响力可以给你创造更多的机会。程序猿在某种程度上和明星很像,一个好的电视剧和电影就可以成就一批明星,程序猿有的时候也是,一个好的项目就可以成就一群程序猿。比如国内几个脍炙人口的项目,像淘宝、支付宝、QQ、网络、微信等等。这每一个项目,都成就了一批程序猿。我敢说,这里面任何一个项目,如果你是它的核心开发,光是这样一个Title,就已经是你非常大的优势。更何况还不止如此,Title说到底也是个名头,更重要的是,这种项目在做的时候,对你的历练一定也是非常给力的。
而你如果想要参与这样的项目,除了靠运气之外,影响力也是很重要的一个手段。比如你在分布式计算领域有一定的影响力,那么如果有什么好的关于分布式计算的项目,对方就很可能会邀请你。就算人家不邀请你,你自己主动去面试的时候,对方如果知道你在这个领域的影响力,也肯定会起到很大的作用,而这个作用,甚至可能会超过你现在的技术能力。所以,在这个阶段,你最大的任务是提高自己的影响力,为自己未来的十年工作生涯那一天做准备。如果你能够靠你的影响力和以前积累的技术,参与到一个伟大的项目当中,那么你后面的五年也就有着落了。当然了,我现在满打满算,做程序猿也就4年半不到,因此关于4年到5年这一部分,我的见解不一定是对的,就算是对的,也不一定是适合任何人的。
所以,希望大家自己有的判断力,去决定到底该如何度过这一年。结语本文到此就基本结束了,整篇文章很长,但其实主要就说了两部分内容,一个是社招面试的准备,一个是Java生涯的学习。关于这两部分,我已经给出了自己的见解,但是还是那句话,每个人吸收知识的时候,都要有抽取精华,去除糟粕的能力。我所说的,可能有些是对的,有些是错的,有些是适合你的,有些是不太适合你的,你要自己能够判断。其实你在生活和工作当中也是一样的,你身边的人形形色色,有的人你喜欢,有的人你很讨厌。但其实你喜欢的人也有缺点,你讨厌的人也有优点。你要学会从你讨厌的人身上学会他的优点,千万不要一棒子打死,这只会让你失去很多学习成长的机会。好了,说了这么多了,就到此为止吧
⑶ 自学Java怎么入门
自学java怎么算入门? 衡量标准是什么?
我从个人角度分为三个阶梯: 初学,入门,高手
第一: 初学 (理论知识阶段)
很多同学刚刚入门学习java,看书,或者看视频。这个阶段是积累理论知识的时候,相对比较容易,一个小知识点,信息量少,跟着老师的思路走就可以。
在这个阶段,很多同学学得很快,感觉编程好简单。
随着学习的深入,大多数同学会产生混乱。 为什么?所有的技术背后都有原理,前面都有应用场景,不同应用场景有不同使用方法。 信息量逐级增加。
信息量逐级增大后,会有什么问题?
学到后面忘记前面。
新技术不断出现,感觉永远学不完。 丧失兴趣或信心。
理论知识阶段,更重要的是理解原理和规律,知识点的细节记不住可后面查找。学习方法更重要的是交流讨论,理解和总结。 多问为什么是关键!
第二: 入门 (熟练度)
一个项目从0到1的过程才是最宝贵的,也是初学者提升最大的部分。但从书本或者视频中,很难学习这个过程。
技术的应用能力换句话说是 技术的分解排序能力, 当遇到一个需求,该如下实现?
基本的思路是把需求分解成原子操作。 原子操作代表开发当中的基本操作,也就是在知识点当中学到的,比如数据库操作,sql,框架的基本使用等等。
如果能把需求分解为原子操作序列,开发完成只是时间快慢的问题。往往刚刚开始学习编程的同学,不善于或者懒得去思考。毕竟看视频是被动的,分析问题是主动思考。学习只是看看视频,本质上是思考的懒惰。
所以需要找大量的练习和项目案例进行实践!!!
第三: 高手(业务和性能)
程序员是把理论知识组合应用起来解决用户的问题。(或者提高用户的效率)
第三个等级的知识更加多元化,不同行业涉及不同的领域知识,信息量也是增大。
业务解决用户的问题,可以赚钱。
性能用最小的资源,解决用户的问题,可以省钱。
所以在企业开发中,需要考虑更多和成本,时间,用户等相关的问题。
总结: 掌握理论知识后,需要大量的代码去实践,才算入门。
分享下我们的学习路线,供你参考一下!
希望能帮到你,望采纳!
⑷ Java菜鸟学习编写第一个java程序HelloWorld
不管学哪门语言,第一个HelloWorld程序成功运行起来的时候,代表着你的学习已经跨进了一小步。做这个java实验之前,读者最少要在自己的电脑上安装好JDK(包括配置好环境变量),如果读者还不会安装JDK和配置环境变量可以看作者的另一遍经验。
编写并保存代码。打开记事本编写如图1所示代码,图1代码为(注意输入代码时输入法一定切换到英文输入状态下):
public class HelloWorld {
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
在D盘建立一个JAVA文件夹用于保存代码,保存的时候一定要注意,如图2所示,“保存类型(T)”要选择“所有文件(*.*)”,“文件名(N)”一定要为 HelloWorld.java 。如图3所示,保存后到D:JAVA下检查下文件名是否正确,HelloWorld.java.txt,HelloWorld.txt都是错误的文件名。JAVA程序代码后缀为.java,文件名常常要求保持和类名一致。JAVA语言是严格区分大小写字母的,但是Windows的文件名却不区分大小写。
启动命令提示符并进入到D:JAVA文件夹。如图1所示,按下WIN+R键启动运行命令框,输入cmd命令后回车,就可以启动命令提示符窗口。然后在命令提示符窗口中输入下面命令进入D:JAVA目录:
>D: <回车>
>cd JAVA <回车>
调用编译指令javac把HelloWorld.java转换为字节码文件HelloWorld.class 。如下图所示,执行指令:
>javac HelloWorld.java <回车>
执行指令如果没提示什么信息就是最好的信息,这时检查JAVA文件夹就会发现多了一个.class文件,这就是字节码文件了。如果提示错误信息就要回过头检查了。首先检查JDK环境变量是否配置好,然后检查类名和文件名是否一致,再检查代码是否有用正文输入法输入等等。
运行程序。代码转换为.class 文件后就可以在JVM虚拟机下运行了。在命令提示符敲入命令:
>java HelloWorld <回车>
如图所示,回车后打印输出:
HelloWorld!
注意,这时实际上是运行HelloWorld.class,但是命令中并不用加后缀名。
分析第三步的伪编译原理。如图所示,.java后缀的是源代码,一个或者多个源代码要经过java编译器生产.class后缀的字节码。字节码是和平台无关的,和C语言编译生成平台相关的机器码是不一样的。机器码可以只能在对应的平台执行,字节码执行是平台无关的但是必须有解释器。
分析第四部JAVA程序的执行过程。图为.class文件被读取后进行解释为平台相关机器码执行的过程。和编译型语言(比如C)程序最大的不同是JAVA程序经过解释器转换为和平台相关的机器码才可执行,可见这个过程在执行过程中动态解释,而编译型语言(比如C)是在执行之前就编译成了和平台相关的机器码了。这也是JAVA语言可以“一次(伪)编译,到处运行”的重要原因。
⑸ Java语言好学么
1、 java好学吗?
从某些方面来说,java比较容易学,如果是大学毕业,大学计算机专业里大多开设了java基础课程,或者学过一点编程,学起java来也会轻松不少。即使是零基础也不用担心,java可以零基础授课,入门比较简单,难的是学深入,这不是一件容易的事。学习java是一个循序渐进的过程,要想完全凭自学是很难精通这一技能的。
2、java是不是最难学的语言?
Java是一种面向对象的语言,因而在程序设计思路上要比C类的语言简单得多,但是Java最重要的基础,起步越踏实,后期的学习越简单。但问题在于Java的涉及面很广,并不是单单的知识语言,而是一个知识体系,Java基础,高级。Java Web,Jave Script,JSP,各种框架知识等等都是需要你去学习的,只有掌握的知识足够全面踏实,才能成为一个Java工程师。单单靠Java编程语言是无法完成工作的。
java编程语言难度大于PHP Python Golang 小于C++
3、java和c++学哪个找工作范围比较广一些,以后的发展能好一些?
前提是两种语言都是一种熟练度,都需要精通,两种语言都很热门,有能力工作都好找,C++更底层,较复杂,应用广。JAVA通过调用API接口来完成工作(注:JAVA底层实现用C++,C完成的)适合做应用,流行,相对C++简单
⑹ java程序员个人简历精选【4篇】
基本信息
姓 名:XXX
性别:男
婚姻状况:未婚 民族:汉
户 籍:辽宁 年龄:27
现所在地:沈阳 身高:179cm
联系电话:
求职意向
希望岗位:java程序员
工作年限: 职称:无职称
期望月薪:5000
求职类型:全职
到岗时间:随时
工作经历
xx年3月—至今 天津银行,担任java程序员。工作内容:
OA自动化办公系统:
软件环境:Apache Tomcat 5.0/MySQL /windows2003/jdk1.4.2
开发工具:Eclipse,Dreamweaver等开发工具
项目描述:该项目主要针对衡阳市环保局的自动化办公,提高办公效率。
1、项目主要采用当前流行的MVC模式,Struts+Hibernate+Spring框架(B/S)。
2、使用的技术: JSP 、Servlet 、JavaBean 、Hibernate、JNDI、XML、Struts、Spring等相关技术。
责任描述:
1、负责技术:相关JavaBean,Servlet,Hibernate持久层的编写,配置,调试等负责部署整个webapplication。
2、负责功能为个人办公,包括短消息,通讯录等。
客户关系管理系统(CRM)
1、开发环境:Apache Tomcat 5.0/SQLServer/windows2003/jdk1.4.2
2、开发工具:Eclipse ,Dreamweaver等开发工具
3、项目描述:基于J2EE平台,采用MVC设计模式及SSH(Struts+Spring+Hibernate)三个集成框架、B/S模式、SQLServer作为后台数据库。
4、项目责任:本人主要负责营销管理模块及其显示层的开发。
教育背景
毕业院校:沈阳大学
最高学历:本科
毕业日期:2004-07
专 业:计算机科学与技术
语言能力
英语水平:良好
国语水平:标准
粤语水平:良好
专业技能
1、扎实的JAVA基础知识,熟悉面向对象编程思想,熟练MVC设计模式。
2、熟悉JAVA、HTML、XML等语言的软件开发;
3、精通JSP,Servlet,JDBC,JSTL等Web开发技术
4、熟练J2EE(Javabean,struts,hibernate,spring)+ Apache Tomcat 5.0开发;
5、熟悉SQL-Server、MySQL,Oracle数据库的操作;
6、了解Linux操作系统,Ajax技术。
7、核心技术:J2EE。
自我评价
为人诚恳,待人真诚,具有良好的团队合作精神和沟通组织能力,工作认真、踏实、积极上进。自学能力强,思维敏捷,对于新知识接受快,勇于面对困难,敢于挑战。
姓名:XXX
目前所在: 天河区 年龄: 26
户口所在: 惠州 国籍: 中国
婚姻状况: 未婚 民族: 汉族
身高: 178 cm
体重: 67 kg
求职意向
人才类型: 普通求职
应聘职位: 软件工程师:程序员,计算机软件:程序员
工作年限: 2 职称: 无职称
求职类型: 全职 可到职日期: 一个月
月薪要求: 2000~3499元 希望工作地区: 广州,惠州,深圳
工作经历
**公司 起止年月:2008-07 ~ 2010-11
公司性质: 民营企业所属行业:计算机/互联网/通信/电子
担任职位: Java程序员
工作描述: 1、广州印刷出版行业的电子政务管理系统的开发改版工作.
2、交通部门的管理系统维修企业及驾培企业b/s框架的功能开发.
3、会计从业人员电子政务系统开发工作.
4、印刷信息网站开发工作.
离职原因: 转换新工作环境
教育背景
毕业院校: 广东白云学院
最高学历: 大专获得学位: 毕业日期: 2009-07
专 业 一: 软件技术 专 业 二:
起始年月 终止年月 学校(机构) 所学专业 获得证书 证书编号
2006-09 2009-07 广东白云学院 软件技术
语言能力
外语: 英语良好 粤语水平: 良好
其它外语能力:
国语水平: 良好
工作能力及其他专长
良好的JAVA 基础知识,熟悉面向对象的编程思想。
熟练运用Struts、Hibernate、Spring等J2EE企业架构核心技术
熟悉HTML、XML、JavaScript、CSS、jQuery等网页开发技术
熟悉MSSQL数据库系统的操作和使用
熟练使用MyEclipse等开发工具
熟练Tomcat等WEB服务器的应用
自我评价
1、本人有良好的团队合作精神,项目开发过程中积极主动的与各成员沟通交流。
2、能长时间承受工作压力,对待工作态度积极,对工作负责。
3、能在时间较紧迫的时候完成工作任务。
4、能够快速的适应各种工作环境,具有良好的分析能力,自学能力,适应能力;
个人概况
姓 名:liuxue86
出生年月:1990年12月
性 别:男
政治面貌:中共党员
学 历:本科
专 业:计算机科学与技术
英语水平:CET4/6
电 话:***********
求职意向
Java程序员
目标地点:福州
教育经历
在读院校:2010.9至今 福建农林大学 计算机科学与技术(java方向)
技术技能
熟练运用Java开发环境和项目构建
熟练应用JSP/Servlet/JDBC/JavaBean的MVC模式开发项目
熟悉Struts,Hibernate,Spring框架项目开发
熟悉掌握 i18n国际化应用、ajax技术、strust技术、ExtJS技术
熟练应用Java应用服务器进行Java软件开发:Apache Tomcat
熟练掌握主流的Java IDE工具,如:Eclipse,Myeclipse
项目经验
(1)网上书店系统
使用技术:Jsp javaBean servlet MySqlajax
项目功能:用户登录查看书籍信息加入购物车信用卡支付
主要负责:数据库层
项目收获:通过此项目对数据库的操作更加熟悉,使得页面与数据库得到了更好的交互。
(2)电子邮件应用
使用技术:Jsp javaBean servlet MySql JavaMail API ajax
项目功能:邮件发送 接收 查看
主要负责:业务服务器层
项目收获:采用了潮流的Ajax实现了邮件的发送和接收,也逐渐感受到Ajax的强大。
获得奖励及证书
2013学年,获国家“软件工程师”证书
2012学年,获“国家二等奖学金”荣誉
2011学年,获福州市“优秀志愿者”称号
2010学年,获福建农林大学“优秀团员”称号
个人评价
在校曾经任辅导员助手,班级团支书和实践部干事以及顾问、校网络中心管理员和维护员等职务。为人诚恳踏实,工作认真负责。为人乐观开朗,乐于与人交往。对新技术有极高的热情和洞察力,愿意接受新的挑战。既具有独立完成工作的能力,也具有很强的团队配合能力。能够遵循编程规范进行编码,对编程具有浓厚的兴趣有很强的学习能力、动手能力,曾经在学校网络中心当过培训讲师。
希望贵公司给我一个机会,我会为贵公司创造尽可能多的价值。谢谢!
个人资料
姓名:个人简历
性别:
目前所在: 广州 年龄: 23
户口所在: 广西 国籍: 中国
婚姻状况: 未婚 民族: 汉族
培训认证: 未参加 身高: 160 cm
诚信徽章: 未申请 体重: 45 kg
人才测评: 未测评
我的特长:
求职意向
人才类型: 普通求职
应聘职位: 软件工程师:JAVA软件工程师
工作年限: 2 职称: 中级
求职类型: 全职 可到职日期: 随时
月薪要求: 3500--5000 希望工作地区: 广州,,
工作经历
广州东方标准信息科技有限公司 起止年月:2008-03 ~ 2010-06
公司性质: 民营企业所属行业:计算机/互联网/通信/电子
担任职位: java程序员
工作描述:
1.参与需求的挖掘;
2.负责java程序开发, 测试,维护;
3.带领实习生进行项目开发,并协助其攻克技术难点;
4.重构“广东远程职业培训网”。
离职原因:
志愿者经历
教育背景
毕业院校: 广西职业技术学院
最高学历: 大专获得学位: 毕业日期: 2008-07
专 业 一: 计算机 专 业 二:
起始年月 终止年月 学校(机构) 所学专业 获得证书 证书编号
2007-11 2008-02 新东方IT培训学校 JAVA软件工程师 - -
语言能力
外语: 英语一般 粤语水平: 一般
其它外语能力:
国语水平: 优秀
工作能力及其他专长
1.具有面向对象思想,扎实的编程功底以及良好的编码习惯;
2.熟练应用Struts+Hibernate,SSH2框架和MVC三层架构开发模式;
3.熟练Oracle数据库的操作,能够编写存储过程,熟悉Mysql和SqlServer数据库;
4.熟练Tomcat服务器的部署及应用;
5.熟悉版本管理器SVN;
6.熟练使用Jsp,HTML,JavaScript,Jquery,Ajax,Css等WEB客户端技术;
7.了解设计模式,代码重构和项目过程管理,能够编写文档。
自我评价
自我鉴定
我身体健康,性格随和,五官端正,不怕苦不怕累。两年多的程序员生活锻炼了我坚强的意志,缜密的思维,以及强的抗压性;我做事有耐心,并且乐于学习新知识,更注重巩固旧知识。作为一名程序员,更重要的品质就是要懂得团队合作,而我恰好拥有团队合作精神,对工作认真负责。
项目经验
2010/3--2010/6:综合管理系统
软件环境:TOMCAT6.0+ MYSQL
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员4人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS 2+SPRING+HIBERNATE3.0、LOG4J、JQUERY、AJAX
软件描述:“综合管理系统”专门针对社会各类培训学校、培训中心而开发的一套综合性管理软件,对学校的日常事物进行记录,提高学校管理的工作效率。主要有“权限管理”,“历史记录”,“教务管理”,“学员管理”,“教学管理”,“财务管理”等模块。
责任描述:
1.带领实习生进行项目开发,从需求挖掘到程序开发;
2.协助实习生攻克技术难点;
3.负责“教务管理”,“学员管理”模块的开发;
2009/12--2010/2: 创业测评系统
软件环境:TOMCAT6.0+ ORACLE10g
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员4人,经理1人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS+HIBERNATE3.0、JQUERY、AJAX
软件描述:“创业测评系统”是省劳动保障厅主办项目“广东远程职业培训网”的一个子项目;以“广东远程职业培训网”的用户为用户,主要实现“测试”,“统计”,“行业方向管理”,“题库管理”,“测评报告管理”功能。
责任描述:负责“统计”,“题库管理”模块的程序开发;
1.“统计”中“自定义”统计功能以存储过程方式实现;
2.以树形菜单显示题目种类。
2009/2--2010/6:广东远程职业培训网
软件环境:TOMCAT6.0+ ORACLE10g
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员6人,经理1人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS+HIBERNATE3.0、IBATIS、JSP、JAVASCRIPT、JQUERY、AJAX
项目描述:“广东远程职业培训网”是省劳动保障厅主办项目,是一项长期项目;主要有以下功能:
1.“后台管理系统”,用于管理学员信息,课件信息,三级权限分配,对各地市级的学员进行统计等;
2.“学习平台”与FLASH进行交互,播放flash课件,提供给学员学习课程;
3.“CMS新闻发布系统”丰富页面内容。
我的任务:
负责“学员管理”,“课件管理”模块的程序开发;重构“统计”、“注册”模块。
1.“学员管理”实现增删改查,导入导出等功能。
2.以树形结构显示课件信息,并实现增删改查,停用启用功能。
3.重构“注册”功能,采用jquery.validator插件进行校验,ajax异步获取数据。
责任描述: 负责“学员管理”,“课件管理”模块的程序开发;重构“统计”、“注册”模块。
⑺ java学习心得
Java学习心得
引言
软件开发之路是充满荆棘与挑战之路,也是充满希望之路。Java学习也是如此,没有捷径可走。梦想象《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫"天神啊,请赐给我一本葵花宝典吧",殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了"东方不败",倒是成"西方失败"的几率高一点。
"不走弯路,就是捷径",佛经说的不无道理。
1.如何学习程序设计?
Java是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于Java,对C++等其他程序设计语言也一样管用。有编程高手认为,Java也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。
1.1培养兴趣
兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个"食利阶层"。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。
1.2慎选程序设计语言
男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。
如果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/Linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。
如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或.NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。
1.3要脚踏实地,快餐式的学习不可取
先分享一个故事。
有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。
这个故事给我们的启示是:欲速则不达。
浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入***主义社会。现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。就拿我比较熟悉的大连大工IT职业培训来说吧,居然打广告宣称"20多年的计算机职业教育,辽宁省十佳学校",殊不知中国计算机发展才几年,软件发展才几年,居然去报名的学生不少,简直是藐视天下程序员。培训出来的“程序员”大多不知道OO,OP为何物?社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。许多初学者C++/Java没开始学,立马使用VC/JBuilder,会使用 VC/JBuilder开发一个Hello World程序,就忙不迭的向世界宣告,"我会软件开发了",简历上也大言不惭地写上"精通VC/Java"。结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《C++编程思想》《Java编程思想》仔细钻研,早知如此何必当初呀。
"你现在讲究简单方便,你以后的路就长了",好象也是佛经中的劝戒。
1.4多实践,快实践
彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。
从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:"我打算去南海朝圣,你看怎么样?"富和尚说:"这里离南海有几千里远,你靠什么去呢?"穷和尚说:"我只要一个水钵,一个饭碗就够了。"富和尚为难地说:"几年前我就打算买条船去南海,可至今没去成,你还是别去吧!" 一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。
这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,"君子动口不动手"对软件开发人员来讲根本就是错误的,他们提倡"动手至上",但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副"比尔盖茨"样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。
1.5多参考程序代码
程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动,悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。
多多参考代码例子,对Java而言有参考文献[4.3],有API类的源代码(JDK安装目录下的src.zip文件),也可以研究一些开源的软件或框架。
1.6加强英文阅读能力
对学习编程来说,不要求英语, 但不能一点不会,。最起码像Java API文档(参考文献[4.4])这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个"金山词霸"。看多了就会越来越熟练。在学Java的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的"周扒皮"。
1.7万不得已才请教别人
笔者在Martix与Java论坛的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。
你是否在google中搜索了问题的解决办法?
你是否查看了Java API文档?
你是否查找过相关书籍?
你是否写代码测试过?
如果回答都是"是"的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。
1.8多读好书
书中自有颜如玉。比尔盖茨是一个饱读群书的人。虽然没有读完大学,但九岁的时候比尔盖茨就已经读完了所有的网络全书,所以他精通天文、历史、地理等等各类学科,可以说比尔?茨不仅是当今世界上金钱的首富,而且也可以称得上是知识的巨富。
笔者在给学生上课的时候经常会给他们推荐书籍,到后来学生实在忍无可忍开始抱怨,"天呐,这么多书到什么时候才能看完了","学软件开发,感觉上了贼船 "。这时候,我的回答一般是,"别着急,什么时候带你们去看看我的书房,到现在每月花在技术书籍上的钱400元,这在软件开发人员之中还只能够算是中等的 ",学生当场晕倒。(注:这一部分学生是刚学软件开发的)
1.9使用合适的工具
工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。工具可以提高开发效率,使软件的质量更高BUG更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。
2.软件开发学习路线
两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。
从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。
A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。
B.一门编程语言,现在基本上都是面向对象的语言,Java/C++/C#等等。如果做WEB开发的话还要学习HTML/JavaScript等等。
C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等
E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
F.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
G.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
H.项目管理、体系结构、框架知识。
正确的路线应该是:B→C→E→F→G→H。
还需要补充几点:
1).对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。
2).对于数据库来说是独立学习的,这个时机就由你来决定吧。
3).编程语言作为学习软件开发的主线,而其余的作为辅线。
4).软件工程师着重于B、C、E、D;软件设计师着重于B、C、E、D、F;架构设计师着重于C、F、H。
3.如何学习Java?
3.1 Java学习路线
3.1.1 基础语法及Java原理
基础语法和Java原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习Java也是如此,必须要有扎实的基础,你才能在J2EE、 J2ME领域游刃有余。参加SCJP(SUN公司认证的Java程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉Java基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得"真正"的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。
3.1.2 OO思想的领悟
掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是 CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。
使用面向对象的思想进行开发的基本过程是:
●调查收集需求。
●建立用例模型。
●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。
●细化分析模型到设计模型。
●用具体的技术去实现。
●测试、部署、总结。
3.1.3 基本API的学习
进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的"不需要重新发明轮子"。我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,Java DOC文档(参考文献4.4)就是这样的文档,它可以说是程序员与程序员交流的文档。
基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查Java DOC文档(参考文献4.4),二是使用JBuilder/Eclipse等IDE的代码提示功能。
3.1.4 特定API的学习
Java介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API。
3.1.5 开发工具的用法
在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对Java技术本身的注意力。过了这一阶段你就可以开始熟悉 IDE了。
程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、 Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。
从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。
Java开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder 占有的市场份额是最大的。JBuilder在近几年来一直是Java集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的 Java IDE大战中,以其快速的版本更新击败IBM的Visual Age for Java等而成就一番伟业。IBM在Visual Age for Java上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓"柳暗花明又一村"。浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。
3.1.6 学习软件工程
对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见"软件开发学习路线"小节。
3.2学习要点
确立的学习路线之后,我们还需要总结一下Java的学习要点,这些要点在前文多多少少提到过,只是笔者觉得这些地方特别要注意才对它们进行汇总,不要嫌我婆婆妈妈啊。
3.2.1勤查API文档
当程序员编写好某些类,觉得很有成就感,想把它贡献给各位苦难的同行。这时候你要使用"Javadoc"工具(包含在JDK中)生成标准的Java DOC文档,供同行使用。J2SE/J2EE/J2ME的DOC文档是程序员与程序员交流的工具,几乎人手一份,除了菜鸟之外。J2SE DOC文档官方下载地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下载。也可以在线查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。
对待DOC文档要像毛语录,早上起床念一遍,吃饭睡觉前念一遍。
当需要某项功能的时候,你应该先查相应的DOC文档看看有没有现成的实现,有的话就不必劳神费心了直接用就可以了,找不到的时候才考虑自己实现。使用步骤一般如下:
●找特定的包,包一般根据功能组织。
●找需要使用类,类命名规范的话我们由类的名字可猜出一二。
●选择构造器,大多数使用类的方式是创建对象。
●选择你需要的方法。
3.2.2 查书/google->写代码测试->查看源代码->请教别人
当我们遇到问题的时候该如何解决?
这时候不要急着问别人,太简单的问题,没经过思考的问题,别人会因此而瞧不起你。可以先找找书,到google中搜一下看看,绝大部分问题基本就解决了。而像"某些类/方法如何使用的问题",DOC文档就是答案。对某些知识点有疑惑是,写代码测试一下,会给你留下深刻的印象。而有的问题,你可能需要直接看 API的源代码验证你的想法。万不得已才去请教别人。
3.2.3学习开源软件的设计思想
Java领域有许多源代码开放的工具、组件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive论坛、PetStore宠物店等等多如牛毛。这些可是前辈给我们留下的瑰宝呀。入宝山而空手归,你心甘吗?对这些工具、框架进行分析,领会其中的设计思想,有朝一日说不定你也能写一个XXX框架什么的,风光一把。分析开源软件其实是你提高技术、提高实战能力的便捷方法。
3.2.4 规范的重要性
没有规矩,不成方圆。这里的规范有两层含义。第一层含义是技术规范,多到http://www.jcp.org下载JSRXXX规范,多读规范,这是最权威准确最新的教材。第二层含义是编程规范,如果你使用了大量的独特算法,富有个性的变量及方法的命名方式;同时,没给程序作注释,以显示你的编程功底是多么的深厚。这样的代码别人看起来像天书,要理解谈何容易,更不用说维护了,必然会被无情地扫入垃圾堆。Java编码规范到此查看或下载http://Java.sun.com/docs/codeconv/,中文的也有,啊,还要问我在哪,请参考3.2.2节。
3.2.5 不局限于Java
很不幸,很幸运,要学习的东西还有很多。不幸的是因为要学的东西太多且多变,没时间陪老婆家人或女朋友,导致身心疲惫,严重者甚至导致抑郁症。幸运的是别人要抢你饭碗绝非易事,他们或她们需要付出很多才能达成心愿。
Java不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习Java集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是"需要的时候再学"的原则。
4.结束语
需要强调的是,学习软件开发确实有一定的难度,也很辛苦,需要付出很多努力,但千万不要半途而废。本文如果能对一直徘徊在Java神殿之外的朋友有所帮助的话,笔者也欣慰了。哈哈,怎么听起来老气横秋呀?没办法,在电脑的长期辐射之下,都快变成小老头了。最后奉劝各位程序员尤其是MM程序员,完成工作后赶快远离电脑,据《胡播乱报》报道,电脑辐射会在白皙的皮肤上面点缀一些小黑点,看起来鲜艳无比…… 拖起明天的梦想还得靠自己!
⑻ java程序员培训有哪些课程什么内容
java程序员培训有哪些课程?什么内容?今天昌平北大青鸟java老师就以昌平键贺誉北大青鸟java培训课程为例为大家介绍。
昌平北大青鸟java培训课程体系是基于广泛的调研,及对数万家企业用人需求的分析而精心设置的。课程打造的七项实用技能,让学员不仅能熟练掌握及应用JAVA技术,更能达到企业的用人标准。下面详细介绍昌平北大青鸟java培训课程的内容。
1.夯实Java基础:当前的Java新技术层出不穷,各企业有不同的侧重,根据企业用人需求,只有具备坚实的Java基础功底的程序员才能快速掌握新技术。昌平北大青鸟的Java基础课程体系的深度在行业内首屈一指,学员会在核心算法、面向对象应用、数据结构及集合框架、反射、输入输出、多线程、异常处理等方面深入细致地学习,而这些正是企业面试中最常涉及的问题,是学员获得高薪的基础。
2.熟习Linux操作系统:Linux是当前使用最广泛的服务器操作系统。昌平北大青鸟的Java授课过程全程在Linux环境中完成(学员使用电脑全部为Linux环境),同稿段时还专门设有Linux的相关课程。学员在成为合格的Java工程师的同时还会具备熟练的Linux操作技巧,这正是在企业面试中获得加分的重要指标之一。
3.深入学习数据库技术:当前的企业及互联网应用完全离不开数据库技术。在任何一个大中型应用中,数据库设计的好坏、数据库访问的效率直接决定了该项目的成败。昌平北大青鸟的数据库技术包括当前最主流的Oracle和MySQL两种数据库,内容全面深入。除了数据库体系结构和SQL语句之外,还在数据库设计、SQL语句优化方面有很大的加强。
4.系统的Web前端技术:伴随着互联网技术由Web2.0向Web3.0迈进,Web前端技术,包括HTML、CSS特别是JavaScript语言越来越被企业所看重。很多企业专门为此新增“Web前端工程师”岗位。昌平北大青鸟的Java课程体系为此设置充足时间学习JavaScript及其相关的Ajax、JQuery框架、Ext-JS框架。毫不夸张地说,如果完全掌握了昌平北大青鸟的Web前端技术,甚至仅凭借JavaScript技能就可收获一份不错的工作。
5.企业级框架:Java是组件和框架的世界,几乎所有的Java程序员和Java应用企业都了解Java框架的重要性。昌平北大青鸟技术专家经过严谨调研,了解Java企业客户实际应用需求,按照企业需要定制了企业级框架课程。
(1)在Servlet/JSP课程中会独立完成一个Struts1的框架,这样就既了解了Struts1,又深入学习了MVC框架的底层原理。
(2)作为Java框架的佼佼者,Spring在企业应用中的地位一路攀升。新课程体系中进一步增加Spring的课程量,增加对其深入的了解,并且会涉及到由Spring衍生出的SpringSide等“脚手架”型框架。
(3)在深入领悟Spring核心基拍唯础之上,重点加强目前最热的SpringMVC和SpringJDBC内容,与企业实际应用接轨。
(4)数据持久层框架重点学习编码简洁,运行高效的MyBatis框架,并且也保留经典的轻量级框架Hibernate课程内容。
(5)在学习了流行的SpringMVC+MyBatis框架整体解决方案之后也要学习经典的SSH整合使用技术,全面且不落伍。
6.专门的企业开发及部署环境:企业在开发、测试、部署实际项目时需要有特定的软件环境。很多企业和学员不太重视这些环境,导致在工作中出现很多问题和失误甚至被淘汰。昌平北大青鸟Java课程体系中加入了专门的企业开发及部署环境课程,重点讲述Linux高级命令及脚本编程、远程登录、Ant、单元测试技术、Maven构建技术、SVN应用技术等等。
7.规范的企业开发流程及文档:软件开发是团队合作,因此企业开发流程和文档规范尤为重要。这也是企业区分“草根程序员”和“正规程序员”的重要指标之一。昌平北大青鸟Java课程所有的实践项目,无论规模大小,都严格按照企业开发的流程进行(需求分析、系统设计、编码实现、单元测试、系统测试、部署上线),所有的开发文档完全达到甚至已经超过了大多数企业的要求。