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

2017做网站挣钱吗什么是优化设计

2017做网站挣钱吗,什么是优化设计,做搜狗手机网站快速排,wordpress清理提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、UncaughtExceptionHandler 是什么#xff1f;二、使用步骤1.通过try-catch捕捉子线程的问题2.非线程池设置3.线程池的情况下设置UncaughtExceptionHandler… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、UncaughtExceptionHandler 是什么二、使用步骤1.通过try-catch捕捉子线程的问题2.非线程池设置3.线程池的情况下设置UncaughtExceptionHandler 总结 前言 前些天在网上逛论坛的时候看到 UncaughtExceptionHandler 貌似从来没用过所以学习下 一、UncaughtExceptionHandler 是什么 /*** 当线程由于未捕获异常而突然终止时调用的处理程序接口。 * 当线程由于未捕获异常即将终止时Java虚拟机将使用getUncaughtExceptionHandler查询线程的* UncaughtExceptionHandler并调用处理程序的uncaughtException方法将线程和异常作为参数传递。* 如果线程未显式设置其UncaughtExceptionHandler则其ThreadGroup对象将充当其* UncaughtExceptionHandler。* 如果ThreadGroup对象对处理异常没有特殊要求它可以将调用转发给默认的未捕获异常处理程序。*/ public interface UncaughtExceptionHandler {/*** 方法该方法在给定线程由于给定的未捕获异常而终止时调用。 * Java虚拟机将忽略此方法引发的任何异常。 * 参数 * t–线程 * e–异常*/void uncaughtException(Thread t, Throwable e);} 这个描述看取来 就是给程序员一个钩子函数让程序可以感知到线程非正常关闭时的情况可以打日志 或者 啥操作 二、使用步骤 1.通过try-catch捕捉子线程的问题 public class Test {public static void main(String[] args) {try {Thread thread new Thread(new Task());thread.start();} catch (Exception e) {System.out.println(Exception: e.getMessage());}} }class Task implements Runnable {Overridepublic void run() {System.out.println(1 / 0);} } 输出 Exception in thread Thread-0 java.lang.ArithmeticException: / by zeroat com.example.demo.config.Task.run(ttt.java:33)at java.lang.Thread.run(Thread.java:745) 可以看到其实catch 并未捕捉到 异常而子线程的错误 抛出到虚拟机了 2.非线程池设置 通过设置线程的UncaughtExceptionHandler 则可以捕捉到异常 public class Test {public static void main(String args[]) {Thread thread new Thread(new Task());thread.setUncaughtExceptionHandler(new ExceptionHandlerDemo());thread.start();} }class ExceptionHandlerDemo implements Thread.UncaughtExceptionHandler {Overridepublic void uncaughtException(Thread t, Throwable e) {System.out.println(whp Exception: e.getMessage());} }class Task implements Runnable {Overridepublic void run() {System.out.println(1 / 0);} }输出 whp Exception: / by zero3.线程池的情况下设置UncaughtExceptionHandler public class testClass {public static void main(String[] args) throws ExecutionException, InterruptedException {ThreadPoolTaskExecutor executorService buildThreadPoolTaskExecutor();//这里注意先是execute ,如果是submit 则有些不同 需要get 才能出现错误executorService.execute(() - run(execute方法));}private static void run(String name) {String printStr 【thread-name: Thread.currentThread().getName() ,执行方式: name】;System.out.println(printStr);throw new RuntimeException(printStr ,出现异常);}private static ThreadPoolTaskExecutor buildThreadPoolTaskExecutor() {ThreadPoolTaskExecutor executorService new ThreadPoolTaskExecutor();executorService.setCorePoolSize(5);executorService.setMaxPoolSize(5);executorService.setQueueCapacity(10);executorService.setKeepAliveSeconds(10);executorService.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());executorService.setThreadFactory(new DefineThreadFactory(小王));executorService.initialize();return executorService;}}import io.netty.util.concurrent.DefaultThreadFactory;/*** 这里图简单 继承了一个ThreadFactory实现*/ public class DefineThreadFactory extends DefaultThreadFactory {public DefineThreadFactory(String poolName) {super(poolName);}Overridepublic Thread newThread(Runnable r) {Thread t super.newThread(r);//给生成的线程设置一个错误处理器t.setUncaughtExceptionHandler(new ExceptionHandler());return t;} }public class ExceptionHandler implements Thread.UncaughtExceptionHandler {Overridepublic void uncaughtException(Thread t, Throwable e) {System.out.println(defineException: e.getMessage());} } 输出 09:55:09.844 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 【thread-name:小王-1-1,执行方式:execute方法】 defineException: 【thread-name:小王-1-1,执行方式:execute方法】,出现异常 可以看到 线程池中工作线程 的错误也被捕捉到了 总结 UncaughtExceptionHandler API 提供了一个优雅的方式让我们可以处理线程的异常错误。
http://www.pierceye.com/news/379365/

相关文章:

  • 泉州市服务好的网站设计塘沽网吧开门了吗
  • 商城网站建设哪家公司好wordpress输出到模板
  • 建站报价网站建设培训学校
  • 杭州高端网站定制手机网站开发应注意
  • 深圳网站建设选云聚达做二手元器件那个网站查价格
  • 网站建设公司企业模板微网站开发制作
  • 北京网站制作计划合理的网站结构
  • 网站建设如何搭建框架兰州seo排名
  • 网站作为医院形象建设cms搭建网站
  • 如何做个购物网站网站开发好不好
  • wordpress国内打开速度慢东莞搜索seo关键词
  • 鹿泉建设网站广安市建设局官方网站
  • 用花生棒自己做网站如何看网站的浏览量
  • 大连网站排名电商线上培训
  • 做金融网站做简历的网站
  • 求网站建设合伙人wordpress子页面怎么修改密码
  • 怎样登录建设互联网站厦门海绵城市建设官方网站
  • 网站怎么做权重互联网平台推广怎么做
  • 网站建设如果登录失败男生和男生做污的视频网站
  • 备案ip 查询网站查询系统制作一个网站的成本
  • 微网站排版p9制作公司
  • 国产在线免费观看高甜电影推荐爱站网seo工具包
  • 建设银行官方网站首页入口建立网站如何推广
  • 网站登录界面图片用什么软件做wordpress qiniu
  • 设计素材网站好融资吗关键词排名怎么做好
  • 亚洲购物网站排名网站开发看掉一些功能
  • 网站开发 需求dnf盗号网站怎么做
  • 淘宝客免费网站建设宝塔搭建wordpress主机地址
  • 可以看网站的浏览器wordpress+博客+简书
  • 游戏源码网站免费网站模板有哪些内容