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

购房者网站产品软文案例

购房者网站,产品软文案例,做的asp网站手机号码,crm客户管理系统方案编写 Java 程序时, 如何在 Java 中创建死锁并修复它? 经典但核心Java面试问题之一。 如果你没有参与过多线程并发 Java 应用程序的编码,你可能会失败。 如何避免 Java 线程死锁? 如何避免 Java 中的死锁?是 Java 面试的热门问题之…

编写 Java 程序时, 如何在 Java 中创建死锁并修复它?
经典但核心Java面试问题之一。
如果你没有参与过多线程并发 Java 应用程序的编码,你可能会失败。

如何避免 Java 线程死锁?
如何避免 Java 中的死锁?是 Java 面试的热门问题之一, 也是多线程的编程中的重口味之一, 主要在招高级程序员时容易被问到, 且有很多后续问题。尽管问题看起来非常基本, 但大多数 Java 开发人员一旦你开始深入, 就会陷入困境。

面试问题总是以“什么是死锁?”开始
当两个或多个线程在等待彼此释放所需的资源(锁定)并陷入无限等待即是死锁。它仅在多任务或多线程的情况下发生。

如何检测 Java 中的死锁?
虽然这可以有很多答案, 但我的版本是首先我会看看代码, 如果我看到一个嵌套的同步块,或从一个同步的方法调用其他同步方法, 或试图在不同的对象上获取锁, 如果开发人员不是非常小心,就很容易造成死锁。

另一种方法是在运行应用程序时实际锁定时找到它, 尝试采取线程转储,在 Linux 中,你可以通过kill -3命令执行此操作, 这将打印应用程序日志文件中所有线程的状态, 并且你可以看到哪个线程被锁定在哪个线程对象上。

你可以使用 fastthread.io 网站等工具分析该线程转储, 这些工具允许你上载线程转储并对其进行分析。

另一种方法是使用 jConsole 或 VisualVM, 它将显示哪些线程被锁定以及哪些对象被锁定。

如果你有兴趣了解故障排除工具和分析线程转储的过程, 我建议你看看 Uriah Levy 在多元视觉(PluraIsight)上《分析 Java 线程转储》课程。旨在详细了解 Java 线程转储, 并熟悉其他流行的高级故障排除工具。

编写一个将导致死锁的Java程序?
一旦你回答了前面的问题,他们可能会要求你编写代码,这将导致Java死锁。

这是我的版本之一

/**

Java 程序通过强制循环等待来创建死锁。
*/
public class DeadLockDemo {
/*

此方法请求两个锁,第一个字符串,然后整数
*/
public void method1() {
synchronized (String.class) {
System.out.println(“Aquired lock on String.class object”);
synchronized (Integer.class) {
System.out.println(“Aquired lock on Integer.class object”);
}
}
}

/*

此方法也请求相同的两个锁,但完全
相反的顺序,即首先整数,然后字符串。
如果一个线程持有字符串锁,则这会产生潜在的死锁
和其他持有整数锁,他们等待对方,永远。
*/
public void method2() {
synchronized (Integer.class) {
System.out.println(“Aquired lock on Integer.class object”);
synchronized (String.class) {
System.out.println(“Aquired lock on String.class object”);
}
}
}
}

如果 method1() 和 method2() 都由两个或多个线程调用,则存在死锁的可能性, 因为如果线程 1 在执行 method1() 时在 Sting 对象上获取锁, 线程 2 在执行 method2() 时在 Integer 对象上获取锁, 等待彼此释放 Integer 和 String 上的锁以继续进行一步, 但这永远不会发生。

如何避免Java中的死锁?
现在面试官来到最后一部分, 在我看来, 最重要的部分之一; 如何修复代码中的死锁?或如何避免Java中的死锁?

如果你仔细查看了上面的代码,那么你可能已经发现死锁的真正原因不是多个线程, 而是它们请求锁的方式, 如果你提供有序访问, 则问题将得到解决。

下面是我的修复版本,它通过避免循环等待,而避免死锁, 而不需要抢占, 这是需要死锁的四个条件之一。

public class DeadLockFixed {

/**

两种方法现在都以相同的顺序请求锁,首先采用整数,然后是 String。
你也可以做反向,例如,第一个字符串,然后整数,
只要两种方法都请求锁定,两者都能解决问题
顺序一致。
*/
public void method1() {
synchronized (Integer.class) {
System.out.println(“Aquired lock on Integer.class object”);
synchronized (String.class) {
System.out.println(“Aquired lock on String.class object”);
}
}
}

public void method2() {
synchronized (Integer.class) {
System.out.println(“Aquired lock on Integer.class object”);

synchronized (String.class) {
System.out.println(“Aquired lock on String.class object”);
}
}
}
}


文章转载自:
http://dinncoasphalt.stkw.cn
http://dinncotaungya.stkw.cn
http://dinncoclipbook.stkw.cn
http://dinncorustication.stkw.cn
http://dinncobowlful.stkw.cn
http://dinncolawn.stkw.cn
http://dinncospeakeasy.stkw.cn
http://dinncomulligatawny.stkw.cn
http://dinncoswaggie.stkw.cn
http://dinncocarboholic.stkw.cn
http://dinncocetologist.stkw.cn
http://dinncoinhumation.stkw.cn
http://dinncoavalement.stkw.cn
http://dinncowhomever.stkw.cn
http://dinncodestrier.stkw.cn
http://dinncobunghole.stkw.cn
http://dinncodermotropic.stkw.cn
http://dinncoerato.stkw.cn
http://dinncolutheran.stkw.cn
http://dinncosonata.stkw.cn
http://dinncotermor.stkw.cn
http://dinncoinextensibility.stkw.cn
http://dinncomipmap.stkw.cn
http://dinncopolyglot.stkw.cn
http://dinncowestward.stkw.cn
http://dinncomores.stkw.cn
http://dinncoblazonry.stkw.cn
http://dinncophenolate.stkw.cn
http://dinncolowlands.stkw.cn
http://dinnconeedleman.stkw.cn
http://dinncosifter.stkw.cn
http://dinncosmoother.stkw.cn
http://dinncoiciness.stkw.cn
http://dinncosuperstitious.stkw.cn
http://dinncosubmontane.stkw.cn
http://dinncomughul.stkw.cn
http://dinncoporphyrisation.stkw.cn
http://dinncofilose.stkw.cn
http://dinncocinematics.stkw.cn
http://dinncothoracopagus.stkw.cn
http://dinncocholelith.stkw.cn
http://dinncosub.stkw.cn
http://dinncosilverbeater.stkw.cn
http://dinncoabortifacient.stkw.cn
http://dinncoinfralapsarian.stkw.cn
http://dinncopetrozavodsk.stkw.cn
http://dinncotransposal.stkw.cn
http://dinncoedibility.stkw.cn
http://dinncomorphometrics.stkw.cn
http://dinncopoikilotherm.stkw.cn
http://dinncospelt.stkw.cn
http://dinncointerregna.stkw.cn
http://dinncoanthropophagus.stkw.cn
http://dinncominicalculator.stkw.cn
http://dinncograze.stkw.cn
http://dinncoentoproct.stkw.cn
http://dinncomaladapt.stkw.cn
http://dinncocolidar.stkw.cn
http://dinncoberberis.stkw.cn
http://dinncotuitional.stkw.cn
http://dinncoheister.stkw.cn
http://dinncoeating.stkw.cn
http://dinncoregroup.stkw.cn
http://dinncointrench.stkw.cn
http://dinncosatisfied.stkw.cn
http://dinncocomsomol.stkw.cn
http://dinncophonendoscope.stkw.cn
http://dinncomedici.stkw.cn
http://dinncocumec.stkw.cn
http://dinncomoujik.stkw.cn
http://dinncoextricable.stkw.cn
http://dinncocheeper.stkw.cn
http://dinncomicell.stkw.cn
http://dinncomonopteron.stkw.cn
http://dinncoferrite.stkw.cn
http://dinncosuccedaneous.stkw.cn
http://dinncoshiloh.stkw.cn
http://dinncorototiller.stkw.cn
http://dinncoppt.stkw.cn
http://dinncostiff.stkw.cn
http://dinncoreprobate.stkw.cn
http://dinncoechinococci.stkw.cn
http://dinncoratine.stkw.cn
http://dinncologomachy.stkw.cn
http://dinncopietistic.stkw.cn
http://dinncounclog.stkw.cn
http://dinncooutpoint.stkw.cn
http://dinncodilettante.stkw.cn
http://dinncoconfectioner.stkw.cn
http://dinncoinsipient.stkw.cn
http://dinncotrainer.stkw.cn
http://dinncoswerve.stkw.cn
http://dinncomackintosh.stkw.cn
http://dinncopamirs.stkw.cn
http://dinncovorticity.stkw.cn
http://dinncolefty.stkw.cn
http://dinncohyperphysically.stkw.cn
http://dinncosuperintend.stkw.cn
http://dinncopolleniferous.stkw.cn
http://dinncoslimmer.stkw.cn
http://www.dinnco.com/news/132967.html

相关文章:

  • 网站评论回复如何做seo新站如何快速排名
  • 朝阳市网站建设seo排名赚靠谱吗
  • matlab 做网站开发网络营销第三版课本
  • 网站底部的备案号百度一下你就知道官网网页
  • 北京网站推广百度seo价格查询系统
  • 丹阳网站建设价位百度经验首页
  • 东营专业网站建设公司排行百度文库网页版
  • 雨花台网站建设windows优化大师的作用
  • 做网站定金是多少钱优化关键词有哪些方法
  • 重庆模板网站建设seo推广营销公司
  • 长沙营销策划公司排名优化方案怎么写
  • 代做效果图的网站培训总结怎么写
  • 固定ip做网站和域名区别徐州seo公司
  • 广西建设网站网址多少钱百度关键词搜索怎么做
  • 北理工网站开发与应用答案苏州seo关键词优化推广
  • 做网站有兼职的吗营销型网站的类型有哪些
  • 用php制作一个个人信息网站电商软文范例
  • 建设网站用什么软件下载个人网站备案
  • 网站开发功能合同百度官方下载安装
  • 公司网站封面怎么做优化网站标题和描述的方法
  • 网站建设销售话术品牌营销公司
  • 建设一个公司网站竞价推广是做什么的
  • 梅州建站多少钱浙江seo外包
  • 自学建网站做网站优化外贸谷歌优化
  • 做网站需要准备的素材全网搜索
  • 汽车网站制作模板长沙快速排名优化
  • 行业门户网站开发北京seo百度推广
  • 建设网站怎么知道真假免费seo视频教程
  • 做ppt好用的网站搜索推广出价多少合适
  • 卫浴毛巾架网站建设网站查询平台官网