最后一篇介绍几个常见的概念
设计模式
这可不仅是java独有
我看的书就是c++和smalltalk例子的
先说说什么是设计模式
模式是什么?模式是经验的总结,潜规则的抽象
什么意思呢?比如说我们坐飞机,上飞机前需要经过几个步骤
什么安检领取登机牌之类的,这一套流程能不能改呢?
可以,但为什么几乎全世界的航空公司登机前都是这一套流程呢?
因为航空公司经过长期实践之后得出了一堆结论和经验
并认为这样做才是最安全,或说是最有效率的
这就是模式,模式是编程高手之间交流的桥梁
两个编程高手通过统一命名的模式了解对方的思想
当然不借助模式可不可以?当然可以,只是模式无处不在,你不知道而已
又比如吃饭,每吃一口饭,我们要先端碗,拿筷子,张嘴,塞饭入口,咀嚼最后吞咽
这就是一套模式,我们给这套模式命名为吃饭
那么当老爸叫吃饭的时候,我们就能明白什么意思
而不用老爸进来呓呓啊啊并比画上半天,哑语也不是这么用的
这就是模式,已知的模式有400多种//好象更多,不记得了
比如数据库有数据库的设计模式,编程有编程的模式等等
面向对象有常用的21种模式,需要掌握,主要分为创建,行为,结构三类
J2ee有J2ee的模式,Sun公司出了一本书叫《J2EE核心模式》可以拿来看看
必需要指明的是,模式不是规范,比如吃饭模式
没有人规定你吃饭非得要那么吃,你可以端碗,上抛,张嘴在下落后连碗一起吞咽
这也可以,只要你愿意,同样,只要你愿意,你就可以不遵循模式
模式之外还有反模式,学模式不可定势,不要学死,活学活用,无招胜有招才是最高境界
JavaDoc
文档工具,极其好用
可以根据注释自动生成HTML文档
Ant
98年,有一位程序员在从欧洲飞回美国的飞机上想到了这么一个东西
从而改变了整个世界,他的名字叫James Duncan Davidson
组织管理工具,可以这么描述它
比如你想在编译之后自动再次生成JavaDoc
那么你只需要编辑Ant脚本//对,就像Windows脚本那样
然后批处理就可以了,不过现在Ant已经广泛集成到IDE中去
不需要自己手动编写,不过如果想要炫炫,据说此招百试不爽
JUnit
测试工具,Unit家族可不只有JUnit
还有其它版本的,这个不细说,具体实践一下就明白了
POJO
//Plain Old Java Object
就是传统的Java对象,也就是一个JavaBean
由虚拟机来掌握其生死
常用的两个管理构架/规范是Spring和EJB容器
命名由来是某人//名字我忘了
觉得我们使用了太多的规范,以至于我们都忘记了纯粹的java对象
以至于我们都忽略了它的存在,所以叫了这么一个名字
以唤醒人们的记忆,这个意义上来说EJB其实不能算是POJO
毕竟遵循了一堆的接口,但是不管怎样,接口归接口,还是没有继承类
没有被强加什么//遵循可以写空方法假遵循
所以说还是POJO也对
但是由于这种东西缺乏管理,不象Servlet有专门的容器管理并继承了一定的类
而没有管理的对象在虚拟机中是很危险的,因为垃圾回收机制各个虚拟机不同
而且也不怎样,极有可能长时间不回收,这样在企业级的应用中呢
就有可能造成内存大量被占用从而死机,毫无疑问,这种机制需要优化
这种优化就是通过EJB容器或者Spring构架来实现
这么做还有一个好处就是迫使程序员对每一个类做封装
强迫他做管理,以达到防止内存泄露的目的,内存泄露最经常出现的错误就是
引用未释放,引用最典型体现在new这个关键字上,new得越多引用得越多
随着时间地增长,有可能导致循环,不停new new new new new.....
其中哪怕只要有一个new处理不当,虚拟机无法回收内存
那就极有可能完蛋,而且这种小bug越是在大的项目越是难以找到
有可能因为一个人而影响整个项目组,所以不妨记住我的一条经验
好的系统框架不应该在业务逻辑流程中出现new关键字
现在不理解也无所谓,将来有一天会明白的
SOA
面向服务的构架
不说太多,这个属于上上层建筑
不过不妨记住我的一句话,可以帮助理解这个概念
面向什么就是对什么做封装
面向对象就是对对象做封装
面向服务类似,剩下的靠悟性
反射
1.4新增功能,非常强大
通过反射,程序可以解析出类本身的属性也就是变量
//注意这里说的属性不是.net里面的属性,我不喜欢微软造的新名词,乱
还有行为也就是方法,然后通过invoke()方法调用该方法
甚至可以新增对象等,java首创,本是其它语言所没有的
后来被微软抄了去,利用该功能,开源框架广泛受益并大量采用,近乎疯狂地使用
具体就不说了,最后要指出的是,有一种说法是利用反射会降低效率
在早期的时候,的确是,现在不会了,放心使用
容器
5.0以后的版本在J2SE中都出现了容器
各位甚至可以自己尝试用标准库去使用容器
推荐网站
www.iteye.com //java视线论坛,Hibernate国内的权威
dev2dev.bea.com //bea的dev2dev社区,用WebLogic首选的好去处
www-128.ibm.com/developerworks //ibm developer works社区,ibm产品的老家
www.jdon.com //j道,Jboss国内相对讨论会多一点的地方,有自己的框架
www.matrix.org.cn //matrix,有自己的框架,很清新的论坛
jcp.org //JCP,前面说到过了
sourceforge.net //开源的东西几乎这里都可以找到,除java外还有游戏共享等
saloon.javaranch.com //我常去,人气不错
www.apache.org //阿帕奇老家
www.jboss.com //Jboss和Hibernate老家
www.springframework.org //Spring老家
www.wiki.org //非常好的百科站点,可惜国内被封,创始人加入了Eclipse zone
www.google.com //你要的这里有,不信?输入关键字再按一下那个靠左的白色按钮试试
书籍
《Thinking in Java》 //实话说,一般,尤其是翻译后的版本,原版还行
《Java教程》 //电子工业出版社出版的那本,上下册,很厚,但翻译得不错
《21天学通Java》 //入门极好,但是《21天学通j2ee》极烂,不要买
《Mastering EJB》 //翻译过的书质量我不清楚,估计不怎样,请看原版书籍
《精通Hibernate》 //看清楚作者,孙卫琴,其它人的别买
其它的可以不用了,网络上的远比书上来得多,来得好,虽然也来得杂
最后的建议
一,不要做一个浮躁的人
二,学好英语,很重要
三,阅读源代码和文档
四,共享源代码,不要做一个功利的人
五,热爱Java
分享到:
相关推荐
项目管理是组织和协调资源以实现特定目标的过程,对于初学者来说,理解其核心概念和实践至关重要。在“决战项目管理-初学者如何了解项目管理”这个主题中,我们将深入探讨项目管理的基本要素。 首先,我们需要理解...
在项目管理领域,案例学习是一种非常有效的学习方法,它能帮助初学者将理论知识与实践经验相结合,提升项目管理技能。本资源包含三个项目管理案例,是适合初学者入门的宝贵资料。下面,我们将深入探讨这些案例可能...
4.3 清除:收尾和垃圾收集 4.3.1 finalize()用途何在 4.3.2 必须执行清除 4.4 成员初始化 4.4.1 规定初始化 4.4.2 构建器初始化 4.5 数组初始化 4.5.1 多维数组 4.6 总结 4.7 练习 第5章 隐藏实施过程 5.1 包:库...
尽管这些高级特性超出了初学者的范畴,但对于进阶学习者而言,掌握这些功能将极大提升Mootools项目的灵活性和复用性。 总之,《一周学会Mootools 1.4中文教程(7)汇总收尾》不仅是对Mootools学习之旅的一个完美总结...
《项目管理:初学者的实践指南》 在IT行业中,项目管理是一项至关重要的技能,尤其对于初学者来说,掌握良好的项目管理方法能够有效地提升工作效率,保证项目的顺利进行。本资源"xiangmuguanli.rar_项目管理"提供了...
《九路全局收官习题集》正是为了帮助围棋爱好者尤其是初学者在这个阶段提升技巧而编写的。 收官阶段是围棋比赛中的最后阶段,这一阶段的主要任务是对棋盘上的残局进行收尾,旨在精确计算目数并确保己方的最大利益。...
从理论到实践,从启动到收尾,教程内容全面覆盖了项目管理的各个方面,致力于帮助初学者构建扎实的项目管理基础,并在实际工作中应用这些知识与技能,从而有效提升项目管理的效率和成功率。无论是在企业中担任项目...
### 项目管理初学者绝对指南知识点总结 #### 一、项目管理概述 - **定义**:项目管理是在有限的时间和资源内,通过计划、组织、领导和控制等手段,达到项目既定目标的过程。 - **核心目标**:确保项目的成功完成,...
《科技项目-项目实施计划方案-超级详细版》是一份专为初学者设计的高清PDF资料,涵盖了项目管理的关键环节,旨在提供一个全面且深入的项目实施计划模板。该资料详细解析了如何从项目的启动、规划到执行、监控直至...
在项目管理中,项目模板是一种高效的工作工具,它为项目经理和团队提供了标准的框架和指导,确保项目的顺利进行。...对于初学者或经验丰富的专业人士来说,它们都是宝贵的资源,能够提升项目管理水平。
本书不仅适合初学者学习基础操作,也适用于有一定经验的项目管理者进一步提升自己的技能。 #### 二、作者介绍 本书作者罗伯特·哈皮(Robert Happy)是一位经验丰富的项目管理专家和培训师。他擅长将项目管理理论与...
《项目管理傻瓜书》(Project Management For Dummies 3rd Edition)是由Wiley Publishing出版的一本关于项目管理的专业书籍,旨在为初学者提供全面且易懂的项目管理知识。这本书是第三版,反映了最新的项目管理理论...
例如,通过模拟项目启动会议、制定里程碑、分配任务给团队成员、跟踪和调整进度等场景,使初学者能够轻松掌握项目管理的核心技巧。 总之,“项目管理入门 flash 教学”是一个适合初学者的资源,它利用动态视觉呈现...
【Java代码酒店管理系统】是一个专为初学者设计的实践项目,旨在模拟真实世界中的酒店运营流程,通过编程实现对酒店日常业务的管理。系统根据不同的用户角色,分别为客人、酒店前台人员和酒店管理人员提供了定制化的...
【桂电软件项目习题答案】的文档涵盖了项目管理的核心概念,主要针对软件项目,适合初学者和复习者。文档内容涉及项目管理的基本知识,包括项目的特点、管理过程组、项目管理知识体系等方面。 1. **项目管理的核心...
### 项目管理核心知识点解析——《Making Things Happen》概览 #### 一、书籍简介与作者背景 《Making Things Happen》是一本由Scott...无论是初学者还是经验丰富的项目经理,都能从这本书中获得有价值的见解和启发。
对于初学者而言,理解并掌握项目管理的基础知识至关重要。以下将详细阐述项目管理的一些核心概念和步骤,旨在为入门者提供指导。 1. 项目生命周期:项目通常经历启动、规划、执行、监控和收尾五个阶段。在启动阶段...
- **项目管理初学者**:对于刚刚接触项目管理领域的新人来说,《Head First PMP》是一本理想的入门教材,它可以帮助他们快速掌握基础知识并建立起对项目管理的整体认识。 - **准备PMP考试的考生**:对于打算参加...
初学者可以从基础的九路小棋盘开始,逐渐过渡到标准的十九路大棋盘。这些题目将帮助玩家熟悉棋盘上的各种可能性,提高布局和开局的策略性思考。 其次,中盘战斗是围棋比赛中最激动人心的部分,也是技术含量最高的...