首页 > 新闻中心> 广州校区 >正文

java培训中心哪家好?不妨来粤嵌试听一下java培训课程

更新时间: 2018-09-22 12:00:00来源: java培训课程

java培训

    给初学者之九:收尾。最后一篇介绍几个常见的概念

    设计模式
    这可不仅是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中都出现了容器
    各位甚至可以自己尝试用标准库去使用容器 

免费预约试听课

推荐阅读