首页
招文桃
取消

Exercises for Inner class

What is an inner class? Differentiate between member, local, and anonymous inner classes. An inner class declares inside a top-level class without a static modifier. Inner classes that...

Java 内部类

在这一篇文章,你将会学习到: 内部类是什么 如何声明内部类 如何声明成员、局部,以及匿名内部类 如何创建内部类的对象 什么是内部类? 我们知道类(class)是包(package)的成员(member)。即顶层类,直接放在包下面的类。例如以下这段代码: // TopLevel.java package io.zwt.innercla...

深入生成器设计模式

GoF 定义 Separate the construction of a complex object from its representation so that the same construction processes can create different representations. 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同表示...

Spring Boot的类

常见类的用途 SpringApplicationBuilder java.lang.Object ​ org.springframework.boot.builder.SpringApplicationBuilder Builder for SpringApplication and ApplicationContext instances with convenient fluent...

Spring Boot 消息

消息通信 最简单的消息机制,从A点到B点,通过某种信道传递消息,可以使一个简单的函数调用,一个socket连接,或者是一个HTTP请求。主要目的是发送端发送消息给接收端消费。 消息通信使用场景 下面列出一些消息通信常见的使用场景: 可靠送达 通常需要一些消息确认机制,如果中间有个Broker,消息生产者要通过一些确认,了解Broker确实收到了消息。同理在消费者段也需要给Bro...

Java线程间通信

生产者与消费者 一种典型的线程间通信的例子是涉及到生产者线程与消费者线程之间的关系。生产者生产数据项被消费者消费,每个被生产出的数据项被存放在共享的变量中。 想象线程以不同的速度运行,消费者可能来不及处理掉生产者之前生产出来并放到共享变量中的数据项。还有可能就是消费者消费速度太快了,未等到生产者产生数据就去取了。 为了克服这类问题,生产者线程必须等到它被通知之前生产的数据项已经被消费掉...

水密舱壁模式

水密舱壁模式是一类容错的应用程序设计。在水密舱壁模式架构中,应用程序的个组成元素被分隔到隔舱中,这样一旦其中一个出故障,其它部分仍能够运行。这是命名来自船体当中的分隔区域(水密舱壁)。如果一艘船的水密隔舱坏了,那么只是受损部位会进水(其它部分被隔开了),这样能够防止沉船。 场景与问题 一个基于云的应用程序可能包括多个服务,每个服务可能有一个或者多个消费者。一个服务超负荷或者出故障会...

Java Streams vs. Reactive Streams

Java: imperative + object-oriented Michael Feather: ​ “In OPP we encapsulate the moving parts; in FP we eliminate the moving parts.” List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6,...

Java虚方法调用

先回顾基本概念 Overloading and Overriding 主要需要总结的是: ​ When multiple overloaded methods are present, Java looks for the closest match first. It tries to find the following: Exact match by type Matc...

Java模块化

为了准备 1Z0-816,要学习一下 Java 11 的基础部分。 模块描述符语法 ModuleDeclaration: {Annotation} [open] module Identifier {. Identifier} {{ModuleDirective}} ModuleDirective: requires {RequiresModifier} Module...