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

做游戏ppt下载网站有哪些内容网站建设需要哪些工具

做游戏ppt下载网站有哪些内容,网站建设需要哪些工具,wordpress 验证码访问,wordpress商店插件集合篇 Java面试题-集合篇HashMap底层实现原理概述javaSE进阶-哈希表 为了满足hashmap集合的不重复存储,为什么要重写hashcode和equals方法? 首先理解一下hashmap的插入元素的前提: hashmap会根据元素的hashcode取模进行比较,当…

集合篇

  • Java面试题-集合篇
  • HashMap底层实现原理概述
  • javaSE进阶-哈希表

为了满足hashmap集合的不重复存储,为什么要重写hashcode和equals方法?
首先理解一下hashmap的插入元素的前提:
hashmap会根据元素的hashcode取模进行比较,当hashcode相等时,会再次去比较元素之间的内容值,当内容值也相等时就代表元素重复。
所以当元素与元素之间的hashcode值内容值相同时,hashmap就会认为元素重复

  • 重写hashCode是为了让两个具有相同值的对象的Hash值相等。

  • 重写equals方法是为了比较两个不同对象的值是否相等。

  • 同时重写hashCode()与equals()是为了满足HashSet、HashMap等此类集合的相同对象的不重复存储。

当前有两个不同对象,他们的内容是相同的,但是在hashmap看来他们就是重复的,所以我们重写hashcode方法,保证相同值的两个对象的hashcode相同,重写equals方式是比较两个不同对象的值是否相同。

equals和hashCode

基础篇

== 与 equals的区别
在这里插入图片描述

默认情况下 equals方法也是比较的两个对象之间的内存地址是否相同,但是我们可以重写equals方法达到不同的效果,如String类就重写equals方法,String类的equals方法会先去比较两个对象的内存是否相同,相同就返回true,如果不相同也不会立马放回false,而是会再次比较两个String对象的数值是否相同。

多线程

java 多线程 面试题整理(更新…)

  • interrupt()方法
    interrupt方法用于中断线程,需要注意的是,只是将线程的状态设置为“中断”状态,并没有真正的停止这个线程;需要线程自己去监视(interrupted、isinterrupted)线程的状态为并做处理

通常与interrupted()、isinterrupted()配合使用,从而达到停止一个线程。
interrupted()、isinterrupted()都是监视当前线程的中断状态,当这两个方法返回的中断状态为true,可以使用return或者抛出异常来结束线程方法。
代码示例如下:

public class IsinterruptedTest {public static void main(String[] args)  {Runnable runnable = () ->{Thread thisThread = Thread.currentThread();int num =0;while (true){// 检查当前中断标志是否为trueif (thisThread.isInterrupted()){System.out.println("当前线程任务已被中断....");return;}System.out.println(num++);}};Thread thread =new Thread(runnable);// 启动线程thread.start();// 让主线程休眠2ms,之后再去中断子线程try {Thread.sleep(2);} catch (InterruptedException e) {e.printStackTrace();}// 中断子线程thread.interrupt();}
}
  • interrupted、isinterrupted的区别?
  • 为何stop()和suspend()方法不推荐使用
    stop方法: stop()是立即终止一个线程,并立刻释放被它锁住的所有对象的锁。当线程执行到一般时突然被终止后,可能会导致资源没有被正确释放,也会导致数据损坏、数据不一致的问题。如一个线程任务中做了两件事(增加订单、减少库存),而这时线程执行一半就被强制终止了,就导致订单增加了,库存却没有减少,出现数据不一致问题
    需要注意的是,通过stop()终止线程,finally代码块中的代码也不会被执行;finally代码块通常用于资源的释放或者清理操作,所以会导致资源没有被正确释放

suspend():作用是挂起/暂停某个线程直到调用resume方法来恢复该线程,但是调用了suspend方法后并不会释放线程获取到的锁,容易造成死锁

  • 线程的几种状态

  • sleep方法:放弃cpu使用权,使当前线程暂停一段时间,当前暂停时间结束后,会重新进入就绪状态并与其它线程等待cpu调度。sleep()会释放cpu资源,但是不会释放同步锁(类锁、对象锁)

  • yield方法:与sleep方法相似,暂停线程,放弃cpu使用权,并马上进入就绪状态,等待cpu调度。不会释放同步锁(类锁、同步锁);需要注意的是:yield方法可能会不起作用,因为cpu调度是不可控制,我们无法控制cpu去调用指定的线程,所以可能会导致出现,当前线程调用了yield()放弃cpu使用权进入就绪状态后,cpu下次调用的线程还是当前线程

  • Java中join()方法原理及使用教程

  • 锁池与等待池的区别:
    每个对象都有一个同步锁/内置锁(互斥锁),同时也会锁池和等待池
    锁池是用来存放那些想要获取对象锁,但是还没有拿到锁的线程。当拿到锁资源后,线程会进入就绪状态。
    等待池存放的是那些主动释放(wait)锁去成全其它线程的线程。当等待池中的某一个线程被notfy、notfyall方法唤醒后,会进入锁池重新争夺锁,之后再从中断处继续执行任务。

  • wait方法 与 notify方法

http://www.yayakq.cn/news/132450/

相关文章:

  • 网站特效 素材个人商城
  • 网站做小学一年二班作业怎么做wp_head wordpress
  • 办文明网站做文明网民活动方案租用服务器网站
  • 公司网站后台密码怎样做购物网站
  • 网站建设网页链接能做外链的产品网站
  • 做房地产要自己开网站wordpress首页全屏插件
  • 页面好看的网站公司国外网站建设
  • 周到的网站建设网站开发公司需要那些硬件设备
  • 网站关键词有哪些软件项目交易网
  • 如何做网站建设网页编辑和发布流程不包括以下哪个选项
  • 郑州做网站助企关键词优化软件排行
  • 泉州最专业手机网站建设开发专业做网站广州
  • 长安东莞网站设计网站建设兼职网
  • 网站权重怎么做的wordpress纯代码生成海报功能
  • 网站域名注册信息查询有哪些网站可以做印度市场调研
  • 网站的专业电商网站做互联网金融
  • 2020站群seo系统html个人博客完整代码
  • 那个网站是做房产中介的一般做网站多少钱
  • 领硕网站seo优化表格模板免费下载网站
  • 淘宝联盟里的网站推广怎么做图片制作在线制作免费
  • 做网站需要哪些框架wordpress菜单导入导出
  • pc网站自动生成app平面设计公司简介怎么写
  • 营销型网站定义手机登录wordpress
  • 百度云搜索引擎网站济南集团网站建设费用
  • 做楼盘网站焞煌网站怎么做
  • 临沂免费模板建站开网店的步骤和流程
  • 给网站做接口云推广
  • 锦州北京网站建设thinkphp 网站设置功能
  • 河北建设厅网站6wordpress文章总是被修改
  • 网站建设维护成seo作弊