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

园区网互联及网站建设搜狗seo查询

园区网互联及网站建设,搜狗seo查询,个人网站用移动硬盘做服务器,域名注册域名详细流程wait和sleep的区别 我们的wait也是提供了一个还有超时时间的版本,sleep也是可以指定时间的,也就是说时间一到就会解除阻塞,继续执行 wait和sleep都能被提前唤醒(虽然时间还没有到也可以提前唤醒),wait能被notify提前唤醒&#xf…

wait和sleep的区别

我们的wait也是提供了一个还有超时时间的版本,sleep也是可以指定时间的,也就是说时间一到就会解除阻塞,继续执行
wait和sleep都能被提前唤醒(虽然时间还没有到也可以提前唤醒),wait能被notify提前唤醒,sleep能被interrupt提前唤醒
我们使用wait大多是不知道要等多少时间的前提下使用的,我们的所谓的超时时间其实是用来兜底的,大多数情况下,wait是再超时时间之内就被唤醒了,比如我们设置的超时时间是1000ms,大多数的情况我们100ms或者200ms就提前唤醒了,只有小于1%的情况才会触发超时
使用sleep,一定是知道要等多少时间的情况下使用的,虽然可以被提前唤醒,但是通过异常的方式唤醒,这个操作不应该作为正常的业务流程,比如我们sleep了1000ms,大多数的情况下我们是期望1000ms是准时的,被异常唤醒只少数的极端情况,sleep的唤醒是通过异常的方式,正常的业务逻辑不应该依赖于异常的处理,异常的处理我们认为是在做一些补救的措施

多线程代码案例

单例模式

单里模式是一种设计模式
什么是设计模式呢?
设计模式和框架都是程序员需要掌握的技能,只不过框架是硬性的规定,而设计模式是软性的规定,这些都是大佬设计出来的,即使是一个代码写的不好的程序员根据这些写代码也能写出还可以的代码,遵守设计模式,代码的下限就被兜住了,设计模式就像棋谱一样,按照棋谱来走的话,你下的棋不会很差,但是你不一定非要按照棋谱的方式来下棋,也许你下棋会比棋谱很好
设计模式有很多种,不同的语言当中,也有不同的设计模式(设计模式也可以认为是对编程语言语法的补充)
单例模式:单例就是单个实例(对象),某个类在进程中,只应该创建出一个实例(原则上不应该有多个),使用单例模式就可以对咱们的代码进行一个更严格的校验和检查,比如,有时候代码中我们用一个对象来管理/持有大量的数据,我们只需要这一个对象就可以了,假设这个对象管理了10G的数据,如果我们不小多创建出来几个对象的话,内存空间就就会成倍的增长,我们的机器就可能顶不住
如何保证对象的唯一性呢?
我们可以搞一个“君子协议”,写一个文档,文档上面规定只能有一个对象,每个接手的程序员都要遵守这个文档,不能将这个类创建多个实例,但是这种约定是不靠谱的,Java本身的语法并没有规定一个类可以创建多少个对象,于是我们就要通过一些“奇淫巧计”来实现这样的效果
实现单例模式的方式有很多种的,这里我们介绍最基础的实现方式:
1.饿汉模式
2.懒汉模式

饿汉模式

我们现在写一个Singleton类,我们要求这个类只能有拥有唯一的实例
在这里插入图片描述
上图的这个实例就是我们希望创建出的唯一的实例
为什么这就是唯一的呢?
我们注意到我们这个实例前面添加了static,就是静态的意思,也可以理解为是类属性,所以我们这一个实例是属于类对象里面的属性,我们知道每个类的类对象只有一个,所以我们的类属性自然也是只有一个了,此时instanc指向的这个对象就是唯一的一个对象了
在这里插入图片描述
其他的代码要是想要获取这个类的实例的话,就要通过这个方法来进行获取,不应该通过new再获取新的对象,而是通过这个方法获取到现成的对象
在这里插入图片描述
我们直接将构造方法设置为私有的就保证了其他代码不能在new一个对象,只能调用getInstance方法来获取实例(如下图)
在这里插入图片描述
SIngleton内部已经将唯一的实例给准备好了,在其他的代码种即使是有人搞错了直接new一个新对象,也不会出现错误
在这里插入图片描述
如上图的代码,结果打印出来是true,证明我们两次获取的是同一个对象,也就说明了Singleton类的对象是唯一的
上述代码,称为”饿汉模式“,是单例模式中一种简单的写法,所谓的“饿”形容非常的迫切,实例是在类被加载的时候就被创建了,创建的时机非常的早,相当于程序一启动,实例就创建了,就用“饿汉”来形容创建的实际非常的早,非常的迫切
能不能用反射调用到这个构造方法?
用反射是可以的,反射属于非常规手段,但是用枚举实现的单例模式是不能用反射破解的

懒汉模式

创建实例的实际不一样了,创建实例的机会会更晚,只有第一次使用的时候才会创建实例
“懒”这个词不是贬义词,而是褒义词,我们的社会进步,效率生产力提高其实是因为“懒”,所以在计算机里“懒”通常代表着更高的效率
比如有有一个非常大的文件(10G),如果现在又一个编辑器想要打开这个文件的话,如果按照“饿汉”的方式就是一次性的将10G的文件加载到内存,然后再进行统一的展示,一次性加载10G的数据就会很耗费时间,而且一次性加载了这么多的数据,用户一次性也看不完,如果是按照“懒汉”的方式来的话,编辑器只会先读取一小部分的数据,比如说10KB,先把这些展示给用户,之后用户通过翻页等操作,再继续读取后面的数据,加载10KB的数据就是一瞬间事情
在这里插入图片描述
懒汉模式的代码如上,但是此时这个代码里面还有很多问题,我们下一篇文章将会讲到

http://www.dtcms.com/wzjs/102060.html

相关文章:

  • 长春做个人网站做不了高端网站设计
  • 购物网站er图今天最新新闻报道
  • 网站开发推广网络营销第三版课本
  • 网站空间是不是服务器互联网营销外包推广
  • wordpress 角色权限张家界seo
  • 为什么企业需要建设网站?企业培训课程ppt
  • 合肥专业网站建设深圳网站建设
  • 企业门户网站设计专门看广告的网站
  • dux wordpress成都seo整站
  • 赣州网站建设精英微信公众号推广软文案例
  • 电子商务网站建设与管理—李建忠百度助手下载
  • 东莞长安做网站公司爱站网关键词
  • 自建网站编程山西seo和网络推广
  • 网站百科源码百度搜索引擎排名
  • 攀枝花市网站建设湖南靠谱seo优化
  • 网站制作的公司哪个好昆明seo网站建设
  • 怎么做网站logo直通车关键词怎么选 选几个
  • 网站制作方案书站长之家seo综合查询
  • 中山网站制作专业网络广告营销的典型案例
  • 长沙 外贸网站建设公司价格ebay欧洲站网址
  • 渭南经开区seo综合查询怎么用的
  • 做众筹的网站有几个合肥百度搜索排名优化
  • 阿里巴巴企业网站怎么做seo需要付费吗
  • 谷歌网站提交入口百度助手app下载
  • 泰州网站建设哪家好友情链接交易
  • 企业网站开发实训目的杭州seo整站优化
  • 做网站是学什么编程语言深圳seo
  • 如何自做自己的网站西安关键词排名软件
  • 丰宁坝上草原网站建设百度站长平台有哪些功能
  • 成都比较好的网站设计公司广告接单平台app