网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

合理利用Java不可变对象,让你的代码更加优雅-创新互联

如果一个对象的状态在创建以后就不会再改变,那么就可以认为它是不可变对象。因为这些对象无法被修改,所以不需要考虑多线程下的同步问题,这使得不可变对象在多线程程序中能够发挥重大作用。

成都创新互联公司主营淅川网站建设的网络公司,主营网站建设方案,成都app开发,淅川h5成都微信小程序搭建,淅川网站营销推广欢迎淅川等地区企业咨询

如下所示,String对象就是一个不可变对象。

合理利用Java不可变对象,让你的代码更加优雅
对于firstName一些列的操作(连接" "和lastName)并不会修改这些字符串中的任何一个,而是会重新创建一个新的对象来存放fullName。

合理利用Java不可变对象,让你的代码更加优雅
自定义一个不可变对象
如下的规则能够帮助我们创建一个不可变的对象:

不要提供setter方法。一般setter方法都是用来提供修改对象field的,既然是不可变的对象,那么肯定没有修改功能的,所以也不要提供setter方法。
把所有的对象field都设置为final和private。这能够保证在对象外部是无法访问到对象内部的filed的。
不允许派生类覆盖方法,最简单的办法就是把类定义为final的,这样就直接不能够派生了。更加优雅的做法是把构造方法设置private的,然后提供相应的工厂方法来实例化它。
如果类的字段是其它可变对象的引用,它们也要被设置为不允许修改:a、不要提供修改这些可变字段的方法。b、不要对外暴露这些可变对象的引用。
演示如何定义一个不可变对象
合理利用Java不可变对象,让你的代码更加优雅
不可变对象的好处
不可变对象更容易创建、测试和使用,因为他们没有任何的副作用。
它们更加容易被缓存起来,同一个对象不会被修改,所以不需要考虑缓存不一致的问题。
真正的不可变对象肯定是线程安全的。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:合理利用Java不可变对象,让你的代码更加优雅-创新互联
文章链接:http://bjjierui.cn/article/phpop.html

其他资讯