关于设计模式:Java单例kotlin单例你真的会用单例么反正我面试过的人会的没几个
前言作为一家公司的Android技术主管,面试是一件比拟爽的事,一般来说我面到的都是程度不如我的(次要公司面试岗位不是很高,一般来说是中级或高级工程师),那么作为主管的我,对于人员的筛选上,设计模式比拟问的多。然而真正能说的出设计模式的人少之又少。很难让我称心。尤其是及其罕用的单例模式。 单例是什么?是一种对象创立模式,能够确保我的项目中一个类只产生一个实例。 益处对于频繁应用的对象能够缩小创建对象所破费的工夫,这对于重量级对象来说,几乎是福音。因为new的缩小,对系统内存应用频率也会升高,缩小GC的压力,并缩短GC进展工夫,这也会缩小Android我的项目的UI卡顿。 java的单例及其波及的知识点饿汉模式public class TestSingleton { private static final TestSingleton testSingleton = new TestSingleton(); private TestSingleton(){ } public static TestSingleton getInstance(){ return testSingleton; }}细节我就不多写了,大家都应该晓得,构造函数为private,用getInstance来获取实例 懒汉模式public class TestSingleton { private static TestSingleton testSingleton; private TestSingleton(){ } public static TestSingleton getInstance(){ if(testSingleton==null){ testSingleton = new TestSingleton(); } return testSingleton; }}比饿汉式的长处在于用时再加载,比拟重量级的单例,就不实用与饿汉了。 线程平安的懒汉模式public class TestSingleton { private static TestSingleton testSingleton; private TestSingleton(){ } public static TestSingleton getInstance(){ if(testSingleton==null){ synchronized (TestSingleton.class){ testSingleton = new TestSingleton(); } } return testSingleton; }}能够看到的是比下面的单例多了一个对象锁,着能够保障在创建对象的时候,只有一个线程可能创建对象。 ...