java程序员的进阶

2022-09-21

第一篇:java程序员的进阶

Java编程进阶类

Java编程进阶类书籍

打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。

1、《重构 改善既有代码的设计》

这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对你产生影响是潜移默化的。

2、《测试驱动开发 by Example》

本书最大特点是很薄,看起来没有什么负担。你可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。

注:学IT首选长沙牛耳软件教育学校,成就人生梦想。

牛耳软件教育成立于2001年,是中国最早专业从事IT职业教育的机构之一,也是中国十大品牌IT教育机构,湖南省指定“服务外包人才培训基地”,是湖南乃至整个中南地区最大的软件工程师培训基地。

牛耳依托自身丰富的IT行业经验,9年来一直致力于为IT企业培养和输送高质量、专业化计算机软件开发人才。目前,牛耳已建立起了从软件技能培养、职业素质训练、项目实训到人才输送的一体化服务体系。

牛耳已在长沙-大连两大城市建立三大校区,近30000平米的现代化教学场地,拥有教职队伍近300人,在校学生达4000人。配备现代化液晶电脑机房和专业服务器、多媒体教室、实习机房、项目开发区、案例讨论室、软件评测室、图书室等齐备的教学设施,并建立标准的学生宿舍、食堂、浴室、超市等生活设施。是广大学子理想的求学成才场所。

作为专业的IT教育机构,牛耳依托国防科技大学雄厚计算机教育背景,融合国内外优秀IT职业教育的成功经验,研发了拥有自主知识产权的课程体系。依照CMMI3质量管理体系来开展IT职业教育的教学工作,统一品牌、统一课程体系和标准课件,实现标准化的项目实习案例。

9年来,牛耳软件教育的发展目标始终定位在培养专业化、职业化的软件人才,始终坚持“对学生负责、对家长负责、对企业负责、对社会负责”的办学理

念。牛耳软件教育提倡 “学历+技能”的新型教育模式,凭借先进的教学理念、国际化的产业视野、自主的课程研发体系、严格的标准化管理体系,为中国IT产业培养了8000余名软件专业技术人才,学生以扎实的技术功底和良好的职业素质,得到各用人企业的高度认可。

热忱欢迎广大学子来我校就读,为自己创造美好的未来!

第二篇:程序员入门进阶手册

这篇文章,我主要是让你成为更为专业的入门程序员。请注意,此时,你可能需要读一些比较枯燥的书,但我想说,这些是非常非常重要的。你一定要坚持住。

编程技能

在系统地学习编程技能之前,我希望你能先看一下 " The Key To Accelerating Your Coding Skills", 这篇文章会告诉你如何有效地快速提高自己的编程能力。 然后接下来是下面几大块内容,但还只是入门级的。

编程技巧方面这个阶段,你可以开始了解一下 Java 语言了,我个人觉得 Java 是世界上目前为止综合排名最好的语言。你一定要学好这门语言。推荐《Java 核心技术(卷 1)》,除了让你了解 Java 的语法,它还会让你了解面向对象编程是个什么概念(如果你觉得这本书有点深,那么,你可以降低难度看更为基础的《Head First Java》)。然后,既然开始学习 Java 了,那就一定要学 Spring,推荐看看《Spring in Action》或是直接从最新的 Spring Boot 开始,推荐看看《Spring Boot 实战》。关于 Spring 的这两本书,里面可能会有很多你从来没有听说过的东西,比如,IoC 和 AOP 之类的东西,能看懂多少就看懂多少,没事儿。 

操作系统。这里你可以看看《鸟哥的 Linux 私房菜》,这本书会让你对计算机和操作系统,以及 Linux 有一个非常全面的了解,并能够管理或是操作好一个 Linux 系统。当然,这本书有很多比较专业的知识,你可能会看不懂,没关系,就暂时略过就好了。这本书的确并不适合初学者,你能看多少就看多少吧。

 网络协议你需要系统地了解一下数据库设计中的那些东西,这里推荐慕课网的一个在线课程 --"数据库设计的那些事"。每个小课程不过 5-6 分钟,全部不到 2 个小时,我相信你一定能跟下来。你需要搞清楚数据的那几个范式,还有 SQL 语句的一些用法。当然,你还要学习和使用一下数据库,这里推荐学习开源的 MySQL。你可以看官方文档,也可以看一下这本书《MySQL 必知必会》。  前端方面在你处理中文时有时会发现有乱码出现,此时需要了解 ASCII 和 Unicode 这样的字符编码。这里推荐一篇文章Character encoding。还有 Github 上的这两个 Awesome 仓库:Awesome Unicode 和 Awesome Code Points。 

为什么转成 Java 语言?

相信你可能会问,为什么之前学习的 Python 和 JavaScript 不接着学,而是直接切到 Java 语言上来,这样会不会切得太快了。这是一个好问题,这里需要说明一下,为什么我会切到 Java 这个语言上来,主要是有以下几方面考虑。 1. Java 是所有语言里面综合实力最强的,这也是为什么几乎所有大型的互联网或是分布式架构基本上都是 Java 技术栈。所以,这是一个工业级的编程语言(Python 和 JavaScript 还达不到这样的水准)。

2. 之所以,没有用 Java 来做入门语言而是用了 Python,这是因为编程是一件比较费脑子的事,一开始学习时,兴趣的培养很重要。Python 比较简单,容易上手,能够比较容易地提起兴趣,而用 Java 则可能比较难。 3. 在你有了一些编程语言的基础后,有了一些代码的逻辑后,切到工业级的编程语言上来,更为专业地学习编程,是非常有帮助的。像 Python 和 JavaScript 这样的动态语言用着是很爽,但是,只有像 C、C++ 和 Java 这样的静态语言才可以让你真正地进阶。

4. 对于一个合格的程序员,掌握几门语言是非常正常的事情。一方面,这会让你对不同的语言进行比较,让你有更多的思考。另一方面,这也是一种学习能力的培养,会让你对于未来的新技术学习得更快。很多时候,一些程序员只在自己熟悉的技术而不是合适的技术上工作,这其实并不好,这会让你的视野受限,而视野会决定你的高度。综上所述,这就是在入门的时候我故意让你多学几门语言的原因。

编程工具

编程工具方面,你需要开始学习使用下面这些工具了。

 编程的 IDE。传统一点的,你可以使用 Eclipse。当然,我推荐你使用 Intellij IDEA。这两个工具都可以开发各种语言,但是主要用在 Java。如果你想玩得更时髦一些的话,使用 Visual Studio Code 也不错,这个工具潜力十足,用其开发 Python、JavaScript、Java、Go、C 和 C++ 都能得心应手(教程 - 本文发布时还基本没怎么翻译完)。

 版本管理工具。版本管理工具是非常重要的编程工具。传统的有 P

4、 SVN、CVS 等,但都会被 Git 取代,所以,你就只用学习 Git 就好了。学习 Git 的教程网上有很多,这里我推荐非常系统的 Pro Git 第二版(如 果你觉得 Pro Git 比较枯燥的话,备选猴子都能懂的 Git 入门),然后你要学会使用 GitHub。关于一些 Git 环境安装和准备以及 GitHub 使用,你可以自行 Google(比如:这篇Github and Git 图文教程 或是这篇Git 图文教程及详解)。

 调试前端程序。你需要学会使用 Chrome 调试前端程序,Google 一下会有很多文章,你可以看看 超完整的 Chrome 浏览器客户端调试大全。  数据库设计工具。你需要学会使用 MySQL WorkBench,这个工具很容易使用。相关的手册,你可以看一下官方文档。

实践项目

这回我们需要设计一个投票系统的项目。 业务上的需求如下:

     用户只有在登录后,才可以生成投票表单。 投票项可以单选,可以多选。

其它用户投票后显示当前投票结果(但是不能刷票)。 投票有相应的时间,页面上需要出现倒计时。

投票结果需要用不同颜色不同长度的横条,并显示百分比和人数。

技术上的需求如下:

这回要用 Java Spring Boot 来实现了,然后,后端不返回任何的 HTML,只返回 JSon 数据给前端。

 由前端的 JQuery 来处理并操作相关的 HTML 动态生成在前端展示的页面。

 前端的页面还要是响应式的,也就是可以在手机端和电脑端有不同的呈现。 这个可以用 Bootstrap 来完成。 

如果你有兴趣,还可以挑战以下这些功能。

在微信中,通过微信授权后记录用户信息,以防止刷票。  可以不用刷页面,就可以动态地看到投票结果的变化。

 Google 一些画图表的 JavaScript 库,然后把图片表得风骚一些。 

小结 上面那些书和知识你要看完,还要能理解并掌握,我估计你最少也要花 1-2 年左右的时间。如果你能够走到这里,把前面的那些知识都了解了,不用精通,能独立地做出上面的那些实践项目,那么,你就算是真正的入门了。

而且,你已经是一个 " 全栈工程师 " 的样子了,在这里我要给你一个大大的赞。如果这个时候,你对编程还有很大的热情,那么我要恭喜你了,你可能会是一个非常不错的程序员。加油啊!

上面的那些技术已经算是比较专业的了。如果你已经大致掌握了,我相信你可以找到至少年薪 20 万以上的工作了,而且你的知识面算是有不错的广度了。但是深度还不够,这个时候,是一个比较关键点了。

你可能已经沉醉在沾沾自喜的骄傲的情绪中,那么你也可以就此止步,加入一些公司,在那里按部就班地完成一些功能性的开发,成为一个搬砖的码农。你也可以开始选择一个方向开始深入。

我给你的建议是选择一个方向开始深入。因为你并不知道你未来会有多大的可能性,也不知道你会成为什么样的人,所以为什么不再更努力一把呢?

后面,我们就开始非常专业的程序员之路了。这也是一般程序员和高级程序员的分水岭了,能不能过去就看你的了。

第三篇:如何成为优秀的Java程序员成都Java培训

如何成为优秀的Java程序员成都Java培训

成都国信安Java班由副教学总监,优秀讲师带队并亲自授课,秉承成都国信安一贯的专业品质态度,在课程质量,学生素质,就业服务上相当严格要求,并以学业满意就业为目标,打造国内优秀Java培训班,感兴趣的同学不妨关注国信安教育基地了解一下吧。

在求职旺季,面对新的工作,你磨刀霍霍,投了简历,马上要去面试的时候却又怂了,面试官会问我哪些问题呢?万一他问的我答不上来怎么办?是不是很丢脸,是不是就错失了一次良机,成都国信安职业规划师来帮你,轻松搞定求职中,面试官的那些套路!

你有没有发现,只要是资深HR,也就是老司机,貌似都会问这些个问题,往往让你措手不及,又让HR暗自叫爽。

请你简单介绍一下自己。

这是一个送分题,但是却是一个大陷阱。HR一般上来喜欢甩手问这个,看似让你简单介绍,请注意关键词,是简单介绍。你说多了,会嫌弃你啰嗦,你一句话概括,会觉得你敷衍,口才不行,或者就是个大傻缺。所以,真的是不好控制节(字)奏(数)啊!

HR内心戏:如果将自己的名字、职业、上一份工作、出身等说一通的人,肯定是个大傻缺,我难道不会自己看简历吗?然而,99.9%的人都会这么做。面了那么多次,都是“假”的面试。

正确做法:将自己的主要成就和擅长领域介绍一遍,不用浮夸,如实反馈并稍加包装即可,言简意赅,直戳重点,最好是和该行业相关的。如果实在没啥成就,例如应届毕业生,可以将自己在校组织的活动或者一次比较好的经历拿出来做自我介绍。请注意,HR就是想知道你在自我介绍中所透露的主要技能和独特之处,并不是想听你流水账式的将自己的简历说一遍,这样很LOW!

小编点评:这么多年了,希望你们可以学学乖,这一招学会,记得下次去装逼!绝对会有意想不到的收货,祝愿我的小伙伴们都能轻松应对求职,谋的好工作。

四川地处中国大西南,肥沃的土地,丰富的自然资源,悠久的历史和绚烂多彩的少数民族文化,构成了多样性的自然和文化旅游资源。每到中考季,很多初中生总是为自己的未来前途担心,尤其是一些学习成绩不好的初中生,他们不知道中考没考上怎么办。同时许多家长也担心,自己的孩子年龄还小,进入社会显然不合适。这个时候职业培训学校更加适合,放眼众多学院,四川国信安职业培训学校无疑是非常合适的。

一说起IT培训,很多人都表示苦不堪言,总有人被虚假信息坑过。很多人表示自己对其一窍不通,实在不知道怎么办才好。别着急,让小编为你奉上这些必备小技巧,带你快速简单的上手。那么,实用的攻略有哪些?一般会选择哪家呢?哪个是最实用呢?下面就随小编来看一看吧~

很多刚刚从事Java编程职场的同学进入企业,没有了授业解惑的老师,没有了可以互相讨论代码的同学,更不清楚在职场中应该学习的方法,今天小编就分析下Java程序员的职场经验,希望对大家有所帮助。

首先要懂几门语言。

可能你会想,不就是开发语言麽,这有何难,懂一门就够了,好吧,我不反驳你,就拿Javaweb程序员举例吧。Java语言是基本的,各种Java框架你得会,html、css、Java网页前端语言也需要会,不会前端语言不能说自己是web程序员。这些在web应用中都是非常重要的。photoshop基本的切图也得会一点,总不能每次切张小图也去找美工吧,你要知道,很多公司是没有美工的,遇到这样的情况还得是我们程序员自己来做。

观察总结项目或生活中想到的亮点,每一个项目都有它独特的亮点所在,甚至是一个小小的页面功能,都会有它特有新颖的亮点设计,我们看的不仅仅是它的展示效果,更重要的是我们能通过这个效果,联想到什么,学习到了什么。

不要把手上的工作拖到明天,那样会积攒的越来越多,也不要在工作期间老是打酱油,否则经理一怒之下,临下班的时候,给你发过来一个任务,让你务必今天完成,那你就悲剧了。

要做好吃苦的准备

所谓苦练七十二变,方能笑对八十一难。我刚开始学编程的时候,有时候一个程序报错了,找了一天没找出是哪的错,此时叫天天不应,叫地地不灵,有种想砸电脑的感觉,最终还得耐着性子把错误找出来,因为这个错误如果不解决,你的程序没法往下进行,后面的工作就没法展开了,而且只有你遇到的错误越多,你的水平才提高的越快,一个好的程序都是在不断调错中完善的。

学好编程决不是一个简单的事情,它是一个长期的过程,需要你不断的尝试,不断的练习,不断的总结,多做项目,在实际开发中总结经验。书本上的知识只是理论,最终还需要实际电脑操作,以实战为主才行。可能你会说,我见过很多程序员,三个月就学会了一门编程语言,而且找到了一份工作。我想告诉你的是,你没有看到他背后的付出,这样的人往往是从学编程开始起,每天只睡几个小时,其余时间全部在写代码,三个月写的代码量是别人一年的还多。而且即使找到工作,如果基础没有打好,到工作中压力是很大的,所以建议大家学编程时不要着急,把底子打好,是金子在哪都发光。我身边经常有这样的例子。有一个朋友,他没有任何的编程基础,英语水平也很差,计算机打字都得现学,但就是想学编程,每天凌晨四点起床背英语单词,别人在休息,他在写代码、练打字,奋斗程度不亚于高考,就这样凭着顽强的毅力,最终成为了一个很出色的Java程序员。

想学好编程,成为一个优秀的程序员,一定要多做项目,编程的很多知识书本上都没有,只能在实际做项目中找到答案。所以大家不要放

过每一次做项目的机会,在做项目中总结经验,与项目一起共同成长。相信每一个人都可以成为出色的程序员。

成都国信针对上班族,在校生,自学者开设了Java周末课堂学员在业余时间学习,为没有时间全日制面授的学员打开通往Java工程师之路的大门。Java夜校班由副教学总监,优秀讲师带队并亲自授课,秉承成都国信安一贯的专业品质态度,在课程质量,学生素质,就业服务上相当严格要求,并以学业满意就业为终极目标,打造国内优秀Java业余培训班,感兴趣的同学不妨关注动力节点了解一下吧。

国信安IT培训基地专注java培训、php培训、UI设计培训、软件测试培训、大数据培训、web前端培训等培训课程。你们准备好怎么学习IT技术了吗?来参加国信安IT培训课程,你的选择不会有错!

第四篇:程序员眼中的JAVA

Java,事实上它拥有足够的能量让你的应用跑起来。那些对Java吹毛求疵人频繁地聚焦在一些小众问题上,总是和其他技术或者语言做些不公平的对比,这些语言并没有像Java一样得到广泛应用及长远的历史。

现在的小孩都能学Java,它在Web和企业开发中广泛被采用,特别是近些年更是有了些让人惊讶的改善,一些新特性正在筹备中。即使抛开这些最新的特性,Java仍然很酷,应用的广泛性、JVM平台背后卓越的设计、清晰的语法、拥有丰富的工具和库文件构成的生态系统。Oracle说有超过 9,000,000 Java 开发者(亿万的应用和设备用户),所以为什么我会听到诸如“Java正在被淘汰中”,2007年开始,Java就已经沦为“21世纪的Cobol语言”的言论?

Java平台是工程师的梦想

首先就是Java平台的存在,HotSpot JVM 是一项非凡的设计,CLR(公共语言运行库)有了大量的优化,Java应用在性能上甚至可以与C相媲美,当然还有其他可选的虚拟机供可用(如:JRockit,Zing),应你的环境有特殊的需求而定。

再者,多种基于JVM的语言使得这个平台更奇妙,如:Groovy,Jython,JavaFX,Scala,当然还不局限于以上流行的语言。Java现在包含有字节码指令:invokedynamic和java.lang.invoke包,使得JVM构建动态语言更简单,现在已经有超过50中基于JVM的语言。其中最有意思的一个是php.reboot,它的目标是保持php的哲学理念,但是移除了其中一些缺陷,而且它同样能在Android中运行。

Java是一门成熟的语言,并不适合“老人”

Java成为被批评,抱怨,诅咒的靶子,我说这门语言还没死,恰恰相反当有人抱怨Java的时候正是推广Java时机。人们总会做些奇怪的对比,好 像仍然以为Java还是停留在1.4的版本,用记事本编写、需要EJB2的支持、只能用来写写简单的留言板,然后把这些用来与一个高端框架甚至是CMS来对比。

作为Java程序员,这种对比对我来说没有任何意义。更为明智的方法对比Java就得理智地选择竞争对手,看看Java vs PHP、Python或者Ruby,或者用框架Play 对比 Ruby on Rails,SpringMVC vs Zend Framework,有鉴于此,我觉得Java似乎根本就不适合老人。

Java 冗长吗?当然

人们常说Java太啰嗦了,减缓了运行速度。批评者矛头通常指向Java的强类型静态语言特性,缺乏前沿技术在语言中,然而,我认为他们是经过深思熟虑的,而且这正是Java良好的特性。动态语言在启动一个小项目时开始会觉得很受欢迎,但是可以考虑一下,在时髦框架及合适的工具(如:考虑用IDE代替记事本)下创建一个“Hello 留言板”类型的应用,

Java很简单,只是10分钟的事情,如果你想做个试验的话,使用Spring Roo 再准备一个秒表,如果有需要的话。现在就可以开始繁琐的CRUD了。

想象一下,你正为移动运营商搭建一个系统,运行客户登陆网站,你不得不在后台调用各种子系统收集大量的数据,Cool框架通常分解你的程序模块而不需要匹配任何用户模型。要更多的了解建议你看看Joel Spolsky发表的一篇文章。

Java是一门强类型静态语言

强类型静态语言有很多好处,我喜欢它简单的视觉外观,我可以粗略看一段代码就知道是做什么的,它就像是可视化的用英语反馈,语言非常易读,字母混合成单词仍然可读。其它的一些好处是有强大的IDE支持,动态语言在这点一直是弊端,大项目中有强大的IDE和工具支持是无价的。

批判者的观点在Java在读文件、转换xml或迭代集合的时候缺乏表达力,但是你可以总是创建一个方法去处理这些常用的事例,或者是用 FileUtils.readLines(),java语言上表达力的缺点有很多库对其支持。在Java7中能看到一些优雅的加强型功能,如自动关闭资 源、siwtch语句支持String、数字类型支持下划线(强烈建议读Coin 项目)。Java8承诺了更多的东西(最有意思的应该是闭包)。Java是不是在任何方面都是那么的完美无缺呢?当然不是,这就是Java

8、Java9在准备阶段的原因。我个人也不喜欢那些不太优雅的核心API.是否的确将更多的事情留给平台而不是语言本身?java核心包括API进阶设计跨度长达20年,API的更新会破坏向后兼容性,有些设计太抽象,但有些还不够抽象,有些太零碎,有些根本不可思议。看看其竞争对手.NET,核心API做的很好,比如统一的通信API。Java8在Jigsaw项目的帮助下,会有所改变。

所以你值得拥有Java,正确地使用它,它是一门很棒的语言。堪比Klingon语言,它将继续改善并不会很快消失。不应把努力放在取代Java上,而是和其他JVM语言结合使用,这是最明智的,但是对我的下一个Pet Clinic 还是坚持使用Java。

此资料来自汇文教育bbs 想了解跟多资料请访问汇文教育网站

第五篇:java程序员的成长之路

Java目前是最流行的语言之一,是很多公司和程序员喜爱的一门程序语言. 而且, Java的入门比C++相对来说要简单一些, 所以有很大一部分程序员都选择Java作为自己的开发语言. 我也是其中之一, 就是因为觉得学C++太难, 当初在学校学了将近一个学期的C++, 啥进步都没有, 哈哈, 天资太差, 所以才选择自学Java(当时学校并没有开设Java的课程), 才走上了程序开发这条路.

Java虽然入门要容易, 然而要精通它, 要成为专家却很难. 主要原因是Java所涉及的技术面比较宽, 人的精力总是有限的. 有些Java方面的技术是必须要要掌握的, 钻研得越深入越好, 比如多线程技术.

1. 基础阶段

基础阶段, 可能需要经历1-2年吧. 这个时段, 应该多写一些基础的小程序(自己动手写的越多越好). 计算机是一门实践性很强的学科, 自己动手的东西, 记忆非常深刻, 效果要胜过读好多书. 当然, 学Java基础的时候, 书籍的选择也非常重要, 好的书籍事半功倍, 能让你打个非常好的基础. 而差的书籍, 很容易将你带入歧途, 多走很多弯路. 书籍不在多, 而在乎读得精(有些书, 你读十遍都不为过). 我记得我学Java的第一本书是的中文版, 网上有很多人都建议不要把这本书作为第一本的入门教程来看, 太难. 我却想在此极力推荐它, 这本书确实是本经典之作. 而且书中确实讲的也是Java中的一些基础技术, 没有什么太难的东西, 只不过比较厚, 学习周期比较长, 所以很多人中途会选择放弃. 其实, 这本书是一本难得的入门教程, 对Java一些基础的东西, 讲得很全, 而且也很清晰, 更重要的是, 这本书能让你养成很多好的编程习惯, 例子也很多. 建议你把大部分的例子自己去实现一遍.我的亲身经历, 我记得当时认真的看了2遍, 花了大概7个月的时间, 不过真的有很好的效果. 另外一个教程, 就是卷一, 卷二的话可以不必要买. 卷一看完, 自己再钻研一下, 就已经能达到卷二的高度了:). 到那时, 你就会觉得看卷二没啥意思, 感觉浪费钱了. 还有一个, 就是张孝祥的Java视频, 看视频有个好处, 就是比看书的记忆要深刻, 还有很多你可以跟着视频的演示同步操作. 张孝祥的Java视频对初学者来说, 确实很有作用. 总结起来: 看这些资料的时候, 一定要多写例子, 写的越多越好!

2. 中级阶段

中级阶段, 是一个更漫长的时期, 能否突破此阶段, 跟个人的努力和天资有着很大的关系. 你不得不承认, 同样一门新技术, 有些人一个月领悟到的东西, 比你一年的都多. 这就是天资, 程序员是一个需要天才的工作. 我想, 很多人听说李一男吧, 此君就是这样的人物, 三个月的时间就能解决好大一帮人几年解决不了的问题, 给华为某部门带来了很多的收益. 哦, 这是题外话了, 与此篇的主题无关, 只是本人偶尔的感慨而已:).这个阶段, 就需要研究很多专题性的东西了, 比如: IO的实现原理, 多线程和Java的线程模型, 网络编程, swing, RMI, reflect, EJB, JDBC等等很多很多的专题技术, 钻研得越深越好. 为了更好的提高, 研究的更深入, 你需要经常到网络上搜索资料, 这个时候往往一本书起不来很大的作用. 选一个JDK版本吧, 目前建议选用1.6, 多多研究它, 尤其是源

代码(尽量! 就是尽自己最大的努力, 虽然研究透是不可能滴). 比如

说: util, collection, io, nio, concurrent等等包. 可能有人会反对我说, 不是有API文档吗, 为什么还要研究这么多的源代码? 错了, 有API文档, 你仅仅只是知道怎么用而已, 而认真仔细的研读这些大牛的源码, 你就会深入更高的一个阶层, 自己的编码, 设计都会有很大的提高. 如果有能力和精力, 我建议你把JDK的每一行代码都熟悉一遍, 绝对只有好处, 没有坏处! 而且你会有些意外的收获, 比如, 当你仔细地读完concurrent包的时候(不多, 好像总共是86个类吧), 你就会对Doug Lea佩服得五体投地. 这个时候最忌碰到难题就去寻找帮助, 去网上找答案! 先把自己的脑袋想破吧, 或者等你的老板拿着砍刀冲过来要把你杀了, 再去寻求帮助吧. 对于专题的学习, 英文原版的阅读是非常必要的, 看的越多越好, 多上上IBM的developer, SUN的网站吧, 当然Javaeye也很不错:), 有很多大牛, 呵呵.

这个时候, 你应该建立自己的代码库了, 你应该自己去研究很多有意思的东西了. 从一个200多M的文件中寻找一个字段, 最坏情况(在文件的末尾咯)也只需要1秒左右的时间, 你知道吗?这个阶段, 有很多很多类似的有趣的东西可以供你去研究, 你需要更多地关注性能, 规范性, 多解决一些疑难问题. 需要学会所有的调试技术, 运用各种性能工具, 还有JDK附带的很多工具, 这些你都要熟练得跟屠夫操刀一样. 也可以看看

, 这本书总结的也不错, 对写高效稳定的Java程序有些帮助. 也可以看看模式方面的东西, 但是我建议模式不要滥用, 非得要用的时候才用, 模式往往会把问题搞复杂:). 总结起来: 这个阶段是一个由点延伸到面的过程, 经过不断的学习, 演变成全面的深入! Java技术中你没什么盲点了, 还能解决很多性能问题和疑难问题, 你就成了一个合格的程序员了! :)[要想成为优秀程序员, 还得对数据库和操作系统很精通.]

3. 高级阶段

高级阶段, 我就不敢妄言了. 呵呵, 我感觉自己也是处于中级阶段吧. 也是根据自己的一些经验, 谈谈自己的理解吧:

这个阶段, 需要研究各种框

架, Spring, struts, Junit, Hibernate, iBatis, Jboss, Tomcat, snmp4j等等, 我觉得这个时候, 只要是用Java实现的经典框架, 你都可以去研究. ------在此申明一下, 我的意思不是说会用. 光会用其实是远远不够的, 你可以选择自己喜欢钻研的框架, 去好好研究一下, 兴趣是最好的老师嘛.

建议开始的时候, 研究Junit和Struts吧, 小一点, 里面都采用了很多的模式, 呵呵, 可以熟悉一下, 尽量想想人家为什么这么做. 我建议主要的精力可以花在spring和jboss上, 尤其是jboss,经典中的经典, 设计, 性能, 多线程, 资源管理等等, 你从中可以学到的东西简直是太多了. 而且它还有一本写得很好的参考书, 叫, 英文方面的资料也是非常的多. 在工作中如果有机会参与架构的设计, 业务问题的讨论, 一定想方设法杀进去! 这对自己的设计能力, 以及对设计如何运用在业务上有很大的帮助. 毕竟, 程序都是为了更好地实现用户的业务的. 这个时候, 需要更多看看软件工

程和UML方面的资料, 或者自己主持一个项目玩玩, 不一定非得出去拉项目赚钱(能赚钱当然更好), 不管成功或失败, 都是很宝贵的经验, 都能提高很多!

上一篇:stem教育设计原则下一篇:100条林业宣传标语

本站热搜

    相关推荐