发表于: 2018-02-27 23:42:24
1 660
今天完成的事情:
1.完成单例模式
单例模式是很简单的一个设计模式,但是实现的方法很多,分为线程安全和线程不安全两种,而这两种又分为是否可以延迟加载(用到的时候才加载)和非延迟加载(就算整个项目没用过这个类也一直占用内存)
下面给出两种线程安全,一个是简单的非延迟加载,和一个相对复杂的延迟加载类型的单例模式
首先是普通的类(非单例模式):
使用断言不相等,表明它们并不是单例模式
然后是线程安全非延迟加载的简单的单例模式,如果你的项目不在乎这点性能的话,就可以这样写
优点:简单易懂
缺点:类加载时即实例化,耗费性能
测试类:
测试结果:
下面是线程安全并且可以延迟加载的单例模式:
优点:线程安全,延迟加载
缺点:相对复杂,并且在jdk1.5版本下不能使用
测试类:
测试结果:
ps上面这两个东西都能手写了,对没有错,直接在记事本上手写,直接可以运行,因为很多面试都要手写单例模式
2.看了挺多杂七杂八的东西,例如SQL优化,例如zookeeper的安装及使用方法,但是都没有去写,想看看要去面试的话还要学什么东西,以及看了命令模式,这个明天写出来
后面看到很多其他人都找到工作了,有点蠢蠢欲动,从他们的找到工作的谢言来看,要去看消息中间件,还有SQL优化,以及刷面试题,如果再没有项目给我做的话,我就差不多该去找工作了吧,虽然老大说做完真实能让我们找到喜欢的offer,但是这也是无可奈何的吧……
明天计划的事情:
学习基础内容
遇到的问题:
无
收获:
手写单例模式,学习命令模式
评论