美国上市公司,专注Java培训21年

了解模式规矩会对以后开发很大帮助


没得规矩不成方圆

尊敬的各位朋友们:大家好,今晚精神还不错,可能是因为晚饭后喝了点茶的原因,所以现在精神状态还不错,利用现在精神不错的状态给大家分随便和大家分享下心声,每天中午最好大家吃完饭就找个地方睡上个1个小时左右,睡醒之后用冷水洗洗脸精神会格外的好。好了言归正传既然有机会来到这个平台就不能浪费大家的时间,浪费自己的时间等于自杀,浪费别人的时间等于谋财害命。

针对于我2015-05-01到2015-07-10目前java所学的知识点总结了一下包含的设计模式有如下几种:

1. 基础SE部分有5种:Singleton Test(单例模式)、strategy(策略模式)、proxy(代理模式)、observer(观察者模式)、Decorator(装饰模式)。

2. Unit部分有4种:Command(命令模式)、Composite(组合模式)、Template-Method(模板方法模式)、adapter(适配器模式)。

3. Xml部分一种:simple-factory(工厂模式)。

可能很多同学都还不知道为什么有这么多的模式,其实我们在无意之间已经使用到了,只是自己没有察觉到而已,经典的设计模式有23种。那么我就把我练习过的其中几个模式分享出来今天只讲第一个。

单例模式:

public class SingletonTest
{
        public static void main(String[] args)
        {
                Singleton singleton = Singleton.getInstance();
                Singleton singleton2 = Singleton.getInstance();
                System.out.println(singleton == singleton2);
        }
}
class Singleton
{
        private static Singleton singleton;
        private Singleton(){}
        public static Singleton getInstance()
        {
                if(singleton == null)
                {
                        singleton = new Singleton();
                }
                return singleton;
        }
}

这种在多线程状态下就不得行弄不好就生成多个对象,谨慎使用。

意义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

优点:在内存中只有一个对象,节省内存空间,避免频繁的创建销毁对象,可以提高性能,避免对共享资源的多重占用,可以全局访问。

适应场景:1.就是频繁实例化然后销毁的对象。2.创建对象时候耗时过多或者使用的资源比较多,但是有经常用到的对象。3.有状态的工具类对象。4.以及其他我没用过的所有要求只有一个对象的场景。

注意事项:只能使用单例类提供的方法得到单例对象,不要使用反射,(说道反射有机会我分享给大家我学习反射的几种生产Class类对象方法以及实例方法以及应用范围。)否则将会实例化一个新对象。不要做断开单例使用共享资源时,注意线程安全。

下面是平时网上看到的一些争议:

java中单例模式的一些争议:单例模式的对象长时间不用会被JVM垃圾收集器收集吗?看到不少资料中说,如果一个单例对象在内存长久不用,会被jvm认为是一个垃圾在执行垃圾收集的时候会被清理掉。对此这个说法我个人观点是,在hotspot虚拟机1.6版本中,除非人为地判开单例中的静态引用到单例对象的连接,否则jvm垃圾收集器是不会回收单例对象的。

加油吧,这几天小红老师讲的逻辑的确强,加油加油。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 一个故事讲完https
    一个故事讲完https
    感谢大家阅读由java培训机构分享的“一个故事讲完https”希望对大家有所帮助 详情>>

    2017-08-31

  • GitHub 上火的 Java 框架
    GitHub 上火的 Java 框架
    Java 是目前最需要的编程语言之一。在这里,我们已经挖掘了一些关于框架趋势的有用信息,也就是最受开发者青睐的 Java 框架,名单如下 详情>>

    2017-10-24

  • Java入门学习路径,没有之一
    Java入门学习路径,没有之一
    作为刚刚进入Java领域的新同学,无论是高校的毕业大学生,还是有志转行的在职人员,都面临着诸多的困惑。今天java培训班就来为大家讲解下Java入门学习路径 详情>>

    2017-11-23

  • java初学者学习心得
    java初学者学习心得
    学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。下面请看java培训机构带来的分享 详情>>

    2017-12-12

  • Java开班时间

    收起