RabbitMQ&Java使用说明 RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。 RabbitMQ安装 docker一键安装 # 拉去镜像(后缀为manage...
JVM虚拟机 - 垃圾回收与内存分配
1. 概述 判断对象状态:介绍JVM是如何判断判断对象的状态(即一个对象是否应该被回收) 垃圾回收算法:回收对象的几种算法 垃圾回收器:JVM现有的几种垃圾回收器 2. 判断对象状态 2.1 引用计数法 很多教科书判断对象是否存活的算法是这样的:在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的...
JVM虚拟机 - JVM内存管理
1.JVM 内存概述 程序计数器 Java虚拟机栈(Stack Frame)栈帧 本地方法栈 堆(Heap):JVM管理的最大一块内存空间 运行时常量池(Runtime Constant Pool) 直接内存(Direct Memory) 2.程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间...
JVM虚拟机 - 字节码分析
Java字节码分析 Java字节码整体结构 类型 名称 数量(字节) u4 magic(魔数) 1 u2 minor_version(次版本号) 1 u2 major_...
JVM虚拟机 - 类的双亲委托模型
类的双亲委托机制 有一个类(A.class)需要类加载器去加载,如果有父类,先让父类去加载,如此向上追溯,知道根 类加载器,然后根类加载器尝试去加载,加载成功则结束,加载失败,又往下,一层层的尝试去加载,最终如果都没有加载成功,则报错 classnotfound; 但是并不是所有的jvm都是这样,hotspot遵循这样规则。 类加载时的动作 隐式装载, 程序在运行过程...
Flink - Flink编程结构
Flink程序结构 概述 任何程序都是需要有输入、处理、输出。 那么Flink同样也是,Flink专业术语对应Source,map,Sink。而在进行这些操作前,需要根据需求初始化运行环境 执行环境 Flink 执行模式分为两种,一个是流处理、另一个是批处理。再选择好执行模式后,为了开始编写Flink程序,需要根据需求创建一个执行环境。Flink目前支持三种环境的创建方式: ...
Flink - Flink架构概述
Flink概述 1.Flink架构 至下而上: Deploy(部署):Flink 支持本地运行、能在独立集群或者在被 YARN 或 Mesos 管理的集群上运行, 也能部署在云上,即一共有三种部署模式:本地部署、Yarn模式、远程模式。 Runtim(运行):Flink 的核心是分布式流式数据引擎,意味着数据以一次一个事件的形式被处理。 API:Dat...
JVM虚拟机 - 类的加载、连接、初始化
类的加载、连接、初始化 在Java代码中,类型的加载、连接和初始化过程都是在程序运行期间完成的 由此提供了更大的灵活性以及更多的可能性 加载:查找并加载二进制类 连接 验证:确保加载类的正确性 类文件的结构检测 语义检测 字节码验证 二进制兼...
设计模式 - 行为型模式
结构型模式 行为型模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。 行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。 通过行为型模式,可以更加清晰地划分类与对象的职责,并研究系统在运行时实例对象 之间的交互。在系统运行时,对象并不是孤立的,它们可以通过相互通信与协作完成某些复杂功能,一个对象在运行时也将影响到其他...
设计模式 - 结构型模式
结构型模式 结构型模式(Structural Pattern)描述如何将类或者对 象结合在一起形成更大的结构,就像搭积木,可以通过 简单积木的组合形成复杂的、功能更为强大的结构。 结构型模式可以分为类结构型模式和对象结构型模式: 类结构型模式关心类的组合,由多个类可以组合成一个更大的 系统,在类结构型模式中一般只存在继承关系和实现关系。 - 对象结构...