自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

转载 final finally finalize区别

final 有什么用?用于修饰类、属性和方法;被final修饰的类不可以被继承 被final修饰的方法不可以被重写 被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的final finally finalize区别final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表示该变量是一个常量不能被重新赋值。 finally一般作用在try-catch代码块中,在处理异常的时候,

2020-07-06 21:50:04 183 1

转载 NIO(New IO)

Java NIO(New IO或 Non Blocking IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。java IO 与 java NIO 的区别一、通道(Channel)与缓冲区(Buffer)若需要使用 NIO 系统,需要获取用于连接 IO 设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理。简而言之,Channel 负责传输, B

2020-07-06 19:49:44 223

原创 ActiveMQ_12 ActiveMQ的消息存储和持久化

1.介绍(1)此处持久化和之前的持久化的区别MQ高可用:事务、可持久、签收,是属于MQ自身特性,自带的。这里的持久化是外力,是外部插件。之前讲的持久化是MQ的外在表现,现在讲的的持久是是底层实现。(2)是什么:官网文档:http://activemq.apache.org/persistence持久化是什么?一句话就是:ActiveMQ宕机了,消息不会丢失的机制。说明:为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一半都会采用持久化机制。ActiveMQ的消息持

2020-07-06 10:10:05 171 1

转载 ActiveMQ_11 ActiveMQ的传输协议

1.简介ActiveMQ支持的client-broker通讯协议有:TVP、NIO、UDP、SSL、Http(s)、VM。其中配置Transport Connector的文件在ActiveMQ安装目录的conf/activemq.xml中的<transportConnectors>标签之内。activemq传输协议的官方文档:http://activemq.apache.org/configuring-version-5-transports.html这些协议参见文件:%activeM

2020-07-05 15:24:39 323

原创 ActiveMQ_10 SpringBoot整合ActiveMQ

我个人不太赞成使用这种方式SpringBoot整合ActiveMQ,因为这样做会失去原生代码的部分功能和灵活性。但是工作中,这种做能够满足我们常见的需求,也方便和简化我们的代码,也为了适应工作中大家的习惯。课程的源码:https://github.com/elstic/ActiveMQ1.queue生产者项目源码地址:https://github.com/elstic/ActiveMQ/tree/master/boot_mq_produce(1)新建项目略(2)pom.xml&l

2020-07-05 14:49:06 116

原创 ActiveMQ_09 Spring整合ActiveMQ

我个人的理解:我们之前介绍的内容也很重要,他更灵活,他支持各种自定义功能,可以满足我们工作中复杂的需求。很多activemq的功能,我们要看官方文档或者博客,这些功能大多是在上面代码的基础上修改完善的。如果非要把这些功能强行整合到spring,就有些缘木求鱼了。我认为另一种方式整合spring更好,就是将上面的类注入到Spring中,其他不变。这样既能保持原生的代码,又能集成到spring。下面我们将的Spring和SpringBoot整合ActiveMQ也重要,他给我们提供了一个模板,简化了代码,减少

2020-07-05 14:37:21 106

原创 ActiveMQ_08 ActiveMQ的broker

(1) broker是什么相当于一个ActiveMQ服务器实例。说白了,Broker其实就是实现了用代码的形式启动ActiveMQ将MQ嵌入到Java代码中,以便随时用随时启动,在用的时候再去启动这样能节省了资源,也保证了可用性。这种方式,我们实际开发中很少采用,因为他缺少太多了东西,如:日志,数据存储等等。(2) 启动broker时指定配置文件启动broker时指定配置文件,可以帮助我们在一台服务器上启动多个broker。实际工作中一般一台服务器只启动一个broker。(3) 嵌入式的

2020-07-05 14:28:05 214

原创 ActiveMQ_07 JMS总结

1.JMS的点对点总结点对点模型是基于队列的,生产者发消息到队列,消费者从队列接收消息,队列的存在使得消息的异步传输成为可能。和我们平时给朋友发送短信类似。如果在Session关闭时有部分消息己被收到但还没有被签收(acknowledged),那当消费者下次连接到相同的队列时,这些消息还会被再次接收队列可以长久地保存消息直到消费者收到消息。消费者不需要因为担心消息会丢失而时刻和队列保持激活的连接状态,充分体现了异步传输模式的优势2.JMS的发布订阅总结(1)JMS的发布订阅总结JMS

2020-07-05 13:55:27 120

原创 ActiveMQ_06 消息的签收机制

一、签收的几种方式① 自动签收(Session.AUTO_ACKNOWLEDGE):该方式是默认的。该种方式,无需我们程序做任何操作,框架会帮我们自动签收收到的消息。② 手动签收(Session.CLIENT_ACKNOWLEDGE):手动签收。该种方式,需要我们手动调用Message.acknowledge(),来签收消息。如果不签收消息,该消息会被我们反复消费,只到被签收。③ 允许重复消息(Session.DUPS_OK_ACKNOWLEDGE):多线程或多个消费者同时消费到一个消息,因为线程不

2020-07-05 13:52:36 299

原创 ActiveMQ_05 消息的事务性

(1)生产者开启事务后,执行commit方法,这批消息才真正的被提交。不执行commit方法,这批消息不会提交。执行rollback方法,之前的消息会回滚掉。生产者的事务机制,要高于签收机制,当生产者开启事务,签收机制不再重要。(2)消费者开启事务后,执行commit方法,这批消息才算真正的被消费。不执行commit方法,这些消息不会标记已消费,下次还会被消费。执行rollback方法,是不能回滚之前执行过的业务逻辑,但是能够回滚之前的消息,回滚后的消息,下次还会被消费。消费者利用commit和ro..

2020-07-05 13:36:06 156

原创 ActiveMQ_04 消息的持久化

1.什么是持久化消息?保证消息只被传送一次和成功使用一次。在持久性消息传送至目标时,消息服务将其放入持久性数据存储。如果消息服务由于某种原因导致失败,它可以恢复此消息并将此消息传送至相应的消费者。虽然这样增加了消息传送的开销,但却增加了可靠性。我的理解:在消息生产者将消息成功发送给MQ消息中间件之后。无论是出现任何问题,如:MQ服务器宕机、消费者掉线等。都保证(topic要之前注册过,queue不用)消息消费者,能够成功消费消息。如果消息生产者发送消息就失败了,那么消费者也不会消费到该消息。2.

2020-07-05 13:21:13 115

原创 ActiveMQ_03 JMS规范

1.JMS是什么?什么是Java消息服务?Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持Java应用程序开发。在JavaEE中,当两个应用程序使用JMS进行通信时,它们之间不是直接相连的,而是通过一个共同的消息收发服务组件关联起来以达到解耦/异步削峰的效果。2.消息头JMS的消息头有哪些属性:JMSDestination:消息目的地JMSDeliveryMode:消息持久化模式JM

2020-07-05 12:50:26 91

原创 ActiveMQ_02 入门案例、MQ标准、API详解

1.pom.xml导入依赖<dependencies> <!-- activemq 所需要的jar 包--> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.15.9</version> </dep

2020-07-05 12:27:29 191

原创 JVM_02 类加载子系统

JVM架构图1.类加载子系统作用类加载子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。 加载的类信息存放于一块成为方法区的内存空间。除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。1.1类加载器ClassLoader角色1.2加载

2020-07-04 00:14:56 130

原创 JVM_03 运行时数据区1-[程序计数器+虚拟机栈+本地方法栈]

目录1-运行时数据区内部结构概述关于线程间共享的说明2-线程JVM系统线程3-程序计数器(PC寄存器)1.PC Register介绍2.举例说明3.两个常见问题4.CPU时间片4-虚拟机栈1.虚拟机栈该概述虚拟机栈出现的背景初步印象内存中的栈与堆虚拟机栈基本内容主要特点面试题:开发中遇到的一场有哪些?设置栈内存大小2.栈的存储单位栈中存储什么?栈运行原理3.栈帧的内部结构1-运行时数据区内部结构概述下面这

2020-07-03 14:57:46 230

SpringCloud2018(1).mmap

SpringCloud2018(1).mmap

2021-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除