Spring Cloud - 3.微服务发布与调用

Spring Cloud集成了Netflix OSS的多个项目,形成了spring-cloud-netflix项目。该项目包含多个子模块,这些子模块对集成的Netflix旗下的框架进行了封装,本文讲述其中一个重要的服务管理框架:Eureka。

Linux服务器 - 6.高级I/O函数

Linux提供了很多高级I/O函数,它们并不像Linux基础I/O函数(比如open和read)那么常用,但在特定条件下却表现出优秀的性能。与网络编程相关的可以分为三类:用于创建文件描述符的函数(包括pipe、dup/dup2函数)、用于读写数据的函数(包括readv/writev、sendfile、mmap/munmap、splice和tee函数)和用于控制I/O行为和属性的函数(包括fcntl函数)。

Linux服务器 - 5.网络编程基础API

本文主要从以下3个方面讨论Linux网络API:socket地址API、socket基础API和网络信息API。

Linux服务器 - 2.IP协议详解

IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。本文将从IP头部信息和IP数据报的路由和转发两个方面探讨IP协议。

Java高并发 - 23.Latch设计模式

在本文中,我们将介绍Latch(门阀)设计模式,该模式指定了一个屏蔽,只有所有的条件都达到满足的时候,门阀才能打开。

Java高并发 - 22.Balking设计模式

多个线程监控某个共享变量,A线程监控到共享变量发生变化后即将触发某个动作,但是此时发现有另外一个线程B已经针对该变量的变化开始了行动,A便放弃了准备开始的工作。我们把这样的线程间交互称为Balking(犹豫)设计模式。

Java高并发 - 21.线程上下文设计模式

开发过程中,经常会遇到上下文(context),比如structs2的ActionContext、Spring中的ApplicationContext。上下文是贯穿整个系统或阶段生命周期的对象,起哄包含了系统全局的一些信息,比如登录之后的用户信息、账号信息,以及在程序每一个阶段运行的数据。

Java高并发 - 20.Guarded Suspension设计模式

Suspension是“挂起”的意思,而Guarded则是“担保”的意思,连在一起就是确保挂起。当线程在访问某个对象时,发现条件不满足,就暂时挂起等待条件满足时再次访问。这一点与Balking设计模式刚好相反(Balking在遇到条件不满足时会放弃)。

Java高并发 - 19.future设计模式

Future设计模式提供了一种凭据式的解决方案。

Java高并发 - 18.不可变对象设计模式

无论是synchronized关键字还是显式锁Lock,都会牺牲系统的性能。可以在线程之间不共享资源状态,甚至将资源的状态设置为不可变。不可变对象的设计理念已经越来越流行,其中Actor模型以及函数式编程语言Clojure等都依赖于不可变对象的设计达到lock free。