- 博客(24)
- 资源 (12)
- 收藏
- 关注
原创 RocketMQ启动多个Producer实例
RocketMQ启动过多个Producer实例,本质就是producer实例的问题方法一:采用RocketMQ 自身管理Producer实例,这种情况可以通过设置不同的InstanceName来实现。方法二:将Producer对象交给Spring管理,通过Spring容器生成两个不同的Producer实例。
2020-04-30 16:03:26 2191
原创 MQ同类产品对比以及选型-RocketMq的背后故事
2012年RocketMQ是阿里巴巴开源的消息中间件,着眼与用于交易核心消息的流转,做为阿里巴巴开源的消息中间件,主要面向有序消息场景能够提供更大的消息堆积能力,拉模式,消息持久化在磁盘。。阿里巴巴消息中间件起源于2001年的五彩石项目,Notify在这期间应运而生,用于交易核心消息的流转。到2012年RocketMQ正式开源RocketMQ名字的由来没有找到相关人的表述,...
2020-04-30 12:40:26 2669
原创 MQ同类产品对比以及选型-Kafka的背后故事
Kafka诞生于LinkedIn,使用Scala语言编写,目标是为处理实时数据提供一个统一、高通量、低等待的平台。Kafka设计之初是为了解决Linkedin公司数据管道(datapipe)问题(主要是监控和跟踪系统的需求,也就是日志)。截至2015年8月, Kafka帮助LinkedIn的使用量增长了超过1万亿条消息,每天消耗的数据超过1 PB。Kafka名字的由来 ...
2020-04-30 10:35:46 2698
原创 MQ同类产品对比以及选型-RabbitMQ的背后故事
RabbitMQ是采用Erlang语言实现的AMQP开源版本,用于解决JMS消息协议标准化使得大型系统之间应用程序之间的结合变动的脆弱(JMS的解耦特性)。为什么叫RabbitMQ 兔子行动非常迅速而且繁殖起来也非常疯狂,所以就把Rabbit用作这个分布式软件的命名----《RabbitMQ实战》。RabbitMQ产生背景1、消息队列系统最早由26岁孟买工程师...
2020-04-30 09:16:51 1277
原创 JMS接口API和技术规范
JMS(JAVA Message Service,java消息服务)API是Java平台上有关面向消息中间件(MOM)的技术规范,2001年6月25日sun公司发布第一个版本,后经过多次完善。它是一个接口和语义的集合,这些语义定义了应用程序组件基于JavaEE平台创建、发送、接收和读取消息的标准和规范。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。
2020-04-29 16:22:29 2869
原创 java快速创建List
嗯 创建方式跟JDK的版本有关,JAVA8中可以使用Arrays.asList,Java9中可以使用List.of。public static void main(String[] args) { // TODO Auto-generated method stub //1.使用Collections.addAll()方法,前提还是需要手动 new ArrayList Array...
2020-04-29 11:22:31 3612
原创 Java 8 使用lambda表达式和函数式接口
Java 8 在语言层面引入Lambda表达式,用以支持函数式编程风格。Lambda表达式使用五行代码转换为单个语句来解决匿名内部类的庞大性。 这个简单的水平解决方案解决了内部类提出的“垂直问题”。本文对lambda的介绍分为三个方面,语法、常规使用和综合应用三个部分。1.语法(参数类型 参数名称) ‐> { 代码语句 }:参数非必须,大括号非必须(对于返回值问题,没有大括号的时候表达式的执...
2020-04-29 11:12:48 903
原创 Java 中判断两个对象是否相等
嗯先铺垫一下Java中的相等问题,比较方法有equals和==,比较的方向有内容相等和对象相等。1.equals:只能比较对象,比较对象地址是否相等;可以重写equals方法,比如String重写equals方法改为内容是否相等。2.==:可以比较基础数据类型和对象,基础数据类型比较值是否相等,对象比较地址是否相等。看一个经典的问题,String的equals问题。public...
2020-04-28 18:21:08 2879 1
原创 XML解析中转义字符问题
XML中不允许出现一些特殊字符,这些字符需要使用转义字符代替.XML文件中不允许出现一些特殊字符,对这些特殊字符XML采用转义字符代替或者使用<![CDATA[ ]]>声明,<![CDATA[]]>标记所包含的内容为纯文本,不会进行转义;XML特殊字符显示结果 描述 转义字符 十进制 < 小于号 &...
2020-04-27 16:23:49 2813
原创 SAXParseException 前言中不允许有内容
项目中使用cml作为工作流配置文件,今天运行时一直报以下异常,折腾一番后总结为:读取文件异常,文件格式不符合要求或者文件编码不符合要求,检查一下读取的文件,如果没有问题的话,检查以下应用程序是否读取了其他不符合要求的文件。javax.xml.bind.UnmarshalException - with linked exception:[org.xml.sax.SAXParseExc...
2020-04-27 15:31:07 4703
原创 java反射遍历实体的所有属性名称和值-自定义和jdk自带类型
问题的产生是由于泛型方法中如果实体本身就是基础数据类型的类该如何对实体进行处理,首先上一段代码吧:/** * @param <T>:声明方法是一个泛型方法,T声明泛型类型 * @param T 声明返回类型 * @param classz:泛型类型的具体类型,体现“参数化” * @param classz * @return */public static...
2020-04-27 14:46:27 2837
原创 java泛型方法实现要点
java泛型是J2 SE1.5中引入的一个新特性,其本质是参数化类型。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。优点是类型安全、消除强制类型转换、提高的运行效率、潜在的性能收益。这里的重点是"参数化类型",这表明两个关键信息,一个是声明的是类型,第二个是声明的类型是由使用的参数决定。带返回值的泛型方法示例/** * @param &...
2020-04-27 14:19:08 1413
原创 Java 语言中xml和bean之间的相互转换(Try-with-resources)
XML 指可扩展标记语言,XML 被设计用来传输和存储数据,常用的场景是数据交换和信息配置。虽然后期随着信息技术的发展在数据交换场景的地位远不如从前,但是作为信息配置工具,特别是配置信息多和配置信息复杂的场景,依然有着比较广泛的应用。 然后闲话不多说,先上一段Java版本的xml和对象相互转换的代码。/** * java对象转换为xml文件 *...
2020-04-26 14:27:44 762
原创 Java -Byte[]和String之间的转换问题
Java语言中将字符串和字节数组之间相互转换的场景很多,比如我们常见的,socketChannel,netty,RocketMQ这类的应用在数据传输过程中都需要将字串转换为Byte数组,然后再将Byte数据转换为String。比如RSA,DES之类的加解密场景,也是需要对转换为Byte数据后进行。本文总结了Byte[]和String之间的转换原理以及实现。 首先来一段代...
2020-04-26 08:57:15 2036
原创 HashMap的两种遍历方法EntrySet或者KeySet性能分析
首先列举几种HashMap的遍历方法1.迭代器entrySet Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = en...
2020-04-24 10:56:46 2036
原创 Java动态代理三种实现模式
代理模式是指客户端通过代理对象访问实际对象的设计模式。通常我们在处理同一种类型的服务,这个服务的大部分都是相同的,只是在具体的细节上存在差异。这种情况为了避免重复处理相同的服务部分,我们就可以将具体实现细节抽象出来,通过代理实现,在整体结构上种类繁多的服务看起来如同只有一个服务,区别只是在于服务具体的细节不一样。Java提供三种方式实现动态代理:JDK代理,CGLIB和通过编译...
2020-04-24 09:16:55 1875 1
原创 git清除本地账号密码
git的使用分为两种ssh和http,清除本地账号密码首先需要确定使用的是哪种模式。查看模式命令如下:1.git config --list查看2.git remote -v查看如果是http模式可以运行一下两个命令实现1.查看本地安全策略(git config --list也可以查看,实际上这个命令可以查看所有了设置了)git config credential.helper...
2020-04-23 19:14:19 20185
原创 RocketMQ 消费者Consumer消息的消费策略
RocketMQ 消费者Consumer消息的消费策略简略记录一下消费者消费消息跟group和消息队列(准确点说是消息队列的offset)以及消费模式有关(以下未特别说明默认为集群模式)。1.对同一个group的消费者实例,每个消费者group只能消费一次消息。消费完成后移动消息队列的offset,保证其他消费者不会重复消费。2.多个Group消费者,每个group都会订阅一份消息,每个...
2020-04-23 11:27:06 2480
原创 RocketMQ生产者Producer启动时是否需要指定TOPIC
Producer启动是和Name Server建立连接不需要指定TOPIC,Producer发送消息需要和Broker(master)建立连接需要指定TOPIC。关于这个结论我们可以从Producer的使用和连接机制着手理解,理论结合实际嘛。启动代码和消息发送代码/*1.producer的配置 init-start方法在实例化对象的时候执行,通过配置文件我们可以直观的发现“...
2020-04-23 10:08:12 3064
原创 SpringBoot2.0以后MAVEN依赖问题
SpringBoot2.0以后MAVEN依赖问题,这里呢我记录一个自己踩的坑“Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/ErrorCoded。”=缺少spring-boot-starter-jdbc依赖。项目SpringBoot版本升级到2.2.6.RELE...
2020-04-22 15:55:41 3036
原创 Spring Boot2.0以上版本WebServerFactoryCustomizer进行WebServer的个性化配置
SpringBoot从1.5.3升级到2.1.6有不少问题,比较典型的一个是WebServer的个性化设置问题。在1.5.3中可以直接通过实行EmbeddedServletContainerCustomizer就可以方便设置。@ComponentScan(basePackages ={"******"})@SpringBootApplication(exclude={DataS...
2020-04-22 15:24:35 12347
原创 JDK源码解读-Map合并-HashMap的putAll方法
JDK1.8为Map提供了丰富的Map合并方法,包括Map中声明的putAll、merge方法,Stream API 提供的Stream.concat(),Stream.of(),以及Stream API 的增强库提供的append().toMap方法都提供了很好的解决方案。Stream的可以参考一下https://blog.csdn.net/w605283073/article/de...
2020-04-21 10:58:59 3050
原创 企业架构-数据服务总线思路
数据服务总线是快速数据集市构建工具,提供企业内部以及跨企业间不同业务主题之间数据共享和同步服务,设计的目的是对最终业务数据进行预处理,以减少业务复杂度提高访问效率。背景描述 在常规的业务系统中数据通常是分散存储,数据源的位置从同一个系统的不同服务,到不同系统的不同服务,以及到跨企业服务。直接导致请求链路增加,业务复杂度提高,系统稳定性降低。同时数据源分散也导致用...
2020-04-20 15:14:51 8562
Life-beyond-Distributed-Transactions.pdf
2020-05-08
pushlet+ajax 网页版聊天软件 服务器推送技术
2013-07-22
struts2.3.12+spring3.2+hibernate4.1.9 web网站框架
2013-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人