随笔分类 -  Java

摘要:背景 反射在Java中非常重要,是Java区别于其他编程语言的一大特性。Java中的AOP切面、动态代理等看起来像黑魔法一样的技术,就离不开反射、字节码等。这些技术能在不侵入原有代码的情况下,做一些增强的非功能性需求。多提一句,千万不要把业务逻辑放在AOP切面、动态代理里,否则后人绝对会骂。 AOP 阅读全文
posted @ 2022-08-13 18:08 Java烘焙师 阅读(792) 评论(1) 推荐(0) 编辑
摘要:通常,如果我们要在程序中做一个耗时的操作(例如调用其他外部模块),一般会通过异步的方式执行。使用Spring @Async注解,修饰在需要异步执行的方法上,即可方便地让代码在新线程中异步执行。 对于Spring @Async注解的方法,如何进行异常处理呢?楼主想到了2种方法。方法一:配置AsyncUncaughtExceptionHandler(对于无返回值的方法), 方法二:通过AsyncResult捕获异常(对于有返回值的方法) 阅读全文
posted @ 2017-10-28 16:26 Java烘焙师 阅读(11278) 评论(0) 推荐(2) 编辑
摘要:平时大家的工作一般是基于开发框架进行的(比如Spring MVC,或Spring Boot),所以会有相应特定的异常处理方法,这篇文章要介绍的就是web应用中的异常处理。 想快速解决问题的小伙伴可以只看“解决办法”,想进一步了解细节的小伙伴还可以看“深入剖析”部分。 阅读全文
posted @ 2017-10-01 11:35 Java烘焙师 阅读(1351) 评论(0) 推荐(1) 编辑
摘要:在普通的单线程程序中,捕获异常只需要通过try ... catch ... finally ...代码块就可以了。那么,在并发情况下,比如在父线程中启动了子线程,如何正确捕获子线程中的异常,从而进行相应的处理呢? 也许有人会觉得,很简单嘛,直接在父线程启动子线程的地方try ... catch一把就可以了,其实这是不对的。楼主想到了3种通用解决办法,分享给大家。 阅读全文
posted @ 2017-09-25 23:40 Java烘焙师 阅读(16085) 评论(0) 推荐(8) 编辑

点击右上角即可分享
微信分享提示