Java 如何处理异常情况
程序总会出错,出错了就需要处理。Java 中提供了很完备的异常处理机制,可以根据自己需要进行定制。 Java 按照问题的严重程度进行分类,分成 Error和 Exception。Exception 又可以分成 CheckedExceptio...
程序总会出错,出错了就需要处理。Java 中提供了很完备的异常处理机制,可以根据自己需要进行定制。 Java 按照问题的严重程度进行分类,分成 Error和 Exception。Exception 又可以分成 CheckedExceptio...
上篇文章已经讲过了 RingBuffer 了, RingBuffer 是消息的容器,但是 Disruptor 中最复杂的部分在于如何并发控制消息的增加和消费,而这部分由 Senquencer 来完成。 这篇文章基于 Disruptor 官方...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
日志对大型系统很重要,在排查系统问题的时候,主要依靠日志。 日志很重要,但又能不影响程序的性能,比如一个接口的响应时间本来是 50 ms,结果加了日志之后,变成了 100 ms,这肯定没办法接受。 让日志不影响系统性能的方式有以下的思路: ...
日志对大型系统很重要,在排查系统问题的时候,主要依靠日志。 日志很重要,但又能不影响程序的性能,比如一个接口的响应时间本来是 50 ms,结果加了日志之后,变成了 100 ms,这肯定没办法接受。 让日志不影响系统性能的方式有以下的思路: ...
Disruptor 是一个开源并且高效的生产者-消费者框架,很难直接解释这个框架是做什么的,但是可以把这个框架理解成 Java 中的 BlockingQueue。这样理解起来是不是轻松多了,这就是一个生产者-消费者队列,只不过它的性能要比 ...
很多人对 <? extends T> 和 <? super T> 这两个泛型通配符的用法不清楚,经常会出现理解无法,下面来看一下到底如何正确的使用这个组合。 <? extends T> 先来看一段代码,以下的这...
文件拷贝是一个很常见的需求,无论是在程序中,还是日常使用计算机。在 Java 中,经常需要实现文件拷贝,而且有一种叫做零拷贝的技术,拷贝文件的效率非常高,在这篇文章中,我来来看一下零拷贝技术是怎么实现的。 文件拷贝 Java 中文件拷贝的方...
这是一篇译文,虽然写这篇文章时, Facebook 用户才增长到 5 亿,但是文章依然值得参考,毕竟即使在如今,用户能到 5 亿的应用依然凤毛麟角。 在 2010 年,Facebook 达到了一个里程碑,用户数超过了 5 亿。 PS: 这个...
最近排查了一个问题,是关于连接池的,服务的整体情况如下: A 服务是向外提供的 Http 服务,然后 A 服务中会调用 B 和 C,B 和 C 是两个 RPC 服务。 A 服务中通过 B 和 C 提供的 Client 来分别访问这两个服务。...
这是一篇译文,文章使用一个经营咖啡店的例子来讲解 Web 应用扩容会经历的几个阶段,很有意思,通俗易懂。 我有一个小咖啡店。 店铺的开销和资源成正比: 100平方英尺的店铺面积和公用设施,一个服务员,一台咖啡机。 店铺的容量: 同一时间只能...