如何使用 Apache CXF 快速实现一个 WebService
在单体架构向分布式架构演进的过程中,跨进程的通信成为刚需,如果直接利用 Socket 进行通信,那么就会使得编程变得很复杂。 在 1984 年,Bruce Jay Nelson 提出了跨进程通信的标准,也就是我们通常说的 RPC(Remot...
在单体架构向分布式架构演进的过程中,跨进程的通信成为刚需,如果直接利用 Socket 进行通信,那么就会使得编程变得很复杂。 在 1984 年,Bruce Jay Nelson 提出了跨进程通信的标准,也就是我们通常说的 RPC(Remot...
对象是 Java 世界的一等公民,所有的对象都是引用类型。除了 8 种基本的数据类型之外,其他的都是对象。 JVM 和垃圾回收 在开始讨论引用之前,首先需要了解一下 JVM 和垃圾回收。Java 与 C 语言等不同,C 语言代码经过编译器编...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
程序总会出错,出错了就需要处理。Java 中提供了很完备的异常处理机制,可以根据自己需要进行定制。 Java 按照问题的严重程度进行分类,分成 Error和 Exception。Exception 又可以分成 CheckedExceptio...
上篇文章已经讲过了 RingBuffer 了, RingBuffer 是消息的容器,但是 Disruptor 中最复杂的部分在于如何并发控制消息的增加和消费,而这部分由 Senquencer 来完成。 这篇文章基于 Disruptor 官方...
日志对大型系统很重要,在排查系统问题的时候,主要依靠日志。 日志很重要,但又能不影响程序的性能,比如一个接口的响应时间本来是 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: 这个...