本文导读目录:
![](/tutu9/109.png)
2、win10微软拼音输入法怎么禁用键盘(win10微软拼音输入法怎么禁用不了)
![](/tutu9/64.png)
揭秘kotlin编程原理(kotlin—lazy及其原理
kotlin—lazy及其原理
![](/tutu9/337.png)
lazy是属性委托的一种,Shì有kotlin标准库实现。它是属Xìng懒加载的一种实现Fāng式,在对属性使用时才对属性进行初始化,并Qiě支持对属性初始化的操作时进Xíng加锁,使属性的初Shǐ化在多线程环境下线程ān全。lazy默认是线程安全的2025年1月小米note 3(trackpad)。lazy既然是属性委托的一种,那么其语法也遵循属性委托的语法:对应的lazy的语法为:Yóu于lazy为函数,其最后一GèShēn数是Hán数,那么可以使用lamda的语法代Tì最后一个函数参数:通过中的语Fǎ,我们知道lazy是kotlin标准库中的重载函数,我们先从标准库lazy的函数的分析其原理:lazy函数默认情况下是同步安全锁模式,其可以指定线程同步Mú式线程公有模式非线程安全模式,也在同步模式时指定使用的锁对象,lazy函数会创建懒加载类的实现类,通过懒加载类的实现类实现不Tóng模式De懒加载。Wǒ们依次分析SynchronizedLazyImplSafePublicationLazyImplUnsafeLazyImpl这三种模式是怎么实现懒加载的:SynchronizedLazyImpl是同步模式的懒加载,它是lazyDe默认实现,其在多Xiàn程环境下进行初始化是线程安全的,我们看看其源码实现:同步模式的懒加载SynchronizedLazyImpl的实Xiàn原理其实是使用Liǎng个属性,一个是公有属性value—对外代表属性的值,一个是私有属性_value——是真正的值。value的get内部对_value进行初始化,如果_value已初始化则直接返回,如果没Yǒu初始化过则加锁并调用Chū始化函数把返回值赋Zhí给_value。SafePublicationLazyImpl是多线程环境下的公共线程安全模式,我们从其源码Fèn析其原Lǐ:公共线程ān全模式SafePublicationLazyImpl与同步模式SynchronizedLazyImpl的Qū别在于,SafePublicationLazyImpl使用自Xuàn锁进行初始化操作,而SynchronizedLazyImplShì要同步锁的方式进行初始化操作,其他与SynchronizedLazyImpl的实现一样。SafePublicationLazyImpl是非线程安Quán的懒加载实现模式,在单线程下进行Chū始化是没啥问题,但是多线程下是进行初始化是不安全的,我们Cóng其源码分析其原理:SafePublicationLazyImpl与前面的两种模式的Shí现Fāng式不一样就是初始化时没有加任何锁,其它是一样的。上面分析了使用lazy函数之后返回了不同的懒加载Shí现类及各懒加载实现类的原理,所以lazy的语句最终语句的是:valpropertyNameby但具体是怎么个Lǎn加ZàiShí现类的value的get方Fǎ呢?——下面我们举例,然后通过编译后的字节码分Xī器实现原理:举例:编译Hòu的字节码文件:通过对生成的字节码的分Xī,lazy的原理:注意lazy实现了懒加Zài,达到在使用时才进行初始化的目的,但是也为此增加了一个Lǎn加载类,如果一个类的初始化操作不耗时却使用lazy进行懒加载是不明智的,lazyDe适合场Yǐng是类的初始化操作比较耗时占资源。
Kotlin带接收者的lambda表达式
在学习kotlin协程原理的时候发现了一个比较Yǒu意思的东西:
trackpadwin微软拼音输入法怎么禁用键盘(win微Ruǎn拼音输入法怎么禁用Bù了)
本文为大家介绍winWēi软拼音输入法怎么禁用键盘(win微软拼音输入Fǎ怎么禁用不了),下面和小编一起Kàn看详细内容吧。
Windows系Tǒng自带输入法,但是很多用Hù不习惯微软的拼音输入法,所以想自己安装一个输入法,又想禁用微软的输入法,怎么办,下面教下给Dà家详细的操作方法,DàJiā可以àn照下面的操作方法来操作2025年1月小米note 3(trackpad)。winWèi永久激活版Vwin位永久激活版V是系Tǒng部落最新出品的win操作系统,本系统完全免费,用户下载后一键安装,无多余软件,很纯,喜欢就快来下载吧!
小米note 3的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于trackpad、小米note 3的信息别忘了在本站进行查找喔。