`

给初学者之九:收尾

    博客分类:
  • J2SE
阅读更多

最后一篇介绍几个常见的概念

设计模式
这可不仅是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

分享到:
评论

相关推荐

    决战项目管理-初学者如何了解项目管理.pptx

    项目管理是组织和协调资源以实现特定目标的过程,对于初学者来说,理解其核心概念和实践至关重要。在“决战项目管理-初学者如何了解项目管理”这个主题中,我们将深入探讨项目管理的基本要素。 首先,我们需要理解...

    几个项目管理的案例,适用于初学者的入门资料

    在项目管理领域,案例学习是一种非常有效的学习方法,它能帮助初学者将理论知识与实践经验相结合,提升项目管理技能。本资源包含三个项目管理案例,是适合初学者入门的宝贵资料。下面,我们将深入探讨这些案例可能...

    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 1.4中文教程(7)汇总收尾

    尽管这些高级特性超出了初学者的范畴,但对于进阶学习者而言,掌握这些功能将极大提升Mootools项目的灵活性和复用性。 总之,《一周学会Mootools 1.4中文教程(7)汇总收尾》不仅是对Mootools学习之旅的一个完美总结...

    xiangmuguanli.rar_项目管理

    《项目管理:初学者的实践指南》 在IT行业中,项目管理是一项至关重要的技能,尤其对于初学者来说,掌握良好的项目管理方法能够有效地提升工作效率,保证项目的顺利进行。本资源"xiangmuguanli.rar_项目管理"提供了...

    KiCad入门手册中文版

    **KiCad入门手册中文版** 是一份专门为初学者设计的指南,旨在帮助用户快速掌握KiCad这款强大的开源电子设计自动化(EDA)软件。KiCad是一款免费且功能齐全的电路设计工具,包括电路图编辑器、PCB布局工具、3D查看器...

    Project Management

    ### 项目管理初学者绝对指南知识点总结 #### 一、项目管理概述 - **定义**:项目管理是在有限的时间和资源内,通过计划、组织、领导和控制等手段,达到项目既定目标的过程。 - **核心目标**:确保项目的成功完成,...

    科技项目-项目实施计划方案-超级详细版.rar

    《科技项目-项目实施计划方案-超级详细版》是一份专为初学者设计的高清PDF资料,涵盖了项目管理的关键环节,旨在提供一个全面且深入的项目实施计划模板。该资料详细解析了如何从项目的启动、规划到执行、监控直至...

    项目管理中 用到的 项目模板

    在项目管理中,项目模板是一种高效的工作工具,它为项目经理和团队提供了标准的框架和指导,确保项目的顺利进行。...对于初学者或经验丰富的专业人士来说,它们都是宝贵的资源,能够提升项目管理水平。

    Project 2010 项目管理(Project 2010 Project Management: Real World Skills for Certification and Beyond)

    本书不仅适合初学者学习基础操作,也适用于有一定经验的项目管理者进一步提升自己的技能。 #### 二、作者介绍 本书作者罗伯特·哈皮(Robert Happy)是一位经验丰富的项目管理专家和培训师。他擅长将项目管理理论与...

    [Wiley Publishing] Project Management For Dummies 3rd Edition

    《项目管理傻瓜书》(Project Management For Dummies 3rd Edition)是由Wiley Publishing出版的一本关于项目管理的专业书籍,旨在为初学者提供全面且易懂的项目管理知识。这本书是第三版,反映了最新的项目管理理论...

    项目管理入门 flash 教学

    例如,通过模拟项目启动会议、制定里程碑、分配任务给团队成员、跟踪和调整进度等场景,使初学者能够轻松掌握项目管理的核心技巧。 总之,“项目管理入门 flash 教学”是一个适合初学者的资源,它利用动态视觉呈现...

    java代码酒店管理系统

    【Java代码酒店管理系统】是一个专为初学者设计的实践项目,旨在模拟真实世界中的酒店运营流程,通过编程实现对酒店日常业务的管理。系统根据不同的用户角色,分别为客人、酒店前台人员和酒店管理人员提供了定制化的...

    (完整word版)桂电软件项目习题答案.doc

    【桂电软件项目习题答案】的文档涵盖了项目管理的核心概念,主要针对软件项目,适合初学者和复习者。文档内容涉及项目管理的基本知识,包括项目的特点、管理过程组、项目管理知识体系等方面。 1. **项目管理的核心...

    [Making.Things.Happen(2008)].Scott.Berkun.文字版

    ### 项目管理核心知识点解析——《Making Things Happen》概览 #### 一、书籍简介与作者背景 《Making Things Happen》是一本由Scott...无论是初学者还是经验丰富的项目经理,都能从这本书中获得有价值的见解和启发。

    项目管理入门资料

    对于初学者而言,理解并掌握项目管理的基础知识至关重要。以下将详细阐述项目管理的一些核心概念和步骤,旨在为入门者提供指导。 1. 项目生命周期:项目通常经历启动、规划、执行、监控和收尾五个阶段。在启动阶段...

    Head First PMP(PMP经典书籍)

    - **项目管理初学者**:对于刚刚接触项目管理领域的新人来说,《Head First PMP》是一本理想的入门教材,它可以帮助他们快速掌握基础知识并建立起对项目管理的整体认识。 - **准备PMP考试的考生**:对于打算参加...

    级位测试6000题

    初学者可以从基础的九路小棋盘开始,逐渐过渡到标准的十九路大棋盘。这些题目将帮助玩家熟悉棋盘上的各种可能性,提高布局和开局的策略性思考。 其次,中盘战斗是围棋比赛中最激动人心的部分,也是技术含量最高的...

Global site tag (gtag.js) - Google Analytics