当前位置: 首页 > news >正文

自助建站好吗杭州百度竞价推广公司

自助建站好吗,杭州百度竞价推广公司,软文推广代理,网页设计作业成品免费百度云第1条 考虑用静态方法代替构造器类可以通过静态工厂方法来提供它的客户端#xff0c;而不是通过构造器。提供静态工厂方法而不是公有构造器#xff0c;这样做具有几大优势。1.静态工厂方法与构造器不同的第一大优势在于#xff0c;它们有名称。例如#xff0c;构造器BigInt…第1条 考虑用静态方法代替构造器类可以通过静态工厂方法来提供它的客户端而不是通过构造器。提供静态工厂方法而不是公有构造器这样做具有几大优势。1.静态工厂方法与构造器不同的第一大优势在于它们有名称。例如构造器BigInteger(int,int,Random)返回的BigInteger可能为素数如果名为BigInteger.probablePrime的静态工厂方法来表示显然更为清晰2.静态工厂方法与构造器不同的第二大优势在于不用在每次调用它们的时候都创建一个新对象。静态工厂方法能够为重复的调用返回相同对象这样有助于类总能控制在某个时刻哪些实例应该存在。这种类被称作实例受控的类。实例受控使得类可以确保他是一个Singleton或者是不可实例化的。3.静态工厂方法与构造器不同的第三大优势在于它们可以返回原返回类型的任何子类型的对象。这种灵活性的一种应用是API可以返回对象同时又不会使对象的类变成公有的。以这种方式隐藏实现类会使API变的非常简洁。4.静态工厂方法的第四大优势在于在创建参数化类型实例的时候它们使代码变得更加简洁其实这一点java1.7就已经优化调用参数化构造器时它会自动进行类型检查不需要显示申明Map map new HashMap();//上下两种方式都是可以的Map map new HashMap();静态工厂方法的主要缺点在于类如果不含公有的或者受保护的构造器就不能被子类化。静态工厂方法的第二个缺点在于它们与其他的静态方法实际上没有任何区别。最后附上静态工厂方法的一些惯用命名valueOf----不太严格讲该方法返回的实例与它的参数具有相同的值。这样的静态工厂方法实际上是类型转换方法。of----valueOf的一种更为简洁的替代在EnumSet中使用并流行起来。getInstance----返回的实例是通过方法的参数来描述的。newInstance----和getInstance一样但newInstance能够确保返回的每个实例都与所有其他实例不同。getType----和getInstance一样但是在工厂方法处于不同的类中的时候使用。Type表示工厂方法所返回的对象类型。newType----和newInstance一样但是在工厂方法处于不同的类中的时候使用。Type表示工厂方法所返回的对象类型。第2条 遇到多个构造器参数时要考虑用构建器静态工厂和构造器有个共同的局限性它们都不能很好地扩展到大量的可选参数。第三种替代方法即能保证像重叠构造器模式那样的安全性也能保证像JavaBeans模式那么好的可读性。这就是Builder模式的一种形式。不直接生成想要的对象而是让客户端利用所有必要的参数调用构造器(或者静态工厂)得到一个builder对象。让后客户端在builder对象上调用类似于setter的方法来设置每个相关的可选参数。最后客户端调用无参的builder方法来生成不可变的对象。其实像SpringBoot启动类就是个典型的例子public class Application extends SpringBootServletInitializer { public static void main(String[] args) throws Exception { //使用构建器创建SpringApplication对象 SpringApplication springApplication new SpringApplicationBuilder() .bannerMode(Banner.Mode.CONSOLE) .initializers(ApplicationContextInitializerImpl.instance()) .sources(Application.class) .build(); springApplication.run(); }}第3条 用私有构造器或者枚举类型强化Singleton属性实现Singleton有两种方法。这两种方法都要把构造器保持为私有的并导出公有的静态成员以便允许客户端能够访问该类的唯一实例。实现Singleton还有第三种方法。只编写一个包含单个元素的枚举类型private enum Elvis {INSTANCE;public void leaveTheBuilding(){...}}第4条 通过私有构造器强化不可实例化的能力其实就像一些工具类我们不想让其他用户创建该类对象也不想被其他类继承我们只要把这个类的构造器私有化他就不能被实例化了。第5条 避免创建不必要的对象一般来说最好能重用对象而不是在每次需要的时候就创建一个相同功能的新对象。对于同时提供了静态工厂方法和构造器的不可变类通常可以使用静态工厂方法而不是构造器以避免创建不必要的对象。因为构造器在每次被调用的时候都会创建一个新的对象而静态工厂方法只会创建一个。要优先使用基本类型而不是装箱基本类型要当心无意识的自动装箱。当你应该重用现有对象的时候请不要创建新的对象。第6条 消除过期的对象引用清空过期引用的另一个好处是如果它们以后又被错误地解除引用程序就会立即抛出空指针异常而不是悄悄地错误运行下去。尽快地检测出程序中的错误总是有益的。一般而言只要类是自己管理内存程序员就应该警惕内存泄漏问题。一旦元素被释放掉则该元素中包含的任何对象引用都应该被清空。内存泄漏的另一个常见来源是缓存。内存泄漏的第三个常见来源是监听器和其他回调。确保回调立即被当做垃圾回收的最佳方法是只保存它们的弱引用。第7条 避免使用终结方法终结方法通常是不可预测的也是很危险的一般情况下是不必要的。使用终结方法会导致行为不稳定降低性能以及可移植性问题。显示终止方法的典型例子是InputStream、OutputStream和java.sql.Connection上的close方法。显示的终止方法通常与try-finally结构结合起来使用以确保及时终止。在finally子句内部调用显示的终止方法可以保证即使在使用对象的时候有异常抛出该终止方法也会执行。你应该在一个try块中终结子类并在相应的finally块中调用超类的终结方法。这样做可以保证即使子类的终结过程抛出遗产超类的终结方法也会得到执行。
http://www.zqtcl.cn/news/5795/

相关文章:

  • 建设网站便宜电子商务网站建设维护学期总结
  • 人力网站建设的建议模板建站有什么不好?
  • 南通海洲建设集团网站怎么给自己网站做搜索框
  • 建筑网站网页设计高端网站建设加盟
  • 聊城九洲建设有限公司网站网站建设最简单的教程
  • 嘉祥县建设局网站网站种类有哪些
  • 域名怎么绑定网站上海网站建设定
  • 互助平台网站建设费用深圳模板网站建设公司
  • jsp网站空间网站开发产品设计需要学的软件
  • 台州知名网站天津市城乡建设网
  • 网站搭建策略与方法是什么中卫平面设计培训
  • 郑州市经开区建设局网站广东省建设工程协会网站
  • 松江网站开发公司wordpress 获取目录结构
  • 原网站开发新功能西安全网优化
  • 上海市 建设执业资格注册中心网站佛山网站推广
  • 那里建站好如何做阿里巴巴的网站
  • 给网站写教案做课件一节课多少钱怎么让关键词快速排名首页
  • wordpress添加首页友情链接重庆seo整站优化服务
  • 狮山网站设计高臣网站建设公司
  • 网站建设手机网站wordpress 文件权限设置方法
  • 浙江三建建设集团有限公司网站广州番禺网站制作公司
  • 如何创立一个网站wordpress点击跳转
  • 个人怎样建设网站广州自助公司建网站企业
  • 网站开发笔记本app推广方案怎么写
  • 网站建设夬金手指排名壹柒展览设计制作公司
  • 无锡品牌学会网站建设网站开发部门结构
  • 嘉兴营销型网站建设经典重庆区县论坛
  • 高明网站建设哪家好免费软件定位对方手机位置
  • 重点建设专业 专题网站做公司网站的尺寸一般是多大
  • 网页代理网站甘肃省城市建设档案馆网站