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

网站新建需要多久自己开公司需要什么流程

网站新建需要多久,自己开公司需要什么流程,建设电子商务网站论文,大学专业宣传网站开发课题意义编写 Java 程序时, 如何在 Java 中创建死锁并修复它#xff1f; 经典但核心Java面试问题之一。 如果你没有参与过多线程并发 Java 应用程序的编码#xff0c;你可能会失败。 如何避免 Java 线程死锁#xff1f; 如何避免 Java 中的死锁#xff1f;是 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://www.hkea.cn/news/14446718/

相关文章:

  • 网网站建设与制作ipad wordpress 应用
  • 版式设计模板网站营销网络建设将给三夫户外带来哪些有益的影响?
  • 浙江高端网站重庆市城乡建设施工安全管理总站网站
  • 单位网站建设的重要性上海网站建站
  • 长沙网站推广平台批量更新wordpress文章
  • 网站建设总结ppt山东平台网站建设平台
  • 做网站带源码软件-dw门户网站宣传方案
  • .net 企业网站源码网站规划的解释
  • 公司内部网站开发兰溪好品质高端网站设计
  • 网站布局设计怎么写网站做视频的软件有哪些
  • 郑州模板建站多少钱网站建设套模板下载
  • 美工需要的网站电子商务网站建设第一章课后
  • 昆明网上商城网站建设有做网站维护的
  • 怎样建个网站网站推广优化排名教程
  • 手机网站开发基础盘锦做网站电话
  • 软件开发 网站建设 游戏开发seo网站案例
  • 网站开发项目报告书专业竞价托管哪家好
  • 网站单页面可以做302跳转吗手机网站免费生成
  • html网页源码下载湖南有实力的关键词优化
  • 适合穷人的18个创业项目太原优化网站排名
  • 安徽网站建设公司哪家好推荐好用的浏览器
  • 上海大型网站建设织梦cms同步wordpress
  • 微信网站模板广州做网站费用
  • 陇西网站建设 室内设计企业营销的网站
  • 太原模板建站平台网站上放个域名查询
  • 成都摄影网站建设wordpress有哪些小工具
  • 长沙市制作企业网站公司石家庄市住房城乡建设局网站
  • 专门做win7的网站手机棋牌游戏平台
  • 重庆网站建设哪家公司哪家好网页界面设计想法
  • 龙岗网站建设排名骏域网络科技有限公司