00. 问题背景先看下下面的代码是否有问题: 12345678910111213141516171819202122public static JSONObject parseConfig(String configStr) { JSONObject config = new JSONObject...
0. 前言在微服务系统中,各个域都有自己的服务模块承接。同时,在后端的Facade层中,会负责聚合各种微服务,然后再把聚合的结果返回给上游。在聚合的过程中,可能聚合的数据源不是互相依赖的,那么我们就可以转串行为并行,来提高Facade服务的RT。举个栗子:营销系统判断该用户是否有权限领券,在判断权限的过程中,需要...
最近在应用场景中需要用线程池开多线程,但是有时候通过日志和监控会发现,异步线程的任务突然停止,搞得我排查起来一脸懵逼,无从下手,后来师兄帮我翻业务代码才发现,原来是新线程里的任务抛出运行时异常了,导致我开的用户线程直接“跪”了。那么为什么线程池中的线程不会将异常抛出来呢,抛出异常的线程又会是什么状态呢?此贴特地分...
最近在开发过程中遇到了一个非常令人费解的情况,排查了将近一早上还没找到头绪,还是在师兄的帮助下,才发现了问题。 问题复现先看一段代码: 1234567// 调用远程RPC方法,获取mapMap<String, Object> map = remoteMethod.queryMap();// 如果包含对...
最近刚把莫言的生死疲劳看完,确切的说,是利用上下班通勤时间听完的。整篇小说通读下来,感觉就是一个字,顺畅。当然,这个顺畅不是从跌宕起伏的情节出发,而是从文章的构造出发,以蓝千岁的话开始,又以蓝千岁的话结束,形成了一个完美的循环。不得不说正篇文章的构造极为巧妙。。但是不得不说,在文章后半段,主角身边的亲朋好友纷纷死...
计算机在互联网中的应用,主要就是对于业务数据的存储,加工,以及展示。存储对应着大数据,加工对应着Web服务,至于展示则对应着包括H5,PC,iPhone&Android在内的各端开发 就单单针对于Web服务来说,它是复杂业务的主要承担者,因为互联网的飞快发展,所以Web服务也发展的很快,从单点到集群到Mi...
我把业务代码的开发分为效率和性能两个部分,对于效率来说,又可以分为开发提效和架构提效。本章是结合《Effective Java》加上我平时的工作经验得出的一些Java编程技巧,用于开发提效。 对象的创建和销毁1. 静态工厂方法静态工厂方法可以方便的构造一个简单实例,使得代码更易读,不用每次都创建对象。 123pu...
年关将至,此时的我,正在返乡的火车上,在硬卧上辗转反侧,深夜难寐,无奈只好掏出电脑,总结下我不愿回顾的2021。没想到2021年这么快就过去了。之前一直拖着不想写年中总结,觉得未来虚无缥缈,没有写年终的动力,但是一直拖延下去也不好,所以还是总结一下。一方面是为了总结下2021,看看2020许的愿望,有没有完成的,...